- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#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]