USB层转SCSI层
- kernel/drivers/usb/storage/uas.c
使用usb 的设备添加一个scsi设备
流程:module_usb_driver(uas_driver);
|
module_driver(__usb_driver, usb_register, usb_deregister)
|
usb_register(driver)
|
usb_register_driver(driver, …)
|
driver_register
/**
* usb_register_device_driver - register a USB device (not interface) driver
* @new_udriver: USB operations for the device driver
* @owner: module owner of this driver.
*
* Registers a USB device driver with the USB core. The list of
* unattached devices will be rescanned whenever a new driver is
* added, allowing the new driver to attach to any recognized devices.
*
* Return: A negative error code on failure and 0 on success.
*/
int usb_register_device_driver(struct usb_device_driver *new_udriver,
struct module *owner)
{
int retval = 0;
if (usb_disabled())
return -ENODEV;
new_udriver->drv