phy: fixed: Fix removal of phys.
authorAndrew Lunn <andrew@lunn.ch>
Fri, 11 Mar 2016 23:01:40 +0000 (00:01 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Mar 2016 19:43:11 +0000 (15:43 -0400)
commit5bcbe0f35fb13e31fdd0b2dc9695f19ab0208207
tree43a275f2ab4cfcdfefd2da7e376063080994beb2
parentec777e6b4254648be51146d4e7d735ee3d06bd13
phy: fixed: Fix removal of phys.

The fixed phys delete function simply removed the fixed phy from the
internal linked list and freed the memory. It however did not
unregister the associated phy device. This meant it was still possible
to find the phy device on the mdio bus.

Make fixed_phy_del() an internal function and add a
fixed_phy_unregister() to unregisters the phy device and then uses
fixed_phy_del() to free resources.

Modify DSA to use this new API function, so we don't leak phys.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/fixed_phy.c
include/linux/phy_fixed.h
net/dsa/dsa.c