No hardware that I know of supports rotary, and I would bet money this code is not tested. Let's remove it until we have hardware that requires this support.
Signed-off-by: Kristen Carlson Accardi <[email protected]> --- drivers/input/keyboard/intel_mid_keypad.c | 68 ----------------------------- 1 files changed, 0 insertions(+), 68 deletions(-) diff --git a/drivers/input/keyboard/intel_mid_keypad.c b/drivers/input/keyboard/intel_mid_keypad.c index 2679f96..e5d6d77 100644 --- a/drivers/input/keyboard/intel_mid_keypad.c +++ b/drivers/input/keyboard/intel_mid_keypad.c @@ -217,22 +217,6 @@ struct mrst_keypad { unsigned short keycode[MAX_MATRIX_KEY_NUM]; unsigned short direct_keycode[MAX_DIRECT_KEY_NUM]; - - /* rotary encoders 0 */ - int enable_rotary0; - int rotary0_rel_code; - int rotary0_up_key; - int rotary0_down_key; - - /* rotary encoders 1 */ - int enable_rotary1; - int rotary1_rel_code; - int rotary1_up_key; - int rotary1_down_key; - - int rotary_rel_code[2]; - int rotary_up_key[2]; - int rotary_down_key[2]; }; static void mrst_keypad_build_keycode(struct mrst_keypad *keypad) @@ -344,55 +328,6 @@ scan: memcpy(keypad->matrix_key_state, new_state, sizeof(new_state)); } -#define DEFAULT_KPREC (0x007f007f) - -static inline int rotary_delta(uint32_t kprec) -{ - if (kprec & KPREC_OF0) - return (kprec & 0xff) + 0x7f; - else if (kprec & KPREC_UF0) - return (kprec & 0xff) - 0x7f - 0xff; - else - return (kprec & 0xff) - 0x7f; -} - -static void report_rotary_event(struct mrst_keypad *keypad, int r, int delta) -{ - struct input_dev *dev = keypad->input_dev; - - if (delta == 0) - return; - - if (keypad->rotary_up_key[r] && keypad->rotary_down_key[r]) { - int keycode = (delta > 0) ? keypad->rotary_up_key[r] : - keypad->rotary_down_key[r]; - - /* simulate a press-n-release */ - input_report_key(dev, keycode, 1); - input_sync(dev); - input_report_key(dev, keycode, 0); - input_sync(dev); - } else { - input_report_rel(dev, keypad->rotary_rel_code[r], delta); - input_sync(dev); - } -} - -static void mrst_keypad_scan_rotary(struct mrst_keypad *keypad) -{ - unsigned int kprec; - - /* read and reset to default count value */ - kprec = keypad_readl(KPREC); - keypad_writel(KPREC, DEFAULT_KPREC); - - if (keypad->enable_rotary0) - report_rotary_event(keypad, 0, rotary_delta(kprec)); - - if (keypad->enable_rotary1) - report_rotary_event(keypad, 1, rotary_delta(kprec >> 16)); -} - static void mrst_keypad_scan_direct(struct mrst_keypad *keypad) { unsigned int new_state; @@ -401,9 +336,6 @@ static void mrst_keypad_scan_direct(struct mrst_keypad *keypad) kpdk = keypad_readl(KPDK); - if (keypad->enable_rotary0 || keypad->enable_rotary1) - mrst_keypad_scan_rotary(keypad); - if (!keypad->direct_key_num) { keypad->direct_key_state = 0; return; -- 1.7.3.1 _______________________________________________ MeeGo-kernel mailing list [email protected] http://lists.meego.com/listinfo/meego-kernel
