net: phy: remove flags argument from phy_{attach, connect, connect_direct}
The flags argument of the phy_{attach,connect,connect_direct} functions is then used to assign a struct phy_device dev_flags with its value. All callers but the tg3 driver pass the flag 0, which results in the underlying PHY drivers in drivers/net/phy/ not being able to actually use any of the flags they would set in dev_flags. This patch gets rid of the flags argument, and passes phydev->dev_flags to the internal PHY library call phy_attach_direct() such that drivers which actually modify a phy device dev_flags get the value preserved for use by the underlying phy driver. Acked-by: Kosta Zertsekel <konszert@marvell.com> Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

vanhempi
c1b52739e4
commit
f9a8f83b04
@@ -416,16 +416,15 @@ static void phy_prepare_link(struct phy_device *phydev,
|
||||
* @dev: the network device to connect
|
||||
* @phydev: the pointer to the phy device
|
||||
* @handler: callback function for state change notifications
|
||||
* @flags: PHY device's dev_flags
|
||||
* @interface: PHY device's interface
|
||||
*/
|
||||
int phy_connect_direct(struct net_device *dev, struct phy_device *phydev,
|
||||
void (*handler)(struct net_device *), u32 flags,
|
||||
void (*handler)(struct net_device *),
|
||||
phy_interface_t interface)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = phy_attach_direct(dev, phydev, flags, interface);
|
||||
rc = phy_attach_direct(dev, phydev, phydev->dev_flags, interface);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
@@ -443,7 +442,6 @@ EXPORT_SYMBOL(phy_connect_direct);
|
||||
* @dev: the network device to connect
|
||||
* @bus_id: the id string of the PHY device to connect
|
||||
* @handler: callback function for state change notifications
|
||||
* @flags: PHY device's dev_flags
|
||||
* @interface: PHY device's interface
|
||||
*
|
||||
* Description: Convenience function for connecting ethernet
|
||||
@@ -455,7 +453,7 @@ EXPORT_SYMBOL(phy_connect_direct);
|
||||
* the desired functionality.
|
||||
*/
|
||||
struct phy_device * phy_connect(struct net_device *dev, const char *bus_id,
|
||||
void (*handler)(struct net_device *), u32 flags,
|
||||
void (*handler)(struct net_device *),
|
||||
phy_interface_t interface)
|
||||
{
|
||||
struct phy_device *phydev;
|
||||
@@ -471,7 +469,7 @@ struct phy_device * phy_connect(struct net_device *dev, const char *bus_id,
|
||||
}
|
||||
phydev = to_phy_device(d);
|
||||
|
||||
rc = phy_connect_direct(dev, phydev, handler, flags, interface);
|
||||
rc = phy_connect_direct(dev, phydev, handler, interface);
|
||||
if (rc)
|
||||
return ERR_PTR(rc);
|
||||
|
||||
@@ -576,14 +574,13 @@ static int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
|
||||
* phy_attach - attach a network device to a particular PHY device
|
||||
* @dev: network device to attach
|
||||
* @bus_id: Bus ID of PHY device to attach
|
||||
* @flags: PHY device's dev_flags
|
||||
* @interface: PHY device's interface
|
||||
*
|
||||
* Description: Same as phy_attach_direct() except that a PHY bus_id
|
||||
* string is passed instead of a pointer to a struct phy_device.
|
||||
*/
|
||||
struct phy_device *phy_attach(struct net_device *dev,
|
||||
const char *bus_id, u32 flags, phy_interface_t interface)
|
||||
const char *bus_id, phy_interface_t interface)
|
||||
{
|
||||
struct bus_type *bus = &mdio_bus_type;
|
||||
struct phy_device *phydev;
|
||||
@@ -599,7 +596,7 @@ struct phy_device *phy_attach(struct net_device *dev,
|
||||
}
|
||||
phydev = to_phy_device(d);
|
||||
|
||||
rc = phy_attach_direct(dev, phydev, flags, interface);
|
||||
rc = phy_attach_direct(dev, phydev, phydev->dev_flags, interface);
|
||||
if (rc)
|
||||
return ERR_PTR(rc);
|
||||
|
||||
|
Viittaa uudesa ongelmassa
Block a user