struct usb_device_driver
Prev | Chapter 4. Host-Side Data Types and Macros | Next

## Name

struct usb_device_driver — identifies USB device driver to usbcore

## Synopsis

    struct usb_device_driver {
      const char * name;
      int (* probe) (struct usb_device *udev);
      void (* disconnect) (struct usb_device *udev);
      int (* suspend) (struct usb_device *udev, pm_message_t message);
      int (* resume) (struct usb_device *udev, pm_message_t message);
      struct usbdrv_wrap drvwrap;
      unsigned int supports_autosuspend:1;
    };

## Members

name

  The driver name should be unique among USB drivers, and should normally be the same as the module name.

probe

  Called to see if the driver is willing to manage a particular device. If it is, probe returns zero and uses `dev_set_drvdata` to associate driver-specific data with the device. If unwilling to manage the device, return a negative errno value.

disconnect

  Called when the device is no longer accessible, usually because it has been (or is being) disconnected or the driver's module is being unloaded.

suspend

  Called when the device is going to be suspended by the system.

resume

  Called when the device is being resumed by the system.

drvwrap

  Driver-model core structure wrapper.

supports_autosuspend

  if set to 0, the USB core will not allow autosuspend for devices bound to this driver.

## Description

USB drivers must provide all the fields listed above except drvwrap.

Prev | Up | Next
struct usb_driver | Home | struct usb_class_driver