#include <linux/init.h>
#include <linux/serio.h>
+#define DRIVER_DESC "Newton keyboard driver"
+
MODULE_AUTHOR("Justin Cormack <j.cormack@doc.ic.ac.uk>");
-MODULE_DESCRIPTION("Newton keyboard driver");
+MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL");
#define NKBD_KEY 0x7f
}
-void nkbd_connect(struct serio *serio, struct serio_dev *dev)
+void nkbd_connect(struct serio *serio, struct serio_driver *drv)
{
struct nkbd *nkbd;
int i;
nkbd->dev.private = nkbd;
serio->private = nkbd;
- if (serio_open(serio, dev)) {
+ if (serio_open(serio, drv)) {
kfree(nkbd);
return;
}
kfree(nkbd);
}
-struct serio_dev nkbd_dev = {
- .interrupt = nkbd_interrupt,
- .connect = nkbd_connect,
- .disconnect = nkbd_disconnect
+struct serio_driver nkbd_drv = {
+ .driver = {
+ .name = "newtonkbd",
+ },
+ .description = DRIVER_DESC,
+ .interrupt = nkbd_interrupt,
+ .connect = nkbd_connect,
+ .disconnect = nkbd_disconnect,
};
int __init nkbd_init(void)
{
- serio_register_device(&nkbd_dev);
+ serio_register_driver(&nkbd_drv);
return 0;
}
void __exit nkbd_exit(void)
{
- serio_unregister_device(&nkbd_dev);
+ serio_unregister_driver(&nkbd_drv);
}
module_init(nkbd_init);