X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fbase%2Fbase.h;h=31dc0cd84afa2474c8f3a4a511e07c30ef1febe6;hb=39c1ffecc6aabcc8105602a95ce769f27bcf6048;hp=586c4ca7025292cc8451238db196e0438188c0d0;hpb=97ae69fdbaa71a8f7dbc20bf10fb349d1759152f;p=linux-2.6 diff --git a/drivers/base/base.h b/drivers/base/base.h index 586c4ca702..31dc0cd84a 100644 --- a/drivers/base/base.h +++ b/drivers/base/base.h @@ -40,12 +40,11 @@ struct driver_private { /** * struct class_private - structure to hold the private to the driver core portions of the class structure. * - * @subsys - the struct kset that defines this class. This is the main kobject - * @children - list of class_devices associated with this class + * @class_subsys - the struct kset that defines this class. This is the main kobject * @class_devices - list of devices associated with this class - * @interfaces - list of class_interfaces associated with this class - * @class_dirs - - * @sem - semaphore to protect the children, devices, and interfaces lists. + * @class_interfaces - list of class_interfaces associated with this class + * @class_dirs - "glue" directory for virtual devices associated with this class + * @class_mutex - mutex to protect the children, devices, and interfaces lists. * @class - pointer back to the struct class that this structure is associated * with. * @@ -54,14 +53,15 @@ struct driver_private { * core should ever touch these fields. */ struct class_private { - struct kset subsys; + struct kset class_subsys; struct list_head class_devices; - struct list_head interfaces; + struct list_head class_interfaces; struct kset class_dirs; - struct semaphore sem; + struct mutex class_mutex; struct class *class; }; -#define to_class(obj) container_of(obj, struct class_private, subsys.kobj) +#define to_class(obj) \ + container_of(obj, struct class_private, class_subsys.kobj) /* initialisation functions */ extern int devices_init(void);