*参照元 [#ab922d36] #backlinks *説明 [#i9173700] -パス: [[linux-2.6.33/drivers/base/core.c]] -FIXME: これは何? --説明 **引数 [#cfe24e3f] -struct device *dev -- --[[linux-2.6.33/device]] **返り値 [#d4511099] -なし **参考 [#x796ccc8] *実装 [#ida42590] /** * device_initialize - init device structure. * @dev: device. * * This prepares the device for use by other layers by initializing * its fields. * It is the first half of device_register(), if called by * that function, though it can also be called separately, so one * may use @dev's fields. In particular, get_device()/put_device() * may be used for reference counting of @dev after calling this * function. * * NOTE: Use put_device() to give up your reference instead of freeing * @dev directly once you have called this function. */ void device_initialize(struct device *dev) { dev->kobj.kset = devices_kset; -kobj は struct kobject 型 --[[linux-2.6.33/kobject]] kobject_init(&dev->kobj, &device_ktype); - --[[linux-2.6.33/ --[[linux-2.6.33/kobject_init()]] INIT_LIST_HEAD(&dev->dma_pools); - --[[linux-2.6.33/ --[[linux-2.6.33/INIT_LIST_HEAD()]] init_MUTEX(&dev->sem); - --[[linux-2.6.33/ --[[linux-2.6.33/init_MUTEX()]] spin_lock_init(&dev->devres_lock); - --[[linux-2.6.33/ --[[linux-2.6.33/spin_lock_init()]] INIT_LIST_HEAD(&dev->devres_head); - --[[linux-2.6.33/ device_init_wakeup(dev, 0); - --[[linux-2.6.33/ --[[linux-2.6.33/device_init_wakeup()]] device_pm_init(dev); - --[[linux-2.6.33/ --[[linux-2.6.33/device_pm_init()]] set_dev_node(dev, -1); - --[[linux-2.6.33/ --[[linux-2.6.33/set_dev_node()]] } *コメント [#df789153]