Serio keyboard issues 2.5.70

From: John Appleby (john@dnsworld.co.uk)
Date: Wed Jun 04 2003 - 14:23:21 EST


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/



This archive was generated by hypermail 2b29 : Sat Jun 07 2003 - 22:00:24 EST