aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/device.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/device.h')
-rw-r--r--include/linux/device.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index fa9e6ca08f5a..73250d01c01f 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -143,6 +143,7 @@ extern void driver_remove_file(struct device_driver *, struct driver_attribute *
143 */ 143 */
144struct class { 144struct class {
145 const char * name; 145 const char * name;
146 struct module * owner;
146 147
147 struct subsystem subsys; 148 struct subsystem subsys;
148 struct list_head children; 149 struct list_head children;
@@ -185,6 +186,7 @@ struct class_device {
185 struct kobject kobj; 186 struct kobject kobj;
186 struct class * class; /* required */ 187 struct class * class; /* required */
187 dev_t devt; /* dev_t, creates the sysfs "dev" */ 188 dev_t devt; /* dev_t, creates the sysfs "dev" */
189 struct class_device_attribute *devt_attr;
188 struct device * dev; /* not necessary, but nice to have */ 190 struct device * dev; /* not necessary, but nice to have */
189 void * class_data; /* class-specific data */ 191 void * class_data; /* class-specific data */
190 192
@@ -245,6 +247,13 @@ struct class_interface {
245extern int class_interface_register(struct class_interface *); 247extern int class_interface_register(struct class_interface *);
246extern void class_interface_unregister(struct class_interface *); 248extern void class_interface_unregister(struct class_interface *);
247 249
250extern struct class *class_create(struct module *owner, char *name);
251extern void class_destroy(struct class *cls);
252extern struct class_device *class_device_create(struct class *cls, dev_t devt,
253 struct device *device, char *fmt, ...)
254 __attribute__((format(printf,4,5)));
255extern void class_device_destroy(struct class *cls, dev_t devt);
256
248/* interface for class simple stuff */ 257/* interface for class simple stuff */
249extern struct class_simple *class_simple_create(struct module *owner, char *name); 258extern struct class_simple *class_simple_create(struct module *owner, char *name);
250extern void class_simple_destroy(struct class_simple *cs); 259extern void class_simple_destroy(struct class_simple *cs);