// SPDX-License-Identifier: GPL-2.0 #include #include #include #include /* On défini quels périphériques usb notre driver va pouvoir utiliser. */ static const struct usb_device_id mydriver_id_table[] = { /* ici pour un périphérique en particulier (VendorID:ProductID) */ {USB_DEVICE(0x03eb, 0x2042)}, /* Pour définir une classe d'interface usb. n'existe que pour les claviers et * les souris ? * cf. include/linux/usb.h:1039 et include/linux/uapi/linux/hid.h:{35,41,42} */ {USB_INTERFACE_INFO (USB_INTERFACE_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD)}, /* indique la fin de la liste */ {} }; /* exporte dans le userspace la table des périphériques supportés. Cela permet * de lier le périphérique avec le driver. */ MODULE_DEVICE_TABLE(usb, mydriver_id_table); static int __init my_init(void) { pr_info("Coucou le gens !!!!\n"); return 0; } static void __exit my_exit(void) { pr_info("Tschuss !!!\n"); } module_init(my_init); module_exit(my_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("rick "); MODULE_DESCRIPTION("Module chargé lorsqu'un clavier est branché.");