Messages in this thread | | | From | "John Appleby" <> | Subject | Serio keyboard issues 2.5.70 | Date | Wed, 4 Jun 2003 20:23:21 +0100 |
| |
Hi,
I'm trying to write a keyboard driver using serio/input on 2.5.70; more of a port of the existing 2.4 driver actually, but whatever.
I'm calling serio_register_device thus:
static struct serio_dev arckbd_dev = { .interrupt = arckbd_interrupt, .connect = arckbd_connect, .disconnect = arckbd_disconnect };
static int __init arckbd_init(void) { printk("input: Registering keyboard with serio\n"); serio_register_device(&arckbd_dev); return 0; }
And that printk is coming up fine. serio_register_device seems to add 0x021c2af8 to its tail, but then never finds my entry in list_for_each_entry and thus never calls dev->connect(). I've added some debugging to serio_register_device thus:
void serio_register_device(struct serio_dev *dev) { struct serio *serio; list_add_tail(&dev->node, &serio_dev_list); printk("serio: add_tail %08x\n",&dev->node); list_for_each_entry(serio, &serio_list, node) { printk("serio: register_device %08x\n",serio->dev); if (!serio->dev && dev->connect) { printk("serio: connecting...\n"); dev->connect(serio, dev); } } }
and I get nothing past "add_tail". I'd expect it to recognize my dev and attempt to connect to it.
Any ideas? I presume I'm being an idiot as per usual.
Thanks,
John
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |