Friday, May 6, 2011

Suspend/wakeup for psmouse, atkbd device

Based on kernel 2.6.24

For PS2 mouse and PS2 keyboard. the driver is at:
/linuxsrc/driver/input/mouse/psmouse-base.c
/linuxsrc/driver/input/keyboard/atkbd.c

How does supend/wakeup works for mouse and drive?

/linuxsrc/kernel/power/main.c devince_suspend
->
/linuxsrc/driver/base/power/main.c call the driver of each device
->
/linuxsrc/driver/input/serio.c
serio_suspend() -> serio_cleanup()->
serio_resume() -> serio_reconnect_driver()-> 
->
/linuxsrc/driver/input/mouse/psmouse-base.c
/linuxsrc/driver/input/keyboard/atkbd.c
psmouse_cleanup(); atkbd_cleanup()
psmouse_reconnect(); atkbd_reconnect()

No comments: