X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fphy%2Ffixed.c;h=86135397f430b089b1abb0a1dd696fa4bc64e2a3;hb=refs%2Fheads%2Fvserver;hp=7e3364f554a7eed5d28a55baf7460b3114f9684e;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c index 7e3364f55..86135397f 100644 --- a/drivers/net/phy/fixed.c +++ b/drivers/net/phy/fixed.c @@ -254,7 +254,7 @@ static int fixed_mdio_register_device(int number, int speed, int duplex) goto device_create_fail; } - phydev->irq = -1; + phydev->irq = PHY_IGNORE_INTERRUPT; phydev->dev.bus = &mdio_bus_type; if(number) @@ -288,9 +288,13 @@ static int fixed_mdio_register_device(int number, int speed, int duplex) goto probe_fail; } - device_bind_driver(&phydev->dev); + err = device_bind_driver(&phydev->dev); + up_write(&phydev->dev.bus->subsys.rwsem); + if (err) + goto probe_fail; + return 0; probe_fail: @@ -312,8 +316,10 @@ MODULE_LICENSE("GPL"); static int __init fixed_init(void) { +#if 0 int ret; int duplex = 0; +#endif /* register on the bus... Not expected to be matched with anything there... */ phy_driver_register(&fixed_mdio_driver); @@ -334,14 +340,16 @@ static int __init fixed_init(void) */ #ifdef CONFIG_FIXED_MII_DUPLEX +#if 0 duplex = 1; #endif +#endif #ifdef CONFIG_FIXED_MII_100_FDX fixed_mdio_register_device(0, 100, 1); #endif -#ifdef CONFIX_FIXED_MII_10_FDX +#ifdef CONFIG_FIXED_MII_10_FDX fixed_mdio_register_device(0, 10, 1); #endif return 0;