summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2020-03-02 15:31:36 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2020-03-26 07:21:14 +0100
commit9a2a8da2122611b0e1289a5c976b523e1e900fad (patch)
treede5372047162d66b529b56e5409a85099ac683bb /drivers
parent5195ff3294373197881be1545de4ff23995b9842 (diff)
downloadbarebox-9a2a8da2122611b0e1289a5c976b523e1e900fad.tar.gz
barebox-9a2a8da2122611b0e1289a5c976b523e1e900fad.tar.xz
net: usb: add hook for link changes
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/usb/usbnet.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 92a31ee894..406b8c964f 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -158,13 +158,22 @@ static int usbnet_init(struct eth_device *edev)
return 0;
}
+static void usbnet_adjust_link(struct eth_device *edev)
+{
+ struct usbnet *dev = (struct usbnet*)edev->priv;
+ struct driver_info *info = dev->driver_info;
+
+ if (info->link_reset)
+ info->link_reset(dev);
+}
+
static int usbnet_open(struct eth_device *edev)
{
struct usbnet *dev = (struct usbnet*)edev->priv;
dev_dbg(&edev->dev, "%s\n",__func__);
- return phy_device_connect(edev, &dev->miibus, dev->phy_addr, NULL,
+ return phy_device_connect(edev, &dev->miibus, dev->phy_addr, usbnet_adjust_link,
0, PHY_INTERFACE_MODE_NA);
}