insmod: ERROR: could not insert module lin_mouse_drive.ko: Device or resource busy
] List item
#include
#include
#include
#include
#include
#include
/*
usb usb_driver,
*/
#if 1
static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_id *id)
{
printk(" ------>usb_mouse_probe
");
printk(KERN_INFO KBUILD_MODNAME " ------>usb_mouse_probe
");
return 0;
}
static void usb_mouse_disconnect(struct usb_interface *intf)
{
printk(KERN_INFO KBUILD_MODNAME " ------>usb_mouse_disconnect
");
}
static struct usb_device_id usb_mouse_id_table [] = {
{ USB_INTERFACE_INFO(USB_INTERFACE_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT,
USB_INTERFACE_PROTOCOL_MOUSE) },
/*
{
//USB_DEVICE( id, id); // usb
},
{} // Terminating entry
*/
};
#endif
static struct usb_driver usb_mouse_driver = {
.name = "usbmouse",
.probe = usb_mouse_probe,
.disconnect = usb_mouse_disconnect,
.id_table = usb_mouse_id_table,
};
static int __init usb_mouse_init(void)
{
int retval = usb_register(&usb_mouse_driver);
if (retval == 0)
printk(KERN_INFO "DRIVER_DESC
");
return retval;
}
static int __exit usb_mouse_exit(void)
{
usb_deregister(&usb_mouse_driver); //-------> ,
return 0;
}
module_init(usb_mouse_init);
module_exit(usb_mouse_exit);
MODULE_LICENSE("GPL"); //
MODULE_AUTHOR("lin"); //
MODULE_DESCRIPTION("usb mourse module test"); //
MODULE_ALIAS("no"); //
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.