- #include <linux/init.h>
- #include <linux/module.h>
- #include <linux/slab.h>
- #include <linux/usb.h>
- #include <linux/mutex.h>
- #include <linux/ioctl.h>
- #include <asm/uaccess.h>
- static struct module this_module;
- static struct usb_driver driver;
- static struct usb_device_id device_table[];
- static int device_probe(struct usb_interface *intf, const struct usb_device_id *id);
- static void device_disconnect(struct usb_interface *intf);
- static struct usb_driver driver = {
- .name = "USB keyboard",
- .id_table = device_table,
- .probe = device_probe,
- .disconnect = device_disconnect,
- };
- static struct usb_device_id device_table[] = {
- { USB_DEVICE( 0x1997, 0x2433) },
- { }
- };
- static int device_probe(struct usb_interface *intf, const struct usb_device_id *id)
- {
- // called when device is connected
- return 0;
- }
- static void device_disconnect(struct usb_interface *intf)
- {
- // called when device is unplugged
- }
- static int __init mod_init(void)
- {
- // register our module with the usb system
- int check;
- char *mod_name = "USB Keyboard";
- check = usb_register_driver(&driver, &this_module, mod_name);
- if(check < 0) { printk("device failed to register"); return -1; }
- else { printk("device is registered!"); }
- return 0;
- }
- static void __exit mod_exit(void)
- {
- // cleanup
- usb_deregister(&driver);
- }
- module_init(mod_init);
- module_exit(mod_exit);
SHARE
TWEET
Untitled
a guest
Mar 19th, 2015
230
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
RAW Paste Data
