2008年11月11日 星期二

Linux Input system

1. Register the keyboard driver (atkbd_drv) with serio bus.

serio_register_driver(&atkbd_drv)->driver_register()->bus_add_driver()->
driver_attach()->driver_probe_device()->serio_bus_match()->
serio_match_port() ->really_probe()->serio_driver_probe()->atkbd_connect()

2. Call input_allocate_device() and input_register_device() to add the keyboard device to device hierarchy done in atkbd_connect().

3. Call atkbd_enable() to enable keyboard device done in atkbd_connect(). Signal that interrupt handler (atkbd_interrupt()) can process the data passing from i8042 driver.


4. atkbd_interrupt() will receive the data passing from i8042 driver.

沒有留言: