diff options
Diffstat (limited to 'drivers/net/phy')
| -rw-r--r-- | drivers/net/phy/micrel.c | 3 | ||||
| -rw-r--r-- | drivers/net/phy/phy_device.c | 10 | 
2 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 29934446436..abf7b6153d0 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -257,8 +257,7 @@ static struct phy_driver ksphy_driver[] = {  	.phy_id		= PHY_ID_KSZ9021,  	.phy_id_mask	= 0x000ffffe,  	.name		= "Micrel KSZ9021 Gigabit PHY", -	.features	= (PHY_GBIT_FEATURES | SUPPORTED_Pause -				| SUPPORTED_Asym_Pause), +	.features	= (PHY_GBIT_FEATURES | SUPPORTED_Pause),  	.flags		= PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,  	.config_init	= kszphy_config_init,  	.config_aneg	= genphy_config_aneg, diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 9930f999956..3657b4a2912 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -44,13 +44,13 @@ MODULE_LICENSE("GPL");  void phy_device_free(struct phy_device *phydev)  { -	kfree(phydev); +	put_device(&phydev->dev);  }  EXPORT_SYMBOL(phy_device_free);  static void phy_device_release(struct device *dev)  { -	phy_device_free(to_phy_device(dev)); +	kfree(to_phy_device(dev));  }  static struct phy_driver genphy_driver; @@ -201,6 +201,8 @@ struct phy_device *phy_device_create(struct mii_bus *bus, int addr, int phy_id,  	   there's no driver _already_ loaded. */  	request_module(MDIO_MODULE_PREFIX MDIO_ID_FMT, MDIO_ID_ARGS(phy_id)); +	device_initialize(&dev->dev); +  	return dev;  }  EXPORT_SYMBOL(phy_device_create); @@ -363,9 +365,9 @@ int phy_device_register(struct phy_device *phydev)  	/* Run all of the fixups for this PHY */  	phy_scan_fixups(phydev); -	err = device_register(&phydev->dev); +	err = device_add(&phydev->dev);  	if (err) { -		pr_err("phy %d failed to register\n", phydev->addr); +		pr_err("PHY %d failed to add\n", phydev->addr);  		goto out;  	}  |