linux/drivers/net/phy
Anton Vorontsov 6f4a7f4183 PHY: Add the phy_device_release device method.
Lately I've got this nice badness on mdio bus removal:

Device 'e0103120:06' does not have a release() function, it is broken and must be fixed.
------------[ cut here ]------------
Badness at drivers/base/core.c:107
NIP: c015c1a8 LR: c015c1a8 CTR: c0157488
REGS: c34bdcf0 TRAP: 0700   Not tainted  (2.6.23-rc5-g9ebadfbb-dirty)
MSR: 00029032 <EE,ME,IR,DR>  CR: 24088422  XER: 00000000
...
[c34bdda0] [c015c1a8] device_release+0x78/0x80 (unreliable)
[c34bddb0] [c01354cc] kobject_cleanup+0x80/0xbc
[c34bddd0] [c01365f0] kref_put+0x54/0x6c
[c34bdde0] [c013543c] kobject_put+0x24/0x34
[c34bddf0] [c015c384] put_device+0x1c/0x2c
[c34bde00] [c0180e84] mdiobus_unregister+0x2c/0x58
...

Though actually there is nothing broken, it just device
subsystem core expects another "pattern" of resource managment.

This patch implement phy device's release function, thus
we're getting rid of this badness.

Also small hidden bug fixed, hope none other introduced. ;-)

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-12-04 15:06:33 -05:00
..
broadcom.c [PATCH] 2.6.18: sb1250-mac: Broadcom PHY support 2006-12-02 00:11:54 -05:00
cicada.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
davicom.c Add support for the Davicom DM9161A PHY 2007-05-11 17:53:43 -04:00
fixed.c PHY fixed driver: rework release path and update phy_id notation 2007-10-10 16:53:50 -07:00
icplus.c phylib: add the ICPlus IP175C PHY driver 2007-07-08 22:16:38 -04:00
Kconfig Generic bitbanged MDIO library 2007-10-10 16:54:03 -07:00
lxt.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
Makefile Generic bitbanged MDIO library 2007-10-10 16:54:03 -07:00
marvell.c phylib: marvell: add support for TX-only and RX-only Internal Delay 2007-12-01 16:32:30 -05:00
mdio-bitbang.c phy/bitbang: missing MODULE_LICENSE 2007-10-19 23:00:01 -04:00
mdio_bus.c PHY: Add the phy_device_release device method. 2007-12-04 15:06:33 -05:00
phy.c Stop phy code from returning success to unknown ioctls. 2007-12-01 16:35:51 -05:00
phy_device.c PHY: Add the phy_device_release device method. 2007-12-04 15:06:33 -05:00
qsemi.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
smsc.c [PATCH] remove unnecessary config.h includes from drivers/net/ 2006-08-14 14:00:43 -04:00
vitesse.c Fix error checking in Vitesse IRQ config 2007-07-24 16:28:41 -04:00