From patchwork Fri Dec 20 14:34:45 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 304101 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 2A3072C00B5 for ; Sat, 21 Dec 2013 01:34:58 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752441Ab3LTOey (ORCPT ); Fri, 20 Dec 2013 09:34:54 -0500 Received: from mail-ee0-f45.google.com ([74.125.83.45]:52207 "EHLO mail-ee0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752283Ab3LTOex (ORCPT ); Fri, 20 Dec 2013 09:34:53 -0500 Received: by mail-ee0-f45.google.com with SMTP id d49so1076476eek.18 for ; Fri, 20 Dec 2013 06:34:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=5j59xPGrV3TCgo9aU/y5iBlufFFS+XgJVch8PvlHpDA=; b=msKDnBSnjK1pzVG80CYXC4PnLuk+5hNhTIfHMzzzkDmz6UGe/xMkajJR+mxtknP/77 4xhPfbTH7HCkdXcXbDmsFE9vemNTCIxVir+pfsSP38cbVO+Ed+QCPC8jUbeQUvdLTLwk SFBvSS5DmSikomooikSSatZ93PMqG16L7NzPddCKGHSJhOXEsmseunxOyJbFwfKC/oHj hKLQzVlNDEOwEQvohL7Hvjh9RS90pMLOgWwsZxVsYbPTJl9SpEzJ4xXctccw7nqjsrtq GbWPhxAXpiGzTcwBXBcJzfoadjaphkI3xyicUeVTA88QKHABmQFtiDZA9loHuimnkJ1+ jeZg== X-Received: by 10.15.32.73 with SMTP id z49mr6329399eeu.27.1387550092588; Fri, 20 Dec 2013 06:34:52 -0800 (PST) Received: from linux-samsung700g7a.lan (dfv160.neoplus.adsl.tpnet.pl. [83.23.151.160]) by mx.google.com with ESMTPSA id h3sm19085772eem.15.2013.12.20.06.34.49 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Dec 2013 06:34:51 -0800 (PST) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: netdev@vger.kernel.org, "David S. Miller" Cc: Hauke Mehrtens , Florian Fainelli , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [RESEND][PATCH next 2/2] bgmac: use phy_mii_ioctl in ioctl handler Date: Fri, 20 Dec 2013 15:34:45 +0100 Message-Id: <1387550085-32432-1-git-send-email-zajec5@gmail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1386668966-24562-2-git-send-email-zajec5@gmail.com> References: <1386668966-24562-2-git-send-email-zajec5@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Hauke Mehrtens This works pretty much the same way, so avoid duplicating the code. Signed-off-by: Hauke Mehrtens Signed-off-by: Rafał Miłecki Acked-by: Florian Fainelli --- This ports part of Hauke's patch from OpenWrt. Hauks: I've just dropped if (!bgmac->phydev) return -EINVAL; as we are guaranteed to have PHY dev. --- drivers/net/ethernet/broadcom/bgmac.c | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c index 3cd5d68..39efb86 100644 --- a/drivers/net/ethernet/broadcom/bgmac.c +++ b/drivers/net/ethernet/broadcom/bgmac.c @@ -1198,27 +1198,11 @@ static int bgmac_set_mac_address(struct net_device *net_dev, void *addr) static int bgmac_ioctl(struct net_device *net_dev, struct ifreq *ifr, int cmd) { struct bgmac *bgmac = netdev_priv(net_dev); - struct mii_ioctl_data *data = if_mii(ifr); - - switch (cmd) { - case SIOCGMIIPHY: - data->phy_id = bgmac->phyaddr; - /* fallthru */ - case SIOCGMIIREG: - if (!netif_running(net_dev)) - return -EAGAIN; - data->val_out = bgmac_phy_read(bgmac, data->phy_id, - data->reg_num & 0x1f); - return 0; - case SIOCSMIIREG: - if (!netif_running(net_dev)) - return -EAGAIN; - bgmac_phy_write(bgmac, data->phy_id, data->reg_num & 0x1f, - data->val_in); - return 0; - default: - return -EOPNOTSUPP; - } + + if (!netif_running(net_dev)) + return -EINVAL; + + return phy_mii_ioctl(bgmac->phy_dev, ifr, cmd); } static const struct net_device_ops bgmac_netdev_ops = {