diff options
author | 2020-06-29 14:03:43 +0200 | |
---|---|---|
committer | 2020-06-30 15:57:34 -0700 | |
commit | ac3a68d56651c3dad2c12c7afce065fe15267f44 (patch) | |
tree | 71ed3ea13a53ccae6483acae6caa4b53c29d32d6 /drivers/net/dsa | |
parent | phy: mdio: add kerneldoc for __devm_mdiobus_register() (diff) | |
download | linux-ac3a68d56651.tar.gz linux-ac3a68d56651.tar.bz2 linux-ac3a68d56651.zip |
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>
Diffstat (limited to 'drivers/net/dsa')
0 files changed, 0 insertions, 0 deletions