53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
|
#include <linux/init.h>
|
||
|
#include <linux/usb.h>
|
||
|
#include <linux/module.h>
|
||
|
|
||
|
#define USB_VENDOR_ID_CORSAIR 0x1b1c
|
||
|
#define USB_DEVICE_ID_LIGHTNING_NODE_PRO 0x0c0b
|
||
|
|
||
|
static int lnp_driver_probe(struct usb_interface *interface,
|
||
|
const struct usb_device_id *id)
|
||
|
{
|
||
|
pr_info("Détection USB pour Lightning Node Pro\n");
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
static struct usb_device_id lnp_driver_table[] = {
|
||
|
{ USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_LIGHTNING_NODE_PRO) },
|
||
|
{} /* Entrée de terminaison */
|
||
|
};
|
||
|
MODULE_DEVICE_TABLE(usb, lnp_driver_table);
|
||
|
|
||
|
static struct usb_driver lnp_driver = {
|
||
|
.name = "lightning-node-pro",
|
||
|
.id_table = lnp_driver_table,
|
||
|
.probe = lnp_driver_probe,
|
||
|
};
|
||
|
|
||
|
static int __init lnp_usb_driver_init(void)
|
||
|
{
|
||
|
int ret;
|
||
|
|
||
|
ret = usb_register(&lnp_driver);
|
||
|
if (ret < 0) {
|
||
|
pr_err("lnp_usb_driver: Impossible d'enregistrer le pilote pour %s. Code d'erreur: %d\n",
|
||
|
lnp_driver.name, ret);
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
static void __exit lnp_usb_driver_exit(void)
|
||
|
{
|
||
|
usb_deregister(&lnp_driver);
|
||
|
}
|
||
|
|
||
|
module_init(lnp_usb_driver_init);
|
||
|
module_exit(lnp_usb_driver_exit);
|
||
|
|
||
|
MODULE_LICENSE("GPL");
|
||
|
MODULE_AUTHOR("Florian RICHER <florian.richer@protonmail.com>");
|
||
|
MODULE_DESCRIPTION("Un module noyau pour utiliser le Lightning Node Pro LED");
|
||
|
MODULE_VERSION("1.0");
|