diff options
Diffstat (limited to 'drivers/net/dsa/microchip/ksz_common.c')
| -rw-r--r-- | drivers/net/dsa/microchip/ksz_common.c | 21 | 
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index a3d2d67894bd..b0b870f0c252 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -18,17 +18,7 @@  #include <net/dsa.h>  #include <net/switchdev.h> -#include "ksz_priv.h" - -void ksz_port_cleanup(struct ksz_device *dev, int port) -{ -	/* Common code for port cleanup. */ -	mutex_lock(&dev->dev_mutex); -	dev->on_ports &= ~(1 << port); -	dev->live_ports &= ~(1 << port); -	mutex_unlock(&dev->dev_mutex); -} -EXPORT_SYMBOL_GPL(ksz_port_cleanup); +#include "ksz_common.h"  void ksz_update_port_member(struct ksz_device *dev, int port)  { @@ -371,9 +361,13 @@ int ksz_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy)  {  	struct ksz_device *dev = ds->priv; +	if (!dsa_is_user_port(ds, port)) +		return 0; +  	/* setup slave port */  	dev->dev_ops->port_setup(dev, port, false); -	dev->dev_ops->phy_setup(dev, port, phy); +	if (dev->dev_ops->phy_setup) +		dev->dev_ops->phy_setup(dev, port, phy);  	/* port_stp_state_set() will be called after to enable the port so  	 * there is no need to do anything. @@ -387,6 +381,9 @@ void ksz_disable_port(struct dsa_switch *ds, int port)  {  	struct ksz_device *dev = ds->priv; +	if (!dsa_is_user_port(ds, port)) +		return; +  	dev->on_ports &= ~(1 << port);  	dev->live_ports &= ~(1 << port);  |