Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

struct_class(9) [centos 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)

Check Out this Related Man Page

STRUCT 
BUS_TYPE(9) Device drivers infrastructure STRUCT BUS_TYPE(9) NAME
struct_bus_type - The bus type of the device SYNOPSIS
struct bus_type { const char * name; const char * dev_name; struct device * dev_root; struct bus_attribute * bus_attrs; struct device_attribute * dev_attrs; struct driver_attribute * drv_attrs; const struct attribute_group ** bus_groups; const struct attribute_group ** dev_groups; const struct attribute_group ** drv_groups; int (* match) (struct device *dev, struct device_driver *drv); int (* uevent) (struct device *dev, struct kobj_uevent_env *env); int (* probe) (struct device *dev); int (* remove) (struct device *dev); void (* shutdown) (struct device *dev); int (* online) (struct device *dev); int (* offline) (struct device *dev); int (* suspend) (struct device *dev, pm_message_t state); int (* resume) (struct device *dev); const struct dev_pm_ops * pm; struct iommu_ops * iommu_ops; struct subsys_private * p; }; MEMBERS
name The name of the bus. dev_name Used for subsystems to enumerate devices like ("foou", dev->id). dev_root Default device to use as the parent. bus_attrs Default attributes of the bus. dev_attrs Default attributes of the devices on the bus. drv_attrs Default attributes of the device drivers on the bus. bus_groups Default attributes of the bus. dev_groups Default attributes of the devices on the bus. drv_groups Default attributes of the device drivers on the bus. match Called, perhaps multiple times, whenever a new device or driver is added for this bus. It should return a nonzero value if the given device can be handled by the given driver. uevent Called when a device is added, removed, or a few other things that generate uevents to add the environment variables. probe Called when a new device or driver add to this bus, and callback the specific driver's probe to initial the matched device. remove Called when a device removed from this bus. shutdown Called at shut-down time to quiesce the device. online Called to put the device back online (after offlining it). offline Called to put the device offline for hot-removal. May fail. suspend Called when a device on this bus wants to go to sleep mode. resume Called to bring a device on this bus out of sleep mode. pm Power management operations of this bus, callback the specific device driver's pm-ops. iommu_ops IOMMU specific operations for this bus, used to attach IOMMU driver implementations to a bus and allow the driver to do bus-specific setup p The private data of the driver core, only the driver core can touch this. DESCRIPTION
A bus is a channel between the processor and one or more devices. For the purposes of the device model, all devices are connected via a bus, even if it is an internal, virtual, "platform" bus. Buses can plug into each other. A USB controller is usually a PCI device, for example. The device model represents the actual connections between buses and the devices they control. A bus is represented by the bus_type structure. It contains the name, the default attributes, the bus' methods, PM operations, and the driver core's private data. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT BUS_TYPE(9)
Man Page