7c32f470f4
device_bind_driver() error code returning has been fixed. release() function has been written, so that to free resources in correct way; the release path is now clean. Before the rework, it used to cause Device 'fixed@100:1' does not have a release() function, it is broken and must be fixed. BUG: at drivers/base/core.c:104 device_release() Call Trace: [<ffffffff802ec380>] kobject_cleanup+0x53/0x7e [<ffffffff802ec3ab>] kobject_release+0x0/0x9 [<ffffffff802ecf3f>] kref_put+0x74/0x81 [<ffffffff8035493b>] fixed_mdio_register_device+0x230/0x265 [<ffffffff80564d31>] fixed_init+0x1f/0x35 [<ffffffff802071a4>] init+0x147/0x2fb [<ffffffff80223b6e>] schedule_tail+0x36/0x92 [<ffffffff8020a678>] child_rip+0xa/0x12 [<ffffffff80311714>] acpi_ds_init_one_object+0x0/0x83 [<ffffffff8020705d>] init+0x0/0x2fb [<ffffffff8020a66e>] child_rip+0x0/0x12 Also changed the notation of the fixed phy definition on mdio bus to the form of <speed>+<duplex> to make it able to be used by gianfar and ucc_geth that define phy_id strictly as "%d:%d" and cleaned up the whitespace issues. Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
93 lines
2.4 KiB
Text
93 lines
2.4 KiB
Text
#
|
|
# PHY Layer Configuration
|
|
#
|
|
|
|
menuconfig PHYLIB
|
|
tristate "PHY Device support and infrastructure"
|
|
depends on !S390
|
|
depends on NET_ETHERNET && (BROKEN || !S390)
|
|
help
|
|
Ethernet controllers are usually attached to PHY
|
|
devices. This option provides infrastructure for
|
|
managing PHY devices.
|
|
|
|
if PHYLIB
|
|
|
|
comment "MII PHY device drivers"
|
|
|
|
config MARVELL_PHY
|
|
tristate "Drivers for Marvell PHYs"
|
|
---help---
|
|
Currently has a driver for the 88E1011S
|
|
|
|
config DAVICOM_PHY
|
|
tristate "Drivers for Davicom PHYs"
|
|
---help---
|
|
Currently supports dm9161e and dm9131
|
|
|
|
config QSEMI_PHY
|
|
tristate "Drivers for Quality Semiconductor PHYs"
|
|
---help---
|
|
Currently supports the qs6612
|
|
|
|
config LXT_PHY
|
|
tristate "Drivers for the Intel LXT PHYs"
|
|
---help---
|
|
Currently supports the lxt970, lxt971
|
|
|
|
config CICADA_PHY
|
|
tristate "Drivers for the Cicada PHYs"
|
|
---help---
|
|
Currently supports the cis8204
|
|
|
|
config VITESSE_PHY
|
|
tristate "Drivers for the Vitesse PHYs"
|
|
---help---
|
|
Currently supports the vsc8244
|
|
|
|
config SMSC_PHY
|
|
tristate "Drivers for SMSC PHYs"
|
|
---help---
|
|
Currently supports the LAN83C185 PHY
|
|
|
|
config BROADCOM_PHY
|
|
tristate "Drivers for Broadcom PHYs"
|
|
---help---
|
|
Currently supports the BCM5411, BCM5421 and BCM5461 PHYs.
|
|
|
|
config ICPLUS_PHY
|
|
tristate "Drivers for ICPlus PHYs"
|
|
---help---
|
|
Currently supports the IP175C PHY.
|
|
|
|
config FIXED_PHY
|
|
tristate "Drivers for PHY emulation on fixed speed/link"
|
|
---help---
|
|
Adds the driver to PHY layer to cover the boards that do not have any PHY bound,
|
|
but with the ability to manipulate the speed/link in software. The relevant MII
|
|
speed/duplex parameters could be effectively handled in a user-specified function.
|
|
Currently tested with mpc866ads.
|
|
|
|
config FIXED_MII_10_FDX
|
|
bool "Emulation for 10M Fdx fixed PHY behavior"
|
|
depends on FIXED_PHY
|
|
|
|
config FIXED_MII_100_FDX
|
|
bool "Emulation for 100M Fdx fixed PHY behavior"
|
|
depends on FIXED_PHY
|
|
|
|
config FIXED_MII_1000_FDX
|
|
bool "Emulation for 1000M Fdx fixed PHY behavior"
|
|
depends on FIXED_PHY
|
|
|
|
config FIXED_MII_AMNT
|
|
int "Number of emulated PHYs to allocate "
|
|
depends on FIXED_PHY
|
|
default "1"
|
|
---help---
|
|
Sometimes it is required to have several independent emulated
|
|
PHYs on the bus (in case of multi-eth but phy-less HW for instance).
|
|
This control will have specified number allocated for each fixed
|
|
PHY type enabled.
|
|
|
|
endif # PHYLIB
|