diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-06 17:02:07 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-06 17:02:07 -0800 |
commit | 40d7ee5d162203b40b5f4fbb312ab016edddb97f (patch) | |
tree | 432db33df85f7f244676127a189a828dfbf2877b /drivers/base/base.h | |
parent | 5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8 (diff) | |
parent | b8ac9fc0e8cda9f9776019c5b0464b0c6d2d4c90 (diff) | |
download | lwn-40d7ee5d162203b40b5f4fbb312ab016edddb97f.tar.gz lwn-40d7ee5d162203b40b5f4fbb312ab016edddb97f.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (60 commits)
uio: make uio_info's name and version const
UIO: Documentation for UIO ioport info handling
UIO: Pass information about ioports to userspace (V2)
UIO: uio_pdrv_genirq: allow custom irq_flags
UIO: use pci_ioremap_bar() in drivers/uio
arm: struct device - replace bus_id with dev_name(), dev_set_name()
libata: struct device - replace bus_id with dev_name(), dev_set_name()
avr: struct device - replace bus_id with dev_name(), dev_set_name()
block: struct device - replace bus_id with dev_name(), dev_set_name()
chris: struct device - replace bus_id with dev_name(), dev_set_name()
dmi: struct device - replace bus_id with dev_name(), dev_set_name()
gadget: struct device - replace bus_id with dev_name(), dev_set_name()
gpio: struct device - replace bus_id with dev_name(), dev_set_name()
gpu: struct device - replace bus_id with dev_name(), dev_set_name()
hwmon: struct device - replace bus_id with dev_name(), dev_set_name()
i2o: struct device - replace bus_id with dev_name(), dev_set_name()
IA64: struct device - replace bus_id with dev_name(), dev_set_name()
i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name()
infiniband: struct device - replace bus_id with dev_name(), dev_set_name()
ISDN: struct device - replace bus_id with dev_name(), dev_set_name()
...
Diffstat (limited to 'drivers/base/base.h')
-rw-r--r-- | drivers/base/base.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/base/base.h b/drivers/base/base.h index 0a5f055dffba..b676f8f801f8 100644 --- a/drivers/base/base.h +++ b/drivers/base/base.h @@ -63,6 +63,32 @@ struct class_private { #define to_class(obj) \ container_of(obj, struct class_private, class_subsys.kobj) +/** + * struct device_private - structure to hold the private to the driver core portions of the device structure. + * + * @klist_children - klist containing all children of this device + * @knode_parent - node in sibling list + * @knode_driver - node in driver list + * @knode_bus - node in bus list + * @device - pointer back to the struct class that this structure is + * associated with. + * + * Nothing outside of the driver core should ever touch these fields. + */ +struct device_private { + struct klist klist_children; + struct klist_node knode_parent; + struct klist_node knode_driver; + struct klist_node knode_bus; + struct device *device; +}; +#define to_device_private_parent(obj) \ + container_of(obj, struct device_private, knode_parent) +#define to_device_private_driver(obj) \ + container_of(obj, struct device_private, knode_driver) +#define to_device_private_bus(obj) \ + container_of(obj, struct device_private, knode_bus) + /* initialisation functions */ extern int devices_init(void); extern int buses_init(void); |