linux/Documentation/driver-api/driver-model
Bartosz Golaszewski ac3a68d566 net: phy: don't abuse devres in devm_mdiobus_register()
We currently have two managed helpers for mdiobus - devm_mdiobus_alloc()
and devm_mdiobus_register(). The idea behind devres is that the release
callback releases whatever resource the devm function allocates. In the
mdiobus case however there's no devres associated with the device by
devm_mdiobus_register(). Instead the release callback for
devm_mdiobus_alloc(): _devm_mdiobus_free() unregisters the device if
it is marked as managed.

This all seems wrong. The managed structure shouldn't need to know or
care about whether it's managed or not - and this is the case now for
struct mii_bus. The devres wrapper should be opaque to the managed
resource.

This changeset makes devm_mdiobus_alloc() and devm_mdiobus_register()
conform to common devres standards: devm_mdiobus_alloc() allocates a
devres structure and registers a callback that will call mdiobus_free().
__devm_mdiobus_register() allocated another devres and registers a
callback that will unregister the bus.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-06-30 15:57:34 -07:00
..
binding.rst
bus.rst
class.rst
design-patterns.rst
device.rst docs: filesystems: fix renamed references 2020-04-20 15:45:22 -06:00
devres.rst net: phy: don't abuse devres in devm_mdiobus_register() 2020-06-30 15:57:34 -07:00
driver.rst Add documentation on meaning of -EPROBE_DEFER 2020-04-23 17:07:28 +02:00
index.rst
overview.rst docs: filesystems: fix renamed references 2020-04-20 15:45:22 -06:00
platform.rst
porting.rst