*参照元 [#nece5b2f] #backlinks *説明 [#n26ef6b4] -パス: [[linux-4.4.1/drivers/base/devres.c]] -FIXME: これは何? --説明 **引数 [#z82cad85] -struct device *dev -- --[[linux-4.4.1/device]] -void *res -- **返り値 [#oc4ed1bc] -なし **参考 [#ta183184] *実装 [#mc6dabe7] /** * devres_add - Register device resource * @dev: Device to add resource to * @res: Resource to register * * Register devres @res to @dev. @res should have been allocated * using devres_alloc(). On driver detach, the associated release * function will be invoked and devres will be freed automatically. */ void devres_add(struct device *dev, void *res) { struct devres *dr = container_of(res, struct devres, data); unsigned long flags; - --[[linux-4.4.1/devres]] --[[linux-4.4.1/container_of()]] spin_lock_irqsave(&dev->devres_lock, flags); add_dr(dev, &dr->node); spin_unlock_irqrestore(&dev->devres_lock, flags); - --[[linux-4.4.1/spin_lock_irqsave()]] --[[linux-4.4.1/add_dr()]] --[[linux-4.4.1/spin_unlock_irqrestore()]] } EXPORT_SYMBOL_GPL(devres_add); - --[[linux-4.4.1/EXPORT_SYMBOL_GPL()]] *コメント [#i5f0583d]