Lines Matching refs:omap_kp

39 struct omap_kp {  struct
70 static void omap_kp_scan_keypad(struct omap_kp *omap_kp, unsigned char *state) in omap_kp_scan_keypad() argument
79 for (col = 0; col < omap_kp->cols; col++) { in omap_kp_scan_keypad()
83 udelay(omap_kp->delay); in omap_kp_scan_keypad()
94 struct omap_kp *omap_kp_data = (struct omap_kp *) data; in omap_kp_tasklet()
154 struct omap_kp *omap_kp = dev_get_drvdata(dev); in omap_kp_enable_store() local
166 enable_irq(omap_kp->irq); in omap_kp_enable_store()
168 disable_irq(omap_kp->irq); in omap_kp_enable_store()
180 struct omap_kp *omap_kp; in omap_kp_probe() local
194 omap_kp = kzalloc(struct_size(omap_kp, keymap, keycodemax), GFP_KERNEL); in omap_kp_probe()
196 if (!omap_kp || !input_dev) { in omap_kp_probe()
197 kfree(omap_kp); in omap_kp_probe()
202 platform_set_drvdata(pdev, omap_kp); in omap_kp_probe()
204 omap_kp->input = input_dev; in omap_kp_probe()
210 omap_kp->delay = pdata->delay; in omap_kp_probe()
217 omap_kp->rows = pdata->rows; in omap_kp_probe()
218 omap_kp->cols = pdata->cols; in omap_kp_probe()
223 timer_setup(&omap_kp->timer, omap_kp_timer, 0); in omap_kp_probe()
226 kp_tasklet.data = (unsigned long) omap_kp; in omap_kp_probe()
248 omap_kp->keymap, input_dev); in omap_kp_probe()
252 ret = input_register_device(omap_kp->input); in omap_kp_probe()
262 omap_kp_scan_keypad(omap_kp, keypad_state); in omap_kp_probe()
263 omap_kp->irq = platform_get_irq(pdev, 0); in omap_kp_probe()
264 if (omap_kp->irq >= 0) { in omap_kp_probe()
265 if (request_irq(omap_kp->irq, omap_kp_interrupt, 0, in omap_kp_probe()
266 "omap-keypad", omap_kp) < 0) in omap_kp_probe()
274 input_unregister_device(omap_kp->input); in omap_kp_probe()
284 kfree(omap_kp); in omap_kp_probe()
292 struct omap_kp *omap_kp = platform_get_drvdata(pdev); in omap_kp_remove() local
297 free_irq(omap_kp->irq, omap_kp); in omap_kp_remove()
299 timer_shutdown_sync(&omap_kp->timer); in omap_kp_remove()
303 input_unregister_device(omap_kp->input); in omap_kp_remove()
305 kfree(omap_kp); in omap_kp_remove()