hil_dev
static void hil_dev_handle_command_response(struct hil_dev *dev)
static void hil_dev_handle_kbd_events(struct hil_dev *kbd)
static void hil_dev_handle_ptr_events(struct hil_dev *ptr)
static void hil_dev_process_err(struct hil_dev *dev)
struct hil_dev *dev;
struct hil_dev *dev = serio_get_drvdata(serio);
static void hil_dev_keyboard_setup(struct hil_dev *kbd)
static void hil_dev_pointer_setup(struct hil_dev *ptr)
struct hil_dev *dev;
} hil_dev;
switch (hil_dev.data[0]) {
down = (hil_dev.data[1] & 1) == 0;
scode = hil_dev.data[1] >> 1;
input_report_key(hil_dev.dev, key, down);
hil_dev.curdev = 0;
if (hil_dev.curdev)
hil_dev.curdev = c & 7;
hil_dev.ptr = 0;
if (hil_dev.curdev) {
hil_dev.data[hil_dev.ptr++] = c;
hil_dev.ptr &= 15;
hil_dev.s = s;
hil_dev.c = c;
hil_dev.valid = 1;
guard(spinlock_irqsave)(&hil_dev.lock);
if (hil_dev.dev)
spin_lock_init(&hil_dev.lock);
hil_dev.dev = input_allocate_device();
if (!hil_dev.dev)
err = request_irq(HIL_IRQ, hil_interrupt, 0, "hil", hil_dev.dev_id);
hil_dev.valid = 0; /* clear any pending data */
wait_event_interruptible_timeout(hil_wait, hil_dev.valid, 3 * HZ);
if (!hil_dev.valid)
c = hil_dev.c;
hil_dev.valid = 0;
__set_bit(hphilkeyb_keycode[i], hil_dev.dev->keybit);
hil_dev.dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
hil_dev.dev->ledbit[0] = BIT_MASK(LED_NUML) | BIT_MASK(LED_CAPSL) |
hil_dev.dev->keycodemax = HIL_KEYCODES_SET1_TBLSIZE;
hil_dev.dev->keycodesize= sizeof(hphilkeyb_keycode[0]);
hil_dev.dev->keycode = hphilkeyb_keycode;
hil_dev.dev->name = "HIL keyboard";
hil_dev.dev->phys = "hpkbd/input0";
hil_dev.dev->id.bustype = BUS_HIL;
hil_dev.dev->id.vendor = PCI_VENDOR_ID_HP;
hil_dev.dev->id.product = 0x0001;
hil_dev.dev->id.version = 0x0010;
err = input_register_device(hil_dev.dev);
hil_dev.dev->name, kbid, HILBASE, HIL_IRQ);
free_irq(HIL_IRQ, hil_dev.dev_id);
input_free_device(hil_dev.dev);
hil_dev.dev = NULL;
free_irq(HIL_IRQ, hil_dev.dev_id);
input_unregister_device(hil_dev.dev);
hil_dev.dev = NULL;
if (hil_dev.dev)
hil_dev.dev_id = dev;
if (hil_dev.dev)