Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

struct_usb_device_driver(9) [centos man page]

STRUCT 
USB_DEVICE_DR(9) Host-Side Data Types and Macro STRUCT USB_DEVICE_DR(9) 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. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT USB_DEVICE_DR(9)

Check Out this Related Man Page

STRUCT 
CLASS(9) Device drivers infrastructure STRUCT CLASS(9) NAME
struct_class - device classes SYNOPSIS
struct class { const char * name; struct module * owner; struct class_attribute * class_attrs; struct device_attribute * dev_attrs; const struct attribute_group ** dev_groups; struct bin_attribute * dev_bin_attrs; struct kobject * dev_kobj; int (* dev_uevent) (struct device *dev, struct kobj_uevent_env *env); char *(* devnode) (struct device *dev, umode_t *mode); void (* class_release) (struct class *class); void (* dev_release) (struct device *dev); int (* suspend) (struct device *dev, pm_message_t state); int (* resume) (struct device *dev); const struct kobj_ns_type_operations * ns_type; const void *(* namespace) (struct device *dev); const struct dev_pm_ops * pm; struct subsys_private * p; }; MEMBERS
name Name of the class. owner The module owner. class_attrs Default attributes of this class. dev_attrs Default attributes of the devices belong to the class. dev_groups Default attributes of the devices that belong to the class. dev_bin_attrs Default binary attributes of the devices belong to the class. dev_kobj The kobject that represents this class and links it into the hierarchy. dev_uevent Called when a device is added, removed from this class, or a few other things that generate uevents to add the environment variables. devnode Callback to provide the devtmpfs. class_release Called to release this class. dev_release Called to release the device. suspend Used to put the device to sleep mode, usually to a low power state. resume Used to bring the device from the sleep mode. ns_type Callbacks so sysfs can detemine namespaces. namespace Namespace of the device belongs to this class. pm The default device power management operations of this class. p The private data of the driver core, no one other than the driver core can touch this. DESCRIPTION
A class is a higher-level view of a device that abstracts out low-level implementation details. Drivers may see a SCSI disk or an ATA disk, but, at the class level, they are all simply disks. Classes allow user space to work with devices based on what they do, rather than how they are connected or how they work. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT CLASS(9)
Man Page