ldusb.c (05668381140309088443bf5dc53add4104610fbb) | ldusb.c (066202dd48cf3296b6cc22b5fcf89aef33fa0efc) |
---|---|
1/** 2 * Generic USB driver for report based interrupt in/out devices 3 * like LD Didactic's USB devices. LD Didactic's USB devices are 4 * HID devices which do not use HID report definitons (they use 5 * raw interrupt in and our reports only for communication). 6 * 7 * This driver uses a ring buffer for time critical reading of 8 * interrupt in reports and provides read and write methods for --- 575 unchanged lines hidden (view full) --- 584 /* unlock the device */ 585 up(&dev->sem); 586 587exit: 588 return retval; 589} 590 591/* file operations needed when we register this driver */ | 1/** 2 * Generic USB driver for report based interrupt in/out devices 3 * like LD Didactic's USB devices. LD Didactic's USB devices are 4 * HID devices which do not use HID report definitons (they use 5 * raw interrupt in and our reports only for communication). 6 * 7 * This driver uses a ring buffer for time critical reading of 8 * interrupt in reports and provides read and write methods for --- 575 unchanged lines hidden (view full) --- 584 /* unlock the device */ 585 up(&dev->sem); 586 587exit: 588 return retval; 589} 590 591/* file operations needed when we register this driver */ |
592static struct file_operations ld_usb_fops = { | 592static const struct file_operations ld_usb_fops = { |
593 .owner = THIS_MODULE, 594 .read = ld_usb_read, 595 .write = ld_usb_write, 596 .open = ld_usb_open, 597 .release = ld_usb_release, 598 .poll = ld_usb_poll, 599}; 600 --- 204 unchanged lines hidden --- | 593 .owner = THIS_MODULE, 594 .read = ld_usb_read, 595 .write = ld_usb_write, 596 .open = ld_usb_open, 597 .release = ld_usb_release, 598 .poll = ld_usb_poll, 599}; 600 --- 204 unchanged lines hidden --- |