• Home
  • Raw
  • Download

Lines Matching refs:keypad

44 	struct st_keyscan *keypad = dev_id;  in keyscan_isr()  local
45 unsigned short *keycode = keypad->input_dev->keycode; in keyscan_isr()
49 state = readl(keypad->base + KEYSCAN_MATRIX_STATE_OFF) & 0xffff; in keyscan_isr()
50 change = keypad->last_state ^ state; in keyscan_isr()
51 keypad->last_state = state; in keyscan_isr()
54 input_report_key(keypad->input_dev, in keyscan_isr()
57 input_sync(keypad->input_dev); in keyscan_isr()
62 static int keyscan_start(struct st_keyscan *keypad) in keyscan_start() argument
66 error = clk_enable(keypad->clk); in keyscan_start()
70 writel(keypad->debounce_us * (clk_get_rate(keypad->clk) / 1000000), in keyscan_start()
71 keypad->base + KEYSCAN_DEBOUNCE_TIME_OFF); in keyscan_start()
73 writel(((keypad->n_cols - 1) << KEYSCAN_MATRIX_DIM_X_SHIFT) | in keyscan_start()
74 ((keypad->n_rows - 1) << KEYSCAN_MATRIX_DIM_Y_SHIFT), in keyscan_start()
75 keypad->base + KEYSCAN_MATRIX_DIM_OFF); in keyscan_start()
77 writel(KEYSCAN_CONFIG_ENABLE, keypad->base + KEYSCAN_CONFIG_OFF); in keyscan_start()
82 static void keyscan_stop(struct st_keyscan *keypad) in keyscan_stop() argument
84 writel(0, keypad->base + KEYSCAN_CONFIG_OFF); in keyscan_stop()
86 clk_disable(keypad->clk); in keyscan_stop()
91 struct st_keyscan *keypad = input_get_drvdata(dev); in keyscan_open() local
93 return keyscan_start(keypad); in keyscan_open()
98 struct st_keyscan *keypad = input_get_drvdata(dev); in keyscan_close() local
100 keyscan_stop(keypad); in keyscan_close()
222 struct st_keyscan *keypad = platform_get_drvdata(pdev); in keyscan_suspend() local
223 struct input_dev *input = keypad->input_dev; in keyscan_suspend()
228 enable_irq_wake(keypad->irq); in keyscan_suspend()
230 keyscan_stop(keypad); in keyscan_suspend()
239 struct st_keyscan *keypad = platform_get_drvdata(pdev); in keyscan_resume() local
240 struct input_dev *input = keypad->input_dev; in keyscan_resume()
246 disable_irq_wake(keypad->irq); in keyscan_resume()
248 retval = keyscan_start(keypad); in keyscan_resume()