diff options
Diffstat (limited to 'include/linux/device.h')
-rw-r--r-- | include/linux/device.h | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index 1a3686d15f98..7d9da4b4993f 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -28,6 +28,7 @@ | |||
28 | #define BUS_ID_SIZE 20 | 28 | #define BUS_ID_SIZE 20 |
29 | 29 | ||
30 | struct device; | 30 | struct device; |
31 | struct device_private; | ||
31 | struct device_driver; | 32 | struct device_driver; |
32 | struct driver_private; | 33 | struct driver_private; |
33 | struct class; | 34 | struct class; |
@@ -65,7 +66,7 @@ struct bus_type { | |||
65 | int (*resume_early)(struct device *dev); | 66 | int (*resume_early)(struct device *dev); |
66 | int (*resume)(struct device *dev); | 67 | int (*resume)(struct device *dev); |
67 | 68 | ||
68 | struct pm_ext_ops *pm; | 69 | struct dev_pm_ops *pm; |
69 | 70 | ||
70 | struct bus_type_private *p; | 71 | struct bus_type_private *p; |
71 | }; | 72 | }; |
@@ -133,7 +134,7 @@ struct device_driver { | |||
133 | int (*resume) (struct device *dev); | 134 | int (*resume) (struct device *dev); |
134 | struct attribute_group **groups; | 135 | struct attribute_group **groups; |
135 | 136 | ||
136 | struct pm_ops *pm; | 137 | struct dev_pm_ops *pm; |
137 | 138 | ||
138 | struct driver_private *p; | 139 | struct driver_private *p; |
139 | }; | 140 | }; |
@@ -198,7 +199,7 @@ struct class { | |||
198 | int (*suspend)(struct device *dev, pm_message_t state); | 199 | int (*suspend)(struct device *dev, pm_message_t state); |
199 | int (*resume)(struct device *dev); | 200 | int (*resume)(struct device *dev); |
200 | 201 | ||
201 | struct pm_ops *pm; | 202 | struct dev_pm_ops *pm; |
202 | struct class_private *p; | 203 | struct class_private *p; |
203 | }; | 204 | }; |
204 | 205 | ||
@@ -291,7 +292,7 @@ struct device_type { | |||
291 | int (*suspend)(struct device *dev, pm_message_t state); | 292 | int (*suspend)(struct device *dev, pm_message_t state); |
292 | int (*resume)(struct device *dev); | 293 | int (*resume)(struct device *dev); |
293 | 294 | ||
294 | struct pm_ops *pm; | 295 | struct dev_pm_ops *pm; |
295 | }; | 296 | }; |
296 | 297 | ||
297 | /* interface for exporting device attributes */ | 298 | /* interface for exporting device attributes */ |
@@ -365,17 +366,15 @@ struct device_dma_parameters { | |||
365 | }; | 366 | }; |
366 | 367 | ||
367 | struct device { | 368 | struct device { |
368 | struct klist klist_children; | ||
369 | struct klist_node knode_parent; /* node in sibling list */ | ||
370 | struct klist_node knode_driver; | ||
371 | struct klist_node knode_bus; | ||
372 | struct device *parent; | 369 | struct device *parent; |
373 | 370 | ||
371 | struct device_private *p; | ||
372 | |||
374 | struct kobject kobj; | 373 | struct kobject kobj; |
375 | char bus_id[BUS_ID_SIZE]; /* position on parent bus */ | 374 | char bus_id[BUS_ID_SIZE]; /* position on parent bus */ |
375 | unsigned uevent_suppress:1; | ||
376 | const char *init_name; /* initial name of the device */ | 376 | const char *init_name; /* initial name of the device */ |
377 | struct device_type *type; | 377 | struct device_type *type; |
378 | unsigned uevent_suppress:1; | ||
379 | 378 | ||
380 | struct semaphore sem; /* semaphore to synchronize calls to | 379 | struct semaphore sem; /* semaphore to synchronize calls to |
381 | * its driver. | 380 | * its driver. |
@@ -408,12 +407,13 @@ struct device { | |||
408 | /* arch specific additions */ | 407 | /* arch specific additions */ |
409 | struct dev_archdata archdata; | 408 | struct dev_archdata archdata; |
410 | 409 | ||
410 | dev_t devt; /* dev_t, creates the sysfs "dev" */ | ||
411 | |||
411 | spinlock_t devres_lock; | 412 | spinlock_t devres_lock; |
412 | struct list_head devres_head; | 413 | struct list_head devres_head; |
413 | 414 | ||
414 | struct klist_node knode_class; | 415 | struct klist_node knode_class; |
415 | struct class *class; | 416 | struct class *class; |
416 | dev_t devt; /* dev_t, creates the sysfs "dev" */ | ||
417 | struct attribute_group **groups; /* optional groups */ | 417 | struct attribute_group **groups; /* optional groups */ |
418 | 418 | ||
419 | void (*release)(struct device *dev); | 419 | void (*release)(struct device *dev); |
@@ -483,6 +483,17 @@ extern int device_rename(struct device *dev, char *new_name); | |||
483 | extern int device_move(struct device *dev, struct device *new_parent); | 483 | extern int device_move(struct device *dev, struct device *new_parent); |
484 | 484 | ||
485 | /* | 485 | /* |
486 | * Root device objects for grouping under /sys/devices | ||
487 | */ | ||
488 | extern struct device *__root_device_register(const char *name, | ||
489 | struct module *owner); | ||
490 | static inline struct device *root_device_register(const char *name) | ||
491 | { | ||
492 | return __root_device_register(name, THIS_MODULE); | ||
493 | } | ||
494 | extern void root_device_unregister(struct device *root); | ||
495 | |||
496 | /* | ||
486 | * Manual binding of a device to driver. See drivers/base/bus.c | 497 | * Manual binding of a device to driver. See drivers/base/bus.c |
487 | * for information on use. | 498 | * for information on use. |
488 | */ | 499 | */ |
@@ -553,13 +564,13 @@ extern const char *dev_driver_string(const struct device *dev); | |||
553 | #define dev_info(dev, format, arg...) \ | 564 | #define dev_info(dev, format, arg...) \ |
554 | dev_printk(KERN_INFO , dev , format , ## arg) | 565 | dev_printk(KERN_INFO , dev , format , ## arg) |
555 | 566 | ||
556 | #if defined(CONFIG_DYNAMIC_PRINTK_DEBUG) | 567 | #if defined(DEBUG) |
568 | #define dev_dbg(dev, format, arg...) \ | ||
569 | dev_printk(KERN_DEBUG , dev , format , ## arg) | ||
570 | #elif defined(CONFIG_DYNAMIC_PRINTK_DEBUG) | ||
557 | #define dev_dbg(dev, format, ...) do { \ | 571 | #define dev_dbg(dev, format, ...) do { \ |
558 | dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \ | 572 | dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \ |
559 | } while (0) | 573 | } while (0) |
560 | #elif defined(DEBUG) | ||
561 | #define dev_dbg(dev, format, arg...) \ | ||
562 | dev_printk(KERN_DEBUG , dev , format , ## arg) | ||
563 | #else | 574 | #else |
564 | #define dev_dbg(dev, format, arg...) \ | 575 | #define dev_dbg(dev, format, arg...) \ |
565 | ({ if (0) dev_printk(KERN_DEBUG, dev, format, ##arg); 0; }) | 576 | ({ if (0) dev_printk(KERN_DEBUG, dev, format, ##arg); 0; }) |