From: Andre Edich <andre.edich@microchip.com>
To: <netdev@vger.kernel.org>, <UNGLinuxDriver@microchip.com>,
<steve.glendinning@shawell.net>
Cc: <Parthiban.Veerasooran@microchip.com>,
Andre Edich <andre.edich@microchip.com>
Subject: [PATCH net-next v2 4/6] smsc95xx: remove redundant link status checking
Date: Thu, 23 Jul 2020 13:55:05 +0200 [thread overview]
Message-ID: <20200723115507.26194-5-andre.edich@microchip.com> (raw)
In-Reply-To: <20200723115507.26194-1-andre.edich@microchip.com>
Current driver supports PAL that does link status checking anyway.
Signed-off-by: Andre Edich <andre.edich@microchip.com>
---
drivers/net/usb/smsc95xx.c | 55 --------------------------------------
1 file changed, 55 deletions(-)
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
index 9d2710f6d396..8731724bf2c5 100644
--- a/drivers/net/usb/smsc95xx.c
+++ b/drivers/net/usb/smsc95xx.c
@@ -51,8 +51,6 @@
#define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
-#define CARRIER_CHECK_DELAY (2 * HZ)
-
struct smsc95xx_priv {
u32 chip_id;
u32 mac_cr;
@@ -64,8 +62,6 @@ struct smsc95xx_priv {
u8 suspend_flags;
u8 mdix_ctrl;
bool link_ok;
- struct delayed_work carrier_check;
- struct usbnet *dev;
struct mii_bus *mdiobus;
struct phy_device *phydev;
bool internal_phy;
@@ -644,44 +640,6 @@ static void smsc95xx_status(struct usbnet *dev, struct urb *urb)
intdata);
}
-static void set_carrier(struct usbnet *dev, bool link)
-{
- struct smsc95xx_priv *pdata = dev->driver_priv;
-
- if (pdata->link_ok == link)
- return;
-
- pdata->link_ok = link;
-
- if (link)
- usbnet_link_change(dev, 1, 0);
- else
- usbnet_link_change(dev, 0, 0);
-}
-
-static void check_carrier(struct work_struct *work)
-{
- struct smsc95xx_priv *pdata = container_of(work, struct smsc95xx_priv,
- carrier_check.work);
- struct usbnet *dev = pdata->dev;
- int ret;
-
- if (pdata->suspend_flags != 0)
- return;
-
- ret = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, MII_BMSR);
- if (ret < 0) {
- netdev_warn(dev->net, "Failed to read MII_BMSR\n");
- return;
- }
- if (ret & BMSR_LSTATUS)
- set_carrier(dev, 1);
- else
- set_carrier(dev, 0);
-
- schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY);
-}
-
/* Enable or disable Tx & Rx checksum offload engines */
static int smsc95xx_set_features(struct net_device *netdev,
netdev_features_t features)
@@ -1333,11 +1291,6 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf)
dev->net->min_mtu = ETH_MIN_MTU;
dev->net->max_mtu = ETH_DATA_LEN;
dev->hard_mtu = dev->net->mtu + dev->net->hard_header_len;
-
- pdata->dev = dev;
- INIT_DELAYED_WORK(&pdata->carrier_check, check_carrier);
- schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY);
-
return 0;
unregister_mdio:
@@ -1355,7 +1308,6 @@ static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf)
{
struct smsc95xx_priv *pdata = dev->driver_priv;
- cancel_delayed_work_sync(&pdata->carrier_check);
mdiobus_unregister(pdata->mdiobus);
mdiobus_free(pdata->mdiobus);
netif_dbg(dev, ifdown, dev->net, "free pdata\n");
@@ -1649,8 +1601,6 @@ static int smsc95xx_suspend(struct usb_interface *intf, pm_message_t message)
return ret;
}
- cancel_delayed_work_sync(&pdata->carrier_check);
-
if (pdata->suspend_flags) {
netdev_warn(dev->net, "error during last resume\n");
pdata->suspend_flags = 0;
@@ -1894,10 +1844,6 @@ static int smsc95xx_suspend(struct usb_interface *intf, pm_message_t message)
if (ret && PMSG_IS_AUTO(message))
usbnet_resume(intf);
- if (ret)
- schedule_delayed_work(&pdata->carrier_check,
- CARRIER_CHECK_DELAY);
-
return ret;
}
@@ -1917,7 +1863,6 @@ static int smsc95xx_resume(struct usb_interface *intf)
/* do this first to ensure it's cleared even in error case */
pdata->suspend_flags = 0;
- schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY);
if (suspend_flags & SUSPEND_ALLMODES) {
/* clear wake-up sources */
--
2.27.0
next prev parent reply other threads:[~2020-07-23 11:56 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-23 11:55 [PATCH net-next v2 0/6] Add PAL support to smsc95xx Andre Edich
2020-07-23 11:55 ` [PATCH net-next v2 1/6] smsc95xx: remove redundant function arguments Andre Edich
2020-07-23 11:55 ` [PATCH net-next v2 2/6] smsc95xx: use usbnet->driver_priv Andre Edich
2020-07-23 22:42 ` Andrew Lunn
2020-07-23 11:55 ` [PATCH net-next v2 3/6] smsc95xx: add PAL support to use external PHY drivers Andre Edich
2020-07-23 22:39 ` Andrew Lunn
2020-07-24 15:17 ` Andre.Edich
2020-07-24 15:34 ` Andrew Lunn
2020-07-25 16:33 ` kernel test robot
2020-07-25 16:33 ` kernel test robot
2020-07-23 11:55 ` Andre Edich [this message]
2020-07-23 22:41 ` [PATCH net-next v2 4/6] smsc95xx: remove redundant link status checking Andrew Lunn
2020-07-23 11:55 ` [PATCH net-next v2 5/6] smsc95xx: use PAL framework read/write functions Andre Edich
2020-07-25 19:30 ` kernel test robot
2020-07-25 19:30 ` kernel test robot
2020-07-23 11:55 ` [PATCH net-next v2 6/6] smsc95xx: use PHY framework instead of MII library Andre Edich
2020-07-25 23:36 ` kernel test robot
2020-07-25 23:36 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200723115507.26194-5-andre.edich@microchip.com \
--to=andre.edich@microchip.com \
--cc=Parthiban.Veerasooran@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=netdev@vger.kernel.org \
--cc=steve.glendinning@shawell.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.