From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiner Kallweit Subject: [PATCH RFC 12/18] r8168: switch to phy_mii_ioctl Date: Thu, 21 Dec 2017 21:50:37 +0100 Message-ID: References: <83321b2e-8402-26c5-9703-3fe795cc893d@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: David Miller , "netdev@vger.kernel.org" To: Andrew Lunn , Realtek linux nic maintainers , Chun-Hao Lin Return-path: Received: from mail-wm0-f68.google.com ([74.125.82.68]:36498 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755773AbdLUUvU (ORCPT ); Thu, 21 Dec 2017 15:51:20 -0500 Received: by mail-wm0-f68.google.com with SMTP id b76so18302121wmg.1 for ; Thu, 21 Dec 2017 12:51:19 -0800 (PST) In-Reply-To: <83321b2e-8402-26c5-9703-3fe795cc893d@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: Use phy_mii_ioctl for handling the ioctl's. Signed-off-by: Heiner Kallweit --- drivers/net/ethernet/realtek/r8168.c | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/drivers/net/ethernet/realtek/r8168.c b/drivers/net/ethernet/realtek/r8168.c index 33f61e100..d33f93a31 100644 --- a/drivers/net/ethernet/realtek/r8168.c +++ b/drivers/net/ethernet/realtek/r8168.c @@ -4316,31 +4316,12 @@ static int rtl_set_mac_address(struct net_device *dev, void *p) return 0; } -static int rtl_xmii_ioctl(struct rtl8168_private *tp, - struct mii_ioctl_data *data, int cmd) -{ - switch (cmd) { - case SIOCGMIIPHY: - data->phy_id = 32; /* Internal PHY */ - return 0; - - case SIOCGMIIREG: - data->val_out = rtl_readphy(tp, data->reg_num & 0x1f); - return 0; - - case SIOCSMIIREG: - rtl_writephy(tp, data->reg_num & 0x1f, data->val_in); - return 0; - } - return -EOPNOTSUPP; -} - static int rtl8168_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { - struct rtl8168_private *tp = netdev_priv(dev); - struct mii_ioctl_data *data = if_mii(ifr); + if (!netif_running(dev)) + return -ENODEV; - return netif_running(dev) ? rtl_xmii_ioctl(tp, data, cmd) : -ENODEV; + return phy_mii_ioctl(dev->phydev, ifr, cmd); } static void rtl_init_mdio_ops(struct rtl8168_private *tp) -- 2.15.1