#include <linux/init.h>
#include <linux/serio.h>
+#define DRIVER_DESC "XT keyboard driver"
+
MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
-MODULE_DESCRIPTION("XT keyboard driver");
+MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL");
#define XTKBD_EMUL0 0xe0
return IRQ_HANDLED;
}
-void xtkbd_connect(struct serio *serio, struct serio_dev *dev)
+void xtkbd_connect(struct serio *serio, struct serio_driver *drv)
{
struct xtkbd *xtkbd;
int i;
serio->private = xtkbd;
- if (serio_open(serio, dev)) {
+ if (serio_open(serio, drv)) {
kfree(xtkbd);
return;
}
kfree(xtkbd);
}
-struct serio_dev xtkbd_dev = {
- .interrupt = xtkbd_interrupt,
- .connect = xtkbd_connect,
- .disconnect = xtkbd_disconnect
+struct serio_driver xtkbd_drv = {
+ .driver = {
+ .name = "xtkbd",
+ },
+ .description = DRIVER_DESC,
+ .interrupt = xtkbd_interrupt,
+ .connect = xtkbd_connect,
+ .disconnect = xtkbd_disconnect,
};
int __init xtkbd_init(void)
{
- serio_register_device(&xtkbd_dev);
+ serio_register_driver(&xtkbd_drv);
return 0;
}
void __exit xtkbd_exit(void)
{
- serio_unregister_device(&xtkbd_dev);
+ serio_unregister_driver(&xtkbd_drv);
}
module_init(xtkbd_init);