*参照元 [#b7a673ef] #backlinks *説明 [#z021f31d] -パス: [[linux-2.6.33/include/linux/device.h]] -FIXME: これは何? --説明 **参考 [#v8171312] *実装 [#b59a4e42] struct device { struct device *parent; - --[[linux-2.6.33/device]] struct device_private *p; - --[[linux-2.6.33/device_private]] struct kobject kobj; - --[[linux-2.6.33/kobject]] const char *init_name; /* initial name of the device */ struct device_type *type; - --[[linux-2.6.33/device_type]] struct semaphore sem; /* semaphore to synchronize calls to * its driver. */ - --[[linux-2.6.33/semaphore]] struct bus_type *bus; /* type of bus device is on */ - --[[linux-2.6.33/bus_type]] struct device_driver *driver; /* which driver has allocated this device */ - --[[linux-2.6.33/driver]] void *platform_data; /* Platform specific data, device core doesn't touch it */ struct dev_pm_info power; - --[[linux-2.6.33/dev_pm_info]] #ifdef CONFIG_NUMA int numa_node; /* NUMA node this device is close to */ #endif u64 *dma_mask; /* dma mask (if dma'able device) */ u64 coherent_dma_mask;/* Like dma_mask, but for alloc_coherent mappings as not all hardware supports 64 bit addresses for consistent allocations such descriptors. */ struct device_dma_parameters *dma_parms; - --[[linux-2.6.33/device_dma_parameters]] struct list_head dma_pools; /* dma pools (if dma'ble) */ - --[[linux-2.6.33/list_head]] struct dma_coherent_mem *dma_mem; /* internal for coherent mem override */ - --[[linux-2.6.33/dma_coherent_mem]] /* arch specific additions */ struct dev_archdata archdata; - --[[linux-2.6.33/dev_archdata]] dev_t devt; /* dev_t, creates the sysfs "dev" */ - --[[linux-2.6.33/dev_t]] spinlock_t devres_lock; - --[[linux-2.6.33/spinlock_t]] struct list_head devres_head; struct klist_node knode_class; - --[[linux-2.6.33/klist_node]] struct class *class; - --[[linux-2.6.33/class]] const struct attribute_group **groups; /* optional groups */ - --[[linux-2.6.33/attribute_group]] void (*release)(struct device *dev); }; *コメント [#ed3d1d28]