locomokbd 112 drivers/input/keyboard/locomokbd.c static void locomokbd_scankeyboard(struct locomokbd *locomokbd) locomokbd 117 drivers/input/keyboard/locomokbd.c unsigned long membase = locomokbd->base; locomokbd 119 drivers/input/keyboard/locomokbd.c spin_lock_irqsave(&locomokbd->lock, flags); locomokbd 135 drivers/input/keyboard/locomokbd.c key = locomokbd->keycode[scancode]; locomokbd 137 drivers/input/keyboard/locomokbd.c input_report_key(locomokbd->input, key, pressed); locomokbd 148 drivers/input/keyboard/locomokbd.c locomokbd->suspend_jiffies + HZ)) locomokbd 150 drivers/input/keyboard/locomokbd.c if (locomokbd->count_cancel++ locomokbd 153 drivers/input/keyboard/locomokbd.c input_event(locomokbd->input, EV_PWR, locomokbd 155 drivers/input/keyboard/locomokbd.c locomokbd->suspend_jiffies = jiffies; locomokbd 157 drivers/input/keyboard/locomokbd.c locomokbd->count_cancel = 0; locomokbd 163 drivers/input/keyboard/locomokbd.c input_sync(locomokbd->input); locomokbd 167 drivers/input/keyboard/locomokbd.c mod_timer(&locomokbd->timer, jiffies + SCAN_INTERVAL); locomokbd 169 drivers/input/keyboard/locomokbd.c locomokbd->count_cancel = 0; locomokbd 171 drivers/input/keyboard/locomokbd.c spin_unlock_irqrestore(&locomokbd->lock, flags); locomokbd 179 drivers/input/keyboard/locomokbd.c struct locomokbd *locomokbd = dev_id; locomokbd 182 drivers/input/keyboard/locomokbd.c r = locomo_readl(locomokbd->base + LOCOMO_KIC); locomokbd 186 drivers/input/keyboard/locomokbd.c locomo_writel(r & ~0x0100, locomokbd->base + LOCOMO_KIC); /* Ack */ locomokbd 191 drivers/input/keyboard/locomokbd.c locomokbd_scankeyboard(locomokbd); locomokbd 200 drivers/input/keyboard/locomokbd.c struct locomokbd *locomokbd = from_timer(locomokbd, t, timer); locomokbd 202 drivers/input/keyboard/locomokbd.c locomokbd_scankeyboard(locomokbd); locomokbd 207 drivers/input/keyboard/locomokbd.c struct locomokbd *locomokbd = input_get_drvdata(dev); locomokbd 210 drivers/input/keyboard/locomokbd.c r = locomo_readl(locomokbd->base + LOCOMO_KIC) | 0x0010; locomokbd 211 drivers/input/keyboard/locomokbd.c locomo_writel(r, locomokbd->base + LOCOMO_KIC); locomokbd 217 drivers/input/keyboard/locomokbd.c struct locomokbd *locomokbd = input_get_drvdata(dev); locomokbd 220 drivers/input/keyboard/locomokbd.c r = locomo_readl(locomokbd->base + LOCOMO_KIC) & ~0x0010; locomokbd 221 drivers/input/keyboard/locomokbd.c locomo_writel(r, locomokbd->base + LOCOMO_KIC); locomokbd 226 drivers/input/keyboard/locomokbd.c struct locomokbd *locomokbd; locomokbd 230 drivers/input/keyboard/locomokbd.c locomokbd = kzalloc(sizeof(struct locomokbd), GFP_KERNEL); locomokbd 232 drivers/input/keyboard/locomokbd.c if (!locomokbd || !input_dev) { locomokbd 246 drivers/input/keyboard/locomokbd.c locomo_set_drvdata(dev, locomokbd); locomokbd 248 drivers/input/keyboard/locomokbd.c locomokbd->base = (unsigned long) dev->mapbase; locomokbd 250 drivers/input/keyboard/locomokbd.c spin_lock_init(&locomokbd->lock); locomokbd 252 drivers/input/keyboard/locomokbd.c timer_setup(&locomokbd->timer, locomokbd_timer_callback, 0); locomokbd 254 drivers/input/keyboard/locomokbd.c locomokbd->suspend_jiffies = jiffies; locomokbd 256 drivers/input/keyboard/locomokbd.c locomokbd->input = input_dev; locomokbd 257 drivers/input/keyboard/locomokbd.c strcpy(locomokbd->phys, "locomokbd/input0"); locomokbd 260 drivers/input/keyboard/locomokbd.c input_dev->phys = locomokbd->phys; locomokbd 271 drivers/input/keyboard/locomokbd.c input_dev->keycode = locomokbd->keycode; locomokbd 275 drivers/input/keyboard/locomokbd.c input_set_drvdata(input_dev, locomokbd); locomokbd 277 drivers/input/keyboard/locomokbd.c memcpy(locomokbd->keycode, locomokbd_keycode, sizeof(locomokbd->keycode)); locomokbd 279 drivers/input/keyboard/locomokbd.c set_bit(locomokbd->keycode[i], input_dev->keybit); locomokbd 283 drivers/input/keyboard/locomokbd.c err = request_irq(dev->irq[0], locomokbd_interrupt, 0, "locomokbd", locomokbd); locomokbd 289 drivers/input/keyboard/locomokbd.c err = input_register_device(locomokbd->input); locomokbd 296 drivers/input/keyboard/locomokbd.c free_irq(dev->irq[0], locomokbd); locomokbd 302 drivers/input/keyboard/locomokbd.c kfree(locomokbd); locomokbd 309 drivers/input/keyboard/locomokbd.c struct locomokbd *locomokbd = locomo_get_drvdata(dev); locomokbd 311 drivers/input/keyboard/locomokbd.c free_irq(dev->irq[0], locomokbd); locomokbd 313 drivers/input/keyboard/locomokbd.c del_timer_sync(&locomokbd->timer); locomokbd 315 drivers/input/keyboard/locomokbd.c input_unregister_device(locomokbd->input); locomokbd 320 drivers/input/keyboard/locomokbd.c kfree(locomokbd);