From patchwork Mon Jun 29 20:15:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 1319157 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=microchip.com header.i=@microchip.com header.a=rsa-sha256 header.s=mchp header.b=UmDnL3Eb; dkim=pass (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-microchiptechnology-onmicrosoft-com header.b=vdM0yqWt; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49wdyk1Dmfz9sVL for ; Tue, 30 Jun 2020 06:15:26 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732390AbgF2UPU (ORCPT ); Mon, 29 Jun 2020 16:15:20 -0400 Received: from esa3.microchip.iphmx.com ([68.232.153.233]:16162 "EHLO esa3.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732274AbgF2UPT (ORCPT ); Mon, 29 Jun 2020 16:15:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593461718; x=1624997718; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=gGQVZwE+pnzncmQh0KEc1c95kDfMl6zV343reXKcIds=; b=UmDnL3Eb+6IHhD1gJmRsqdgvecfme1YP1hW649UzFR10P7O4OASNJbxs CXuw5zZjyte9de5xoJ6ibeG75rvNEvJ8PIXTpPXz/8+yI1C1+eV4eW8FZ QuU8ZaPwV7+BV42OFgHQ9kyjOkyUzPqOFstC085j9YM6/e++tHHTVOh+h UERqZ15MkOkIir8wnj8B9/6Qn7gBQbceLxtHYE4lEzJSl5egwilOnEon2 OKsFmBxSP0mBw0Om+uWLkEekR3j3lzKcYJC9uGuzjOMAM3gKV6LzZiUef QTxplJ6gkNTG51dpkgqCbEWQdXmdDVpbH7uxOoy/hYQUjdIXXT0olAmND A==; IronPort-SDR: wFP15aOtORMQ0l80yWolJYUwIaeYe2y5BGsZwFc91mlfCzgzreOKG3RABWBMq2tBttakMPHljN 0R2/HH3ikaAC5j+7usY9fc+cITbnkLOyi8hSNlGhn26wlimGnNZe1Wnvdol3lW82h5Nu2m+tUW kCXgSEoXleXB3K1RTSgOAnFDrvUBssMXFzCprb5wsGbWS0Hs1fatHTdlXjrN+koo8sekIAIxbF myIEzhDzKOHKTg35v1XuIjjFt37h6hTUb78LkBkvp+0gKUk2SiJzVTDShHamZCiRl/qC0abeqK qlg= X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="81972626" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa3.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 13:15:17 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 13:15:00 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 13:15:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A2CZx1cVFGWxpo3E1xiQwkQxeDCptB2d9/JhwvfF2/QEcFw9kpAaWunsdiBTzLcNZ4y+Pw3VkCnEYeuzcpdXzDi6kECgacIvbaWlpNXGPhwkiMSDRNhYKpkm+TxR7CTpuPjNhfJt8dM24h7XU1tu2IlU8Wb4bexJELuUz0goGSD/EQcsGNU2SNrsr14XoFY8kNR/yHwoBSq84UsfxzRWP51D7vlrEGpFxe7vZOyoo5PXXxEcmP9mUT2qh1TFMruytZqyDyoqEafXrz0+2kN2H6KuTcFRUIk5+0rlnvvZZb0iXu3LCflFhKzvdpUjSS8mwTc1uFBqiYwMCCq0tt2cig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gGQVZwE+pnzncmQh0KEc1c95kDfMl6zV343reXKcIds=; b=FYzNxvIdnXDjqQ/QNkiY+Bf/kudEe7BZ/nzSGjXPQ9gkxXnA2AcP9zyqZaxmfbCHeBlcd+iAgcLUnDUOawCbhbUv6hedKIQtBzTG330BOVwqq8JEE0e2SBsZdhVKM52Rc33KFlNnERlI6DXxU1ihrMF3E4dWRrG8KvldWrK5IpVJr03vMcnPYF84kSap7u7NKsGOEgtTkiApOLpnK5OibuAMBYsONRb0R4UNG8PJS3Ruoho63FulYtiiNUhnM7NNqOw314djjP/ltHxBR7j/NFD2yMmK43RmdDU9K06yvUWsOKt4ZF68TvSd54c8+/+9XWyCKcT8aWdI+av7P6A6TA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gGQVZwE+pnzncmQh0KEc1c95kDfMl6zV343reXKcIds=; b=vdM0yqWtM0xOgwZzqB0rwGINxku2Fp9kBJimIBmUq9rRLbNVhl1E9Y7VSwlcuLVxGCe32ecvET9VAgCK6umLRrRO1lWQzJ1ui/vGYLVc71cI5RR2UkUwp3dOW/1CKFm0eT/C8wrX3NpqcO2J6GUPir+GKDBuIdF9ikm1IXwygEM= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BYAPR11MB2997.namprd11.prod.outlook.com (2603:10b6:a03:8b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20; Mon, 29 Jun 2020 20:15:13 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 20:15:13 +0000 From: To: , , CC: Subject: [PATCH net-next 1/8] smsc95xx: check return value of smsc95xx_reset Thread-Topic: [PATCH net-next 1/8] smsc95xx: check return value of smsc95xx_reset Thread-Index: AQHWTlH/RuJjG1oI9UKZ57LQazji6A== Date: Mon, 29 Jun 2020 20:15:13 +0000 Message-ID: <568a690d2d4d1527be465a05dec40732ec271c20.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 803ec8dd-ee4f-4de1-47cc-08d81c6921a8 x-ms-traffictypediagnostic: BYAPR11MB2997: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:3631; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: B4teutoiz00lN5MwrR6QEvbMnKMDwjK/w3uDo6WuHKDc9ul7Qysdys2JIXAY+pOLfn1VE6vmcXcdO/UgrcL/Q3iCf20vUjL/JtDfBFW29mgeNV9EVE2/ISUcg57AvcP2n5RcQwprgyAh2ESuTP0Foy51E4GfNewvAQeyz/2Jw5ShhJKueBULpxu92E1Fy6GCRfQMeZ+XHS2B8JPgyfDmkdqJavBBSQuR09ahBvoyj37JHu63avaIqo7NTMoucjerdadqTnj4HI+qVZDjlag3ucG/hsZQiRqTsuzRrl2Pi5evNH5F/63+paih/xQ9Le0K x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB3927.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(376002)(39860400002)(136003)(346002)(396003)(366004)(86362001)(71200400001)(186003)(110136005)(26005)(36756003)(83380400001)(5660300002)(2616005)(107886003)(478600001)(6506007)(4326008)(66946007)(76116006)(8936002)(6486002)(66446008)(64756008)(316002)(6512007)(91956017)(66556008)(8676002)(66476007)(2906002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: bd1UEm/FTdOYOqW+VhXuHCT4vnBI84JYIPLQOFXHHRSSv54WChkKvrzAjlsRqSO5hgEkv0gg3/O4/L1V9NDgrf9Zq9tRUbbDuE8pU6mdLfR0PuUObQ9hNOohMBF9YWoB1asCwGuowPBKOYGxsWVi9fhqJcJC9kikFfGVO9JYpBwN0D/5m5fBRA9nuTKNYGA75nK+i99Miy/F54PD7wss4uHEg8Y+nLWF0xo5DXLJNkviBKe1CjCR7mxHAj5pgaVJEsV7BaF3EHbPnH6KGgXRIu3b/2JBUZ1OzKsMdiWBUp/eAnZTVE+0Bh/1UQdbfo67QkUhGlbCIteWbKLm0x5BdbRPhY+xlqz2Y3+MstI90ANONg9fvuWkvyJ4s634zVPF+qQOzn1baa3Cc93CdoN6+n3qHGF1Pu5Os1VQOJ+B3NJBVwpR6Af3WzTs4i3L6u9XSHyDLuW0R0lqDvvrU1wp2x3FKcqQytkH8KFP+6+vMu6TM8hgY1Gk4hR/JxqPaNKF Content-ID: <6FF3A3B814F3294FB6B2B6ED44E4A044@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 803ec8dd-ee4f-4de1-47cc-08d81c6921a8 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 20:15:13.2696 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cjfNNX5jdwKFyWfCQz1P6w63shX0ZmV2z15ZK7wdaf2Ty2oSvJ7PQYWKp1GNDEkUWq+VEPGbfUeTZ9dUcDgGflaJkblFnLyImTK4EaKfLZs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2997 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The return value of the function smsc95xx_reset() must be checked to avoid returning false success from the function smsc95xx_bind(). Signed-off-by: Andre Edich Signed-off-by: Parthiban Veerasooran < Parthiban.Veerasooran@microchip.com> --- drivers/net/usb/smsc95xx.c | 6 ++++++ 1 file changed, 6 insertions(+) available */ ret = smsc95xx_read_reg(dev, ID_REV, &val); @@ -1317,6 +1319,10 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY); return 0; + +free_pdata: + kfree(pdata); + return ret; } static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 3cf4dc3433f9..eb404bb74e18 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -1287,6 +1287,8 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) /* Init all registers */ ret = smsc95xx_reset(dev); + if (ret) + goto free_pdata; /* detect device revision as different features may be From patchwork Mon Jun 29 20:01:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 1319127 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=microchip.com header.i=@microchip.com header.a=rsa-sha256 header.s=mchp header.b=umhQcdYt; dkim=pass (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-microchiptechnology-onmicrosoft-com header.b=DKtE7fp7; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49wdfs5XhHz9sTG for ; Tue, 30 Jun 2020 06:01:41 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388657AbgF2UBk (ORCPT ); Mon, 29 Jun 2020 16:01:40 -0400 Received: from esa2.microchip.iphmx.com ([68.232.149.84]:39950 "EHLO esa2.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388647AbgF2UBi (ORCPT ); Mon, 29 Jun 2020 16:01:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593460896; x=1624996896; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=X6v+GJn3BdQxBi0OBo9rz/xKibjYdilAa4DSeJv/TKE=; b=umhQcdYtIaCdkm+RT10LUtIbRr11GHzz043PssD+TNHagQY52WJ0UG4o Cgs5jn38hk07pTsGB1QHbdV2M9sTj6xn0DYD+jOzFo4BDxnsIvdSte93k gjdj+WdhKQ/WvGzjAcyvYXP/6wYAVn9l4gujcEozCZA13aTgpo7KdXCnR uLsWmqNTh+YPmW5cgPe0mvVhQkFieiy+itPcCWKk3LHW5wzCLiJe6pDT2 toxWVUY3MuEstYQnN0U/ngowEcDQh0aRofPu/5EpuaJjvUpygotAgZgqL 1MEvfYkLJcTP2b5fgsjqNhzf2pkoKMPt8bdym622gmgcWi7sms3N3LtPY Q==; IronPort-SDR: UBieLuFr/X4vL8IcjoiEhkmkj1x2jiLm7EJ7L4FSamJsNAMfU4S+1Zc45TKo4VZ4eXdOmxN7/A DGhwiDWYSmQD51CELbym2mNIeYHq3yFwLilo6ZKaURXdTLKGmvW6tF25U8UGAGBPE9S8eNpX+s QngyLNnXinWu2D17XjdZNYQVgChckgZAfscLeNyOLVTp1MsvPnhnI/42e+kJYYQx8cEblNyhnM 2DH4IuCcnB4g2VAYZCxNTeVM0yOHNva+jM3ROkJltpbs5pa2YP+AqW87VFGExzL2LETTQsoR5o ENA= X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="80128601" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 13:01:36 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.87.72) by chn-vm-ex02.mchp-main.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 13:01:18 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 13:01:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AlwV5ijbkKIY8wHCcMb1NDd8lC6T7S0xc6vQXZbAdycztgZVRWaTaWss2DfSaKggTpV6R/YFXDgVzQ/BkH88LFuqTWocJ5zQlZf+0aZVNZPl8s/0hohR4M/+jisbz/wX/6wUKGOBu+U21nu0mz0xBS/SmZ3XXT54wtXVZ8cQpMPKzimyQg0I1wNNIQOAfvIGWKic8t+Elphdqwo0ZWb6WAkgxlJbQqWKd9n224/BEw/fFWcItVuviPSMdkMQaip07GXPCMKlr1FwJ2piHAPSuE3aIXzQmonUT0qJre+KVhIjqVTPyrl4TAF0S794bRPYRS1PCWCsMvPWSrrz7chx7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X6v+GJn3BdQxBi0OBo9rz/xKibjYdilAa4DSeJv/TKE=; b=dZ96vDEdA5TyLxCpZdNgxu3YXfSJGfsN8S/psGcu7+Rp9EUM8zyqpqA1lKMWR2IVxiT/9fyugW699BUiXGb0v03NMyY27ZDHVmJI5KDI+oRf0eYJtZoyCgpj7t474IIqT4lRTbW4hXhZE1yA1dm2Ng09TeXA6Bljg8HHywed3wmeQVZoWtzC2zx+3yuEiWRb3cD6XMYwIb/NNO8Coss+AiS7FaaAhwgqLqZgj2VdTVifgjijNcAKD1E+fDAPK+uOzfQa7BIg8I1tP2BH2Cgi53QkhpzwMjrIf4KvFIl2o1XLEsNDSULpKbKGGh0cEq9JDUTojIqFaDZsyMNn8DHt5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X6v+GJn3BdQxBi0OBo9rz/xKibjYdilAa4DSeJv/TKE=; b=DKtE7fp7mtaLgie3s2MhdsKsjLhZXTLq11MIA1pUibboquWXY6M0Sf67T+0HkqY/XHCPYQ/Pe0e4iFuicsMsWs1dU9JGVervUVhsJ88Ae1eOIPZG+xMqejcTpFLXPyvyTh8+JVWHYwMIUIKiwG36xBQZCjnPsTZs3ZfhhhAvG6k= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BYAPR11MB2792.namprd11.prod.outlook.com (2603:10b6:a02:c3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.24; Mon, 29 Jun 2020 20:01:29 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 20:01:29 +0000 From: To: , , CC: Subject: [PATCH net-next 3/8] smsc95xx: add PAL support to use external PHY drivers Thread-Topic: [PATCH net-next 3/8] smsc95xx: add PAL support to use external PHY drivers Thread-Index: AQHWTlATxfp4qn3AGUya8kyVakY9YA== Date: Mon, 29 Jun 2020 20:01:28 +0000 Message-ID: <9255483491fb18b9cdb2ea86ede6fe8e81c71be0.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 779a4efe-ef99-4127-96e7-08d81c673665 x-ms-traffictypediagnostic: BYAPR11MB2792: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KyKBg9vxrkSIlU/EBjLm1HQ/kW9aH7vt7FZTbunnJ8ev7n6XpA3ytVHX/6Rwnwf8zL8TzGmdQYerIQVXglPSnwVTavc/V5uBq5bhFCOm43Y6beUdrnYg5gh2nlO531xjmdgp/f5v7Dk/okel/u53zeJP0ZTSvZK4WJCSdJhfW3i/cG3UfNUxnnX+uz07fD4vx/igyFdOB+Dv3+ckGwoAJgu4yh4Q5VVK3Y+X4lf9Ej6o+uQ/plhPkStWURYitEJ5M0Z0RZn9gIb0vJxMnby9P5OBjTbu78zSVuf9AR2GZ2Qd13urCiXL3b+nlQOCh6TP x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB3927.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(376002)(346002)(396003)(136003)(39860400002)(6506007)(4326008)(110136005)(478600001)(2616005)(2906002)(8676002)(316002)(8936002)(36756003)(6512007)(186003)(86362001)(83380400001)(71200400001)(26005)(6486002)(76116006)(107886003)(91956017)(5660300002)(66446008)(64756008)(66946007)(66556008)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: KYMgVTtb3AIN6+w6YRD4UGPfjaiZvJ+vrQGNxujcDaM2m/kWgRjfKSfuKAF5/wGPv1BQL+x8rECqxQKJcA1CB8eJHQ4KQZtZtM0zrghBoLLpmV+RzA/c1rIJ0KfnCxTUauL2vrDgpOSW3wDRiBqllG7r7uFjVISNHEWFdoAc1Nv2vD1B1obtLVOdWD0/h8qraytvVNcjwkvdirDYRNoGWogfJ8b2ykgm7GOp2W9GtoInatpnFZko+UEBhApcxvnZZhjoEWptQzJ8Lw3eWKFEpICiII6nNcip+HWP09Dvx5WpAhcC7z3LqpQAJWjGjcLRLdbU37+HY4dL3Ov4AG+Q2HOmZ83+myA4me9Fe812TWdx9tmO7OB8LEiBxF4CsYll+aAe9HPzXxGHXkxiwXJc+mH1nilaXu91NnF8Jwju6n+2WwFnaO8DBO6Iw1hDD0KmZptV/b00erWEDy1hYpXeOic2j47jQDu3TVR3c9dvQwSnUZd8KKSm5JBmSEyq+HWr Content-ID: <4C5882CA48D8DE49A0D993EC04935602@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 779a4efe-ef99-4127-96e7-08d81c673665 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 20:01:29.0772 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OUj0GwSyfZQIccA2NPRCBrpvt1ofLSQb6ZeeFI+/ayYqaFl0hpOCjLLP3WXRaKPgLTD6sj+fjxUzw+r2/MaioP3UgysKH4+OMn7+k6OOyYk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2792 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Generally, each PHY has their own configuration and it can be done through an external PHY driver. The smsc95xx driver uses only the hard-coded internal PHY configuration. This patch adds PAL (PHY Abstraction Layer) support to probe external PHY drivers for configuring external PHYs. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 165 +++++++++++++++++++++++++------------ 1 file changed, 112 insertions(+), 53 deletions(-) static int __must_check smsc95xx_wait_eeprom(struct usbnet *dev) { unsigned long start_time = jiffies; @@ -972,51 +992,6 @@ static int smsc95xx_start_rx_path(struct usbnet *dev, int in_pm) return __smsc95xx_write_reg(dev, MAC_CR, pdata->mac_cr, in_pm); } -static int smsc95xx_phy_initialize(struct usbnet *dev) -{ - int bmcr, ret, timeout = 0; - - /* Initialize MII structure */ - dev->mii.dev = dev->net; - dev->mii.mdio_read = smsc95xx_mdio_read; - dev->mii.mdio_write = smsc95xx_mdio_write; - dev->mii.phy_id_mask = 0x1f; - dev->mii.reg_num_mask = 0x1f; - dev->mii.phy_id = SMSC95XX_INTERNAL_PHY_ID; - - /* reset phy and wait for reset to complete */ - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, MII_BMCR, BMCR_RESET); - - do { - msleep(10); - bmcr = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, MII_BMCR); - timeout++; - } while ((bmcr & BMCR_RESET) && (timeout < 100)); - - if (timeout >= 100) { - netdev_warn(dev->net, "timeout on PHY Reset"); - return -EIO; - } - - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, MII_ADVERTISE, - ADVERTISE_ALL | ADVERTISE_CSMA | ADVERTISE_PAUSE_CAP | - ADVERTISE_PAUSE_ASYM); - - /* read to clear */ - ret = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, PHY_INT_SRC); - if (ret < 0) { - netdev_warn(dev->net, "Failed to read PHY_INT_SRC during init\n"); - return ret; - } - - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, PHY_INT_MASK, - PHY_INT_MASK_DEFAULT_); - mii_nway_restart(&dev->mii); - - netif_dbg(dev, ifup, dev->net, "phy initialised successfully\n"); - return 0; -} - static int smsc95xx_reset(struct usbnet *dev) { struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); @@ -1198,12 +1173,6 @@ static int smsc95xx_reset(struct usbnet *dev) smsc95xx_set_multicast(dev->net); - ret = smsc95xx_phy_initialize(dev); - if (ret < 0) { - netdev_warn(dev->net, "Failed to init PHY\n"); - return ret; - } - ret = smsc95xx_read_reg(dev, INT_EP_CTL, &read_buf); if (ret < 0) return ret; @@ -1231,6 +1200,43 @@ static int smsc95xx_reset(struct usbnet *dev) return 0; } +static void smsc95xx_handle_link_change(struct net_device *net) +{ + phy_print_status(net->phydev); +} + +static int smsc95xx_start_phy(struct usbnet *dev) +{ + struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct net_device *net = dev->net; + int ret; + + ret = smsc95xx_reset(dev); + if (ret < 0) + return ret; + + /* attach the mac to the phy */ + ret = phy_connect_direct(net, pdata->phydev, + &smsc95xx_handle_link_change, + PHY_INTERFACE_MODE_MII); + if (ret) { + netdev_err(net, "can't attach PHY to %s\n", pdata- > mdiobus->id); + return ret; + } + + phy_attached_info(net->phydev); + phy_start(net->phydev); + mii_nway_restart(&dev->mii); + return 0; +} + +static int smsc95xx_disconnect_phy(struct usbnet *dev) +{ + phy_stop(dev->net->phydev); + phy_disconnect(dev->net->phydev); + return 0; +} + static const struct net_device_ops smsc95xx_netdev_ops = { .ndo_open = usbnet_open, .ndo_stop = usbnet_stop, @@ -1290,10 +1296,53 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) if (ret) goto free_pdata; + pdata->mdiobus = mdiobus_alloc(); + if (!pdata->mdiobus) { + ret = -ENOMEM; + goto free_pdata; + } + + ret = smsc95xx_read_reg(dev, HW_CFG, &val); + if (ret < 0) + goto free_mdio; + + /* check for internal phy */ + if (!(val & HW_CFG_PSEL_)) + pdata->mdiobus->phy_mask = ~(1u << SMSC95XX_INTERNAL_PHY_ID); + + pdata->mdiobus->priv = dev; + pdata->mdiobus->read = smsc95xx_mdiobus_read; + pdata->mdiobus->write = smsc95xx_mdiobus_write; + pdata->mdiobus->name = "smsc95xx-mdiobus"; + + dev->mii.phy_id_mask = 0x1f; + dev->mii.reg_num_mask = 0x1f; + + snprintf(pdata->mdiobus->id, ARRAY_SIZE(pdata->mdiobus->id), + "usb-%03d:%03d", dev->udev->bus->busnum, dev->udev- > devnum); + + ret = mdiobus_register(pdata->mdiobus); + if (ret) { + netdev_err(dev->net, "Could not register MDIO bus\n"); + goto free_mdio; + } + + pdata->phydev = phy_find_first(pdata->mdiobus); + if (!pdata->phydev) { + netdev_err(dev->net, "no PHY found\n"); + ret = -ENODEV; + goto unregister_mdio; + } + + dev->mii.dev = dev->net; + dev->mii.mdio_read = smsc95xx_mdio_read; + dev->mii.mdio_write = smsc95xx_mdio_write; + dev->mii.phy_id = pdata->phydev->mdio.addr; + /* detect device revision as different features may be available */ ret = smsc95xx_read_reg(dev, ID_REV, &val); if (ret < 0) - goto free_pdata; + goto unregister_mdio; val >>= 16; pdata->chip_id = val; @@ -1321,6 +1370,12 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) return 0; +unregister_mdio: + mdiobus_unregister(pdata->mdiobus); + +free_mdio: + mdiobus_free(pdata->mdiobus); + free_pdata: kfree(pdata); return ret; @@ -1332,6 +1387,8 @@ static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf) if (pdata) { cancel_delayed_work_sync(&pdata->carrier_check); + mdiobus_unregister(pdata->mdiobus); + mdiobus_free(pdata->mdiobus); netif_dbg(dev, ifdown, dev->net, "free pdata\n"); kfree(pdata); pdata = NULL; @@ -1893,6 +1950,7 @@ static int smsc95xx_resume(struct usb_interface *intf) if (ret < 0) netdev_warn(dev->net, "usbnet_resume error\n"); + phy_init_hw(pdata->phydev); return ret; } @@ -2098,7 +2156,8 @@ static const struct driver_info smsc95xx_info = { .bind = smsc95xx_bind, .unbind = smsc95xx_unbind, .link_reset = smsc95xx_link_reset, - .reset = smsc95xx_reset, + .reset = smsc95xx_start_phy, + .stop = smsc95xx_disconnect_phy, .rx_fixup = smsc95xx_rx_fixup, .tx_fixup = smsc95xx_tx_fixup, .status = smsc95xx_status, diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index bb4ccbda031a..fbb80a7aef32 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -18,6 +18,8 @@ #include #include #include +#include +#include #include "smsc95xx.h" #define SMSC_CHIPNAME "smsc95xx" @@ -64,6 +66,8 @@ struct smsc95xx_priv { bool link_ok; struct delayed_work carrier_check; struct usbnet *dev; + struct mii_bus *mdiobus; + struct phy_device *phydev; }; static bool turbo_mode = true; @@ -284,6 +288,22 @@ static void smsc95xx_mdio_write(struct net_device *netdev, int phy_id, int idx, __smsc95xx_mdio_write(netdev, phy_id, idx, regval, 0); } +static int smsc95xx_mdiobus_read(struct mii_bus *bus, int phy_id, int idx) +{ + struct usbnet *dev = bus->priv; + + return __smsc95xx_mdio_read(dev->net, phy_id, idx, 0); +} + +static int smsc95xx_mdiobus_write(struct mii_bus *bus, int phy_id, int idx, + u16 regval) +{ + struct usbnet *dev = bus->priv; + + __smsc95xx_mdio_write(dev->net, phy_id, idx, regval, 0); + return 0; +} + From patchwork Mon Jun 29 20:01:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 1319128 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=microchip.com header.i=@microchip.com header.a=rsa-sha256 header.s=mchp header.b=ONgSBqX0; dkim=pass (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-microchiptechnology-onmicrosoft-com header.b=HNj+2+8L; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49wdfx2XxWz9sTG for ; Tue, 30 Jun 2020 06:01:45 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388485AbgF2UBo (ORCPT ); Mon, 29 Jun 2020 16:01:44 -0400 Received: from esa5.microchip.iphmx.com ([216.71.150.166]:37694 "EHLO esa5.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388663AbgF2UBk (ORCPT ); Mon, 29 Jun 2020 16:01:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593460900; x=1624996900; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=GuKqolz5JdJf4NWj/t5ROC5tWY4P7hBzorVaD0wUBR0=; b=ONgSBqX0WA+aPrucbIUV4Hw8FU48DVvTzJsSoshXqFE/SCXcyw4ACCL9 MdiCK60njCc+ZQC3TLkJHeEWHFyfG3v2LGYR+V8ZtXvuJ+0CnRS+UagG1 8+eh4aSTnQUZPISlH+arBm0OZR5gGC4bZih3jJQoDLoApmkShx321W4hg ON/QrOQw7cKYFkBbtNxrgKb5/IxIe7pDdDDDBFol0dU0YvKiKMIfrnlyL vZEQnmsoIwsis3DFcItZAxbsBcHu+dEsjkfC66b1XzfuJ/Fv/aA60Tpf3 OxVBBwlUTvBFbh6GycC7twcs0HMlkM5KFsg0Z7ZLyItCZTGm3I93NTTWM w==; IronPort-SDR: DG4Q2CbTr8Z3dwStGRTe3WENELPH4Eg0B8a4UPDE5O/pHlTERkUG+ZCG2buHq0CB0Dumcu5Ap1 ONjixcK0sflLz136wqUrNmhL97ri0Pc51LLaKCcLB0TAs7VHyK8d+5SvnajUoyfWNdCOx5QGqC Yw71afDWoEqBqj6qzieFDLlQFgpLZ/PPa8v1hpRlD/4N5Yci3RXJGhbc4Zrm9U/KoRAkWK9cKf 6nlWjhc37UwUHZKWqrEE2uXCrHfZfgAC78rpejocoPrJtAV2/1ost/ft+MCfLIYAV/qlqFPSNX 4IA= X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="81282299" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 13:01:40 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 13:01:39 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 13:01:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c2mW6AgvpZVmEkx4yA8IB8DKMeRRMhpgUttJW1u41OU/USUwulTKiJmBKQmcNgy3g2rxxFU4UTcI5VReGPRy6c+NJ3DDrLtJiJfPJ67OlNYZYssGHlu740I4lRr6tOVq0GXLEbJA05G+M+Pj9kEj1/scyH2Jne6ANXjFj2Akv5hJHlkoUS88boIwIXUyiOqfTOraUpXgpm/6Z5h/A/tfBYpeXMJpKH9p3awmnOzr69NsJhPIDKGXGgtFhF3FXppGLSRSits6OKmVbQLwZ+0q3l19nMqwdVDaiCj5YHiqqAnX6UnV4UQQoTVjP3TXoi7bgLIkEfJst6K7pY7L9+FQaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GuKqolz5JdJf4NWj/t5ROC5tWY4P7hBzorVaD0wUBR0=; b=NE4kZmaos4IMN0cYcjSHwCF0rRB1HPFsyDCf2dnwGLlw1yE60QM95/OiEyacrCKrUXhBj/9Znc6J6j3YuOS0vFuqNKRtnO2VTbMYkG2k10Cscg91ZqufHc8KjpbRNnaKx5a7PQV4CEsooGGbns1z2yveWKhRTbCbJpih3qGAGg/BBLPgpLTeJccqbXagT/9rcbJfW3b6jqINPFY1EY2lyughKJHClletmKHe4R5yQmHxddM2YteN/kz6Lx4MJ4wpgd7E0wZX2EtM3rfi3B4al2xbd1ZTzfdwNfzpgWfw+unRNl3pljZG4LIWwo36W8KxHzCpLsd5tiejtA54r5lUJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GuKqolz5JdJf4NWj/t5ROC5tWY4P7hBzorVaD0wUBR0=; b=HNj+2+8LDZJJpzwsK9m7KD9m8Hu2dgCunyGORDLL1lP0lztc+7vmDzi7XkIPyVzbwx1R9ptaPevRUuwFNeDgfbzLa75EGNoL3k3G6oC+X4vH93kYAVhPHX2PKvgB/FnerNUpYQf5Kjy6SmkY9iES0tKNInweEEKk6HEqVPeSp5g= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BYAPR11MB2792.namprd11.prod.outlook.com (2603:10b6:a02:c3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.24; Mon, 29 Jun 2020 20:01:37 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 20:01:37 +0000 From: To: , , CC: Subject: [PATCH net-next 4/8] smsc95xx: remove redundant link status checking Thread-Topic: [PATCH net-next 4/8] smsc95xx: remove redundant link status checking Thread-Index: AQHWTlAYtCMdiBWdTkmrUkiuLo/zjQ== Date: Mon, 29 Jun 2020 20:01:37 +0000 Message-ID: <5aa823eedf590bd7a3e27de5223aa1204bb3d811.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9c64c2a7-324b-44f8-032e-08d81c673b39 x-ms-traffictypediagnostic: BYAPR11MB2792: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:1303; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EgyOgoC0nCBiWR7XnF4ZSxLKZ2/dhUkk7hd2gMw5TzESEnRNb5MQwkf2RM97uAyB7OioGFSaFAW96hyRl62Yrf+RHhMydrGudk4wojXCj0guZIrtJZZXPdhh+Er3fsYRWaTqaYDIlndooun5bbi6JYdThTTPXQAsA0Wwv1X86oEakipQUZR9N6gPFqYdZ8kK++RSNT04MEklmZpdX7BNYSmRaQQJe+pZOINArbUCEE+rX93+FF61QEbh0rOt17w3Cw+C1f+AXR5P3WtAVn5XZfexZBHZZibl9PxJwV/xpIRib81S9BpqlPDttepGNSHs x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB3927.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(376002)(346002)(396003)(136003)(39860400002)(6506007)(4326008)(110136005)(478600001)(2616005)(2906002)(8676002)(316002)(8936002)(36756003)(6512007)(186003)(86362001)(83380400001)(71200400001)(26005)(6486002)(76116006)(107886003)(91956017)(5660300002)(66446008)(64756008)(66946007)(66556008)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: hOmZqn/EZX26KJPmcQPpRMKMJjO5pQ/dI482pPLRF/N1J6EE8mo04Nc6T0cUlTVBbwULKo6d4QxAXdu8WjxI/+NJmmAatKnMJdtShkwKFT71cZjihpV0/ALoSSOBj/yJWO8AyBki+JmBYrAuBo9EHnKfIQC2FSgpUy/japou3nbH5qZXfy8UP5M1aE3B5qhkfdLr8gsjvwWGQgZQpjMN+SirhqlpWk2UItplRaRy4TizI4/+Ncm7kQK+g4uD8g5qW8Yin8YNs6x/cLVmWZj0kCG88sH4z2s/2t+xMQJLuLHpX4/hQf9z9EpLMvAfkl9UGzRymrM8muKKws3qS7fEultEjqvvPtuSPD/GOzs3J3Jmns3NQ949nxo/kaa7yDciqgkUO/SwoW3VGyUeAxYp9k+EKehgsNgTwRZoM5B1cheslv1sspLiLDAoDfqAamtjUkyWYGF534xJwXKMy+SRX/iQU5eYY7fweik7dSNUVptsSYd+/mJACnhGF3OKjLS/ Content-ID: <98A003E78B4D304BA1238DF22741617F@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c64c2a7-324b-44f8-032e-08d81c673b39 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 20:01:37.1807 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ML49XZPM3zYIxQpBiXrfnKPV+cRacflxTHq/2dpD+MChqtV5PoRr3vfi+5m0vMB5gbyTNokk8SMWUfi3uQ9LU9lijcDkVjDPlK8iVENcOZk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2792 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Current driver supports PAL that does link status checking anyway. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 55 -------------------------------------- 1 file changed, 55 deletions(-) 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; }; @@ -636,44 +632,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 = (struct smsc95xx_priv *)(dev- > data[0]); - - 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) @@ -1363,11 +1321,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: @@ -1386,7 +1339,6 @@ static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf) struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); if (pdata) { - cancel_delayed_work_sync(&pdata->carrier_check); mdiobus_unregister(pdata->mdiobus); mdiobus_free(pdata->mdiobus); netif_dbg(dev, ifdown, dev->net, "free pdata\n"); @@ -1651,8 +1603,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; @@ -1896,10 +1846,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; } @@ -1919,7 +1865,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 */ diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index fbb80a7aef32..3b8f7e439f44 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 { From patchwork Mon Jun 29 20:01:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 1319133 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=microchip.com header.i=@microchip.com header.a=rsa-sha256 header.s=mchp header.b=A30kY/dn; dkim=pass (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-microchiptechnology-onmicrosoft-com header.b=F7bteOrZ; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49wdgg6xz2z9sVg for ; Tue, 30 Jun 2020 06:02:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388676AbgF2UCV (ORCPT ); Mon, 29 Jun 2020 16:02:21 -0400 Received: from esa1.microchip.iphmx.com ([68.232.147.91]:16407 "EHLO esa1.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731899AbgF2UCM (ORCPT ); Mon, 29 Jun 2020 16:02:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593460932; x=1624996932; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=EB+APyaleRVmPJVAGCa5i+yCnTzlPa1QLxtKMqPwPJU=; b=A30kY/dncR1FRoTCBuF4rN26zeyGbf5lnvWu0tBRR45M3Jwl68rhrrjA l3IwfCQ6TMe7al2bhKyAn1Fv3BqxOaKbcP2jw4VRNRkZDPQYXRjyp668n t5S/koDdAMJnHprF6vw3ixs1vaHadirhW/WGrXv66sTCdekNrWqQ0OT4E ATA0dl3wf8Uh1I1SaKBypfxNF6xDKenmaNy56RHaITTV3ftSZenaN2/Fj tuS2jmunBB4wnmfO26+8avjDg/O3UpCdrTPwo6CWq9huFi+WpKEnnW3fm lJmCG88q6uyJN8Nlszhl2TXC+H7+OLKLgkn94kXFABs1rnrc2iF4Avrfz g==; IronPort-SDR: s2A854RC44Ng6FSMBB+VDmYLYbaKI8leO6uH5HlLjf8IdKHgJt4WOCU2fdna+fWCCFLZdTXgSN LLOeVyXPpXcT2cvKb6AP2HrsMrlzZgAFKK4Ewm1STF5+FBQ5FbntASeICNkGUQPIgVVN9Grv4+ m9BYzpP8SN47TNe1kCa7xWy/P8p8slaZ9K2IezOydBVkMFlnfLjzYAlh+ZoY/C5zpDHVBSVU+R jyB2DPTnNiCO5cM13y6jEf2qpze/H6L1mwy4qf+YRbRLjOcmBn5SMLFpMFbKwT4jwSKYPs8mPB FyQ= X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="85542655" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa1.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 13:01:53 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.85.144) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 13:01:53 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 13:01:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wsb+uyZ86sPf4VGj0ayDoXO+QBzSMDtOsy9kWYOf97Z1QeOKwt6OY4TXv83ENF3TJOBYk6kUGbQTeGwirEGDVPv2xdMedrha1Ry19qXXfz+jYJgnucsmv6EyqjlHhK83cqKGN3fi2wRDVfCYe5AyfFFVTmycA/r3n7ru6x9n+05Ro9doOly404YlU8L03490FVJu4eJTF54Zflbnv4kIeRG9YZkfNs/CsTvyg2QQDnQMvI4893KfxYCRSWbwKWrQYkUyLjM9a/wamT4uo3iJTt6/X6y6CNOneHgVpEQTwb+vdSFSnhFoWzM86y6xZCRAIIGex9zrx81npUxLc1T8RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EB+APyaleRVmPJVAGCa5i+yCnTzlPa1QLxtKMqPwPJU=; b=bChGzZ8DIW8cUkAiBc1vRL1ZXGwVlvsRAt+D6+AgDAEChKiwHtE6y4ZAWz//29YUc5FTkLs0/aQVr/IWb5PLx5IrfZj9LJ7n9QktMuvKFi0u7OR2FEwehi75N4TfLEndJ82Dp+UdxVC+bxYDKzrvqJ+rN7MqU7O75kdKlti/PS+Fye/y1cUeZdg6IRtIdqECJjjpLKnqXBTzRES76LA96zwTQl9mN/civ5ZGpruWDwfQ7YyGQ6WWLIxT3GhOhsHco9YSm5ytwhSwqu7/aq0HR0ZApfXCjezMr2EAvTCu/aTRKCxNnfPu7jIkvJvckkDSTxfBVpYOd9/wKYEVEAw4kA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EB+APyaleRVmPJVAGCa5i+yCnTzlPa1QLxtKMqPwPJU=; b=F7bteOrZ2hJ3bWyJEIXb+NtXZ+NnL4TPpKe4QLHadup23lJcgMbNf8AFdHWOPDMveujl6HcPAPbmD2EnMQjn+XH7uAIcM3JuPd0rXtMtOx8rPjrUfLHJ3QOQVI5R3xv29lL6b7WAvFjvfHVKn1nqWESYBBjBWI9TN1xj4fSYkvE= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BYAPR11MB2792.namprd11.prod.outlook.com (2603:10b6:a02:c3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.24; Mon, 29 Jun 2020 20:01:50 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 20:01:50 +0000 From: To: , , CC: Subject: [PATCH net-next 5/8] smsc95xx: use PAL framework read/write functions Thread-Topic: [PATCH net-next 5/8] smsc95xx: use PAL framework read/write functions Thread-Index: AQHWTlAgCd9g40loA0yzf+9zUiDr1w== Date: Mon, 29 Jun 2020 20:01:50 +0000 Message-ID: <1042a3a5a592b489ca803fadc5ddbb8d7b8ad82f.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7586f594-51c6-44c6-5769-08d81c67433a x-ms-traffictypediagnostic: BYAPR11MB2792: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:255; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OcoYKK2GI303+cC3nSo/Da9ilPORpL8LTpNpjkrFudZhWvWR8a5dTYxLcP+I5kScna9+S2QtAobQrAn4R/Pcg3oc0RvUlatPyFaEkSByU1EJ472j0IAGLWm9Q73adVPgIKkeP/BVo4+DzDifQZDB+QpAjY2r+HbsIiAiXDhfhB7x1in4NTfqNgl2ens9VSFK8j9jLdIkDlzggEPVdeoEyHNKTG61HfIzY95U1x4yJM3TV/KarCdWH4Egsd3nvsoZIl0CZoOQr034QVT9/C8Bzo0QXhLNKFq8PADrltmlYNqvclKso6/+65mmMRm6Kdqy8cubS/bINvQ+lk7bhGieuw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB3927.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(376002)(346002)(396003)(136003)(39860400002)(6506007)(4326008)(110136005)(478600001)(2616005)(2906002)(8676002)(316002)(8936002)(36756003)(6512007)(186003)(86362001)(83380400001)(71200400001)(26005)(6486002)(76116006)(107886003)(91956017)(5660300002)(66446008)(64756008)(66946007)(66556008)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: KHOvojJl8F2X6GAhrSfbWfGpMC2MkZrfQFdMIyz6afxwood+nSGIfgwViXc+U5eQs6Kc9enF+sO1wZNRFaaPedwWRotapL5bWQNP3KkyGLk2kx/qxZAwbmoiacKApF+m57ZimxNXvlbEMgCvskC8yCYYUs6BUjYHxuYue2yLTWrHbAk8gvwkM68Uon2IRxEGlnVi+njRcegQkSTKYWj9Pq4yEIYfT+k5rtmMniklTXqoi+5FgA+ITFKrELysmbqMa79iCDNVCW5gJfXFvMHlejcD5fZpHWuHulTEIGzRQKdGf9Y9uF+zeNHGPl0Juc8RmTRCRF2R76s0H52rx3baI6HuPMqWPpEerv3NqZalh0XPpNlbBcVJoGtt2guGgjl/jfKHmQ91xoL313cvPZDPc5t09n+L6bs6Xt0LTCGiwFoPd0nVAzvGOiSovTAwetd0wy1sv6hODG86QVvQYCtmX0DFAAFBJSiP9x8QapWw1odTB7npyKWU5RsQ2xdl1hva Content-ID: <405BC85156EFD644B6F786613ED5185A@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7586f594-51c6-44c6-5769-08d81c67433a X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 20:01:50.5932 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mvx7zjApsWCZ/7ND9BlNlx8ZeXM9TjA6E9k8OGzbUyjCAAmvYGo+yYjZc1MXD9FCr2cQV55FNjXvoyb+D9zrTw8SX4hkgEQJX6XeF+ktR3w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2792 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use functions phy_read and phy_write instead of smsc95xx_mdio_read and smsc95xx_mdio_write respectively. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) "speed: %u duplex: %d lcladv: %04x rmtadv: %04x\n", @@ -753,10 +753,11 @@ static int smsc95xx_ethtool_set_wol(struct net_device *net, static int get_mdix_status(struct net_device *net) { struct usbnet *dev = netdev_priv(net); + struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); u32 val; int buf; - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, SPECIAL_CTRL_STS); + buf = phy_read(pdata->phydev, SPECIAL_CTRL_STS); if (buf & SPECIAL_CTRL_STS_OVRRD_AMDIX_) { if (buf & SPECIAL_CTRL_STS_AMDIX_ENABLE_) return ETH_TP_MDI_AUTO; @@ -782,39 +783,31 @@ static void set_mdix_status(struct net_device *net, __u8 mdix_ctrl) (pdata->chip_id == ID_REV_CHIP_ID_89530_) || (pdata->chip_id == ID_REV_CHIP_ID_9730_)) { /* Extend Manual AutoMDIX timer for 9500A/9500Ai */ - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, - PHY_EDPD_CONFIG); + buf = phy_read(pdata->phydev, PHY_EDPD_CONFIG); buf |= PHY_EDPD_CONFIG_EXT_CROSSOVER_; - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, - PHY_EDPD_CONFIG, buf); + phy_write(pdata->phydev, PHY_EDPD_CONFIG, buf); } if (mdix_ctrl == ETH_TP_MDI) { - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS); + buf = phy_read(pdata->phydev, SPECIAL_CTRL_STS); buf |= SPECIAL_CTRL_STS_OVRRD_AMDIX_; buf &= ~(SPECIAL_CTRL_STS_AMDIX_ENABLE_ | SPECIAL_CTRL_STS_AMDIX_STATE_); - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS, buf); + phy_write(pdata->phydev, SPECIAL_CTRL_STS, buf); } else if (mdix_ctrl == ETH_TP_MDI_X) { - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS); + buf = phy_read(pdata->phydev, SPECIAL_CTRL_STS); buf |= SPECIAL_CTRL_STS_OVRRD_AMDIX_; buf &= ~(SPECIAL_CTRL_STS_AMDIX_ENABLE_ | SPECIAL_CTRL_STS_AMDIX_STATE_); buf |= SPECIAL_CTRL_STS_AMDIX_STATE_; - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS, buf); + phy_write(pdata->phydev, SPECIAL_CTRL_STS, buf); } else if (mdix_ctrl == ETH_TP_MDI_AUTO) { - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS); + buf = phy_read(pdata->phydev, SPECIAL_CTRL_STS); buf &= ~SPECIAL_CTRL_STS_OVRRD_AMDIX_; buf &= ~(SPECIAL_CTRL_STS_AMDIX_ENABLE_ | SPECIAL_CTRL_STS_AMDIX_STATE_); buf |= SPECIAL_CTRL_STS_AMDIX_ENABLE_; - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS, buf); + phy_write(pdata->phydev, SPECIAL_CTRL_STS, buf); } pdata->mdix_ctrl = mdix_ctrl; } diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 3b8f7e439f44..11af5d5ece60 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -574,7 +574,7 @@ static int smsc95xx_link_reset(struct usbnet *dev) int ret; /* clear interrupt status */ - ret = smsc95xx_mdio_read(dev->net, mii->phy_id, PHY_INT_SRC); + ret = phy_read(pdata->phydev, PHY_INT_SRC); if (ret < 0) return ret; @@ -584,8 +584,8 @@ static int smsc95xx_link_reset(struct usbnet *dev) mii_check_media(mii, 1, 1); mii_ethtool_gset(&dev->mii, &ecmd); - lcladv = smsc95xx_mdio_read(dev->net, mii->phy_id, MII_ADVERTISE); - rmtadv = smsc95xx_mdio_read(dev->net, mii->phy_id, MII_LPA); + lcladv = phy_read(pdata->phydev, MII_ADVERTISE); + rmtadv = phy_read(pdata->phydev, MII_LPA); netif_dbg(dev, link, dev->net, From patchwork Mon Jun 29 20:01:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 1319132 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=microchip.com header.i=@microchip.com header.a=rsa-sha256 header.s=mchp header.b=bYNJWfLN; dkim=pass (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-microchiptechnology-onmicrosoft-com header.b=Ew/x418P; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49wdgd348vz9sVf for ; Tue, 30 Jun 2020 06:02:21 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388578AbgF2UCU (ORCPT ); Mon, 29 Jun 2020 16:02:20 -0400 Received: from esa1.microchip.iphmx.com ([68.232.147.91]:16407 "EHLO esa1.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388667AbgF2UCN (ORCPT ); Mon, 29 Jun 2020 16:02:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593460933; x=1624996933; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=6Yk2j93aPXLkxHLvZSIdkPSi0wIJF5w+CZkl5etb3CY=; b=bYNJWfLNMWMbtr6uokjngxZA93jwFW+P1nOHaZw3RjlQEGOoKL3gdwOD cwOgOavXC/F1mPTu7va1tic9u+vbYPLZoTKmP75TZLMk7dJ/h68CfhlJM FvPp1O2TAF/bkQTvsp6BmNu70gMHGts4ruHqM+C4W7p7+SBd9GTRTL5Ej CmwOwYD9PiilouWi8fgUeO9Hc9qVoOueA6qRu+xBZ3vBwpVi/SHe0gmHW HMQ6uWNylJwDHkfCQjuCB8N/CC0H16Mtm6oiXN9o4U3n4PKgJuswiqZvx +y2OIsprycfaQS+WNICeHZItox1ioMCBKdt9uqDaXJNO0B/rN6s9AAXe7 Q==; IronPort-SDR: Jg3TUQ5mcfqAHHUStYH2KX4axa9JQUdd/LP/JJ/KVRjiD1yr2poMzuAUGYENL1TOXdQLGOWVfV LU3dMM7spfAVatYcuznt5oix6DpTAdrzLbfJILecTUTR7t4Y4BmK6p4GdCeD/PRAWYcHqPT8AN ZHlAj607wg+hcuYPhF92i5BcD3Ydm5KL6w0kW3H43dcyIDqo5bLmaKFR/u0H5RWOu3pGINIJ1R oYr3E4TGaqpwVmietZJVC5mJGECNnQysTSm+dWYfR/Uz+Cv+4gFmcFZXeR+3iD/jCT7CwTGnUA YHc= X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="85542667" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa1.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 13:02:02 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 13:02:02 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 13:01:45 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iaev62zVW4MGJFIA2WtuVQP5D7vwVlp4qij56DCUisg1u8QdjimT0sD7HMH+T9QNBCXOc42ThPFjok576U19kwTptECZRtyirV+CHcriKjrnud37bsLk/jNSF3S8EbFWNrLT76TPJsZtj0TcfBjZXmqHoguKqjfY2HzCNwbLgpPdIGWZEnUMZu4z39d224wcxBI9rcgBhrzo6GyhzzFl+HMmFiAkruCis7Yf0bR1SjT0MI1D1rSYl2aUFDqmz+/Lb4fBENXVm2xe7IL3tayiJTdFPCYiv47eWMXVRpdxBGEV04C5fPZmLqa6kEModsfhJNS9LuU6ZniN39vwgPdQEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6Yk2j93aPXLkxHLvZSIdkPSi0wIJF5w+CZkl5etb3CY=; b=TQpsoPtiVxDFd0tpNvkegHAsMHw468+suYPKfRDHGh3hBZlxBE/znsRhXvShYipIgD1Kzmu5rdD2MDkkQ9UQNnAgbS/s2Qp9McQXrxVl62r02+TLZ085sairXpCgVGEVxSKxuAi/OyPBOTkR9pR1KTkpj/Mi14yaj0SCX/E/OM9WRfABQzMP9/H4WjqiL5YrK2BXUpNJvoVkbXo4mG4bH39QXkumJkTaoO5quYje76aUZNxdoi1fWoB/DuVw1+bK0y4Hn+1tEh364kABjiCliXDknf7LilWJ/GDnUt7FbknQY2caYHolfLdb1/Ap1S0rCzmanelTRHTDSpWFvxs49w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6Yk2j93aPXLkxHLvZSIdkPSi0wIJF5w+CZkl5etb3CY=; b=Ew/x418Px91i+x2iyURhLzbPEAPmieTmhaLDowvubyy9rhk8coAJMziY7PotuPARSeEroNpe919N+pfvFcIkUgoJSafXNtBI0kiXr5l/VPRPbw4c4AkMxEHTF7FyhNl8pxkhTw7LEKVECb8w41ESr5uV0awxMRWuonJQgCFTIeg= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BYAPR11MB2792.namprd11.prod.outlook.com (2603:10b6:a02:c3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.24; Mon, 29 Jun 2020 20:02:00 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 20:02:00 +0000 From: To: , , CC: Subject: [PATCH net-next 6/8] smsc95xx: remove redundant function arguments Thread-Topic: [PATCH net-next 6/8] smsc95xx: remove redundant function arguments Thread-Index: AQHWTlAmSCPxEOFjiEqoQ4nggvYMnQ== Date: Mon, 29 Jun 2020 20:01:59 +0000 Message-ID: <43615c318e057a87ceab45e0807c3dd8e041eb49.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 92a611fa-f7a6-4c30-1ec7-08d81c6748d1 x-ms-traffictypediagnostic: BYAPR11MB2792: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:1013; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5UIL9QZhUrr863OVG/9cFN+EkpWm+546AjfLSxxwon3W1UEmNjRTa1DGdR92VV5/c8NsJRuLdxPbYL1Gii+UMxAtOnDFTxQ9kJ+dgg4ETOrqd4/1UR2CGXjzRlYI8alRcPvJpQ1Zl+OkKK8AJpFNKkiqhu/jDKNKDm7WqMaXmzojd11my0OStCy3iYMYNuecTlsu0PtSNQY2bEOrHAziORNHqBDVLJKgkDsDAux6wRMzbfIWD32VzhBwv/w7j4YRCPkoKFe/hXCklo9vhmy/0YOLNZrLO+QqDSLyTBL1s/updTnq4lXa3BBq4/zfVdk9 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB3927.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(376002)(346002)(396003)(136003)(39860400002)(6506007)(4326008)(110136005)(478600001)(2616005)(2906002)(8676002)(316002)(8936002)(36756003)(6512007)(186003)(86362001)(83380400001)(71200400001)(26005)(6486002)(76116006)(107886003)(91956017)(5660300002)(66446008)(64756008)(66946007)(66556008)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: +Zo4QNN5u7NBnt454CgLzR9/kvov/KAzt5fuaAGe8vaqURbv3M32VESxUAevjpaD0oaZnmrJIBqxupoBPlX5H54FApNxnAMtjK926jep4PsUgh6VxoiC/lpv9MgZTnbuVYq5hT28s2EgPByKFWUFJrtPWbkMffJb4ILJrUYJVg/V7kR52sWfvfYSg95lHQT+0X77t8oye8cCqz4+bBtVVw5TJsB3OQcEauU0UL/XYpSRZM3yPQZ7nSvuP4tGBm0JfUqJ+Kh92yH9WH0K2tVx8baLcEgYJ+WgCtpSbxS8JZDQVHw+6+p0zIMzAwJi4uDQTiVrSrTQKl3366NjolCO635wH9vw7Bgm3X7Pih5iDf//I8y5Qnt0iVE9EcKTDLZ3NEh/uWLAavM1RdVbqjqeWzJDvURRPvsIBSoRlek2MQO/aRfUP6SjyRc+gDNT0hkZ9+J4LAJBWVoZpe0s8v4S1a1QaIilYwyRghIsrPWhKUyPvVA1kUH0KNz0THqtzK4m Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92a611fa-f7a6-4c30-1ec7-08d81c6748d1 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 20:01:59.9390 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GB3k0dDaon/DR729XoEBpV5wIwEwqaGZKRaT7/SWarqIKpFevQgCHRvrxGmWldm4Nf79FoZP+tVCAK2sxftwTpRIQriYYBQbKu5jmVhg4/s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2792 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch removes arguments netdev and phy_id from the functions smsc95xx_mdio_read_nopm and smsc95xx_mdio_write_nopm. Both removed arguments are recovered from a new argument `struct usbnet *dev`. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) + __smsc95xx_mdio_write(dev->net, mii->phy_id, idx, regval, 1); } static int smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx) @@ -1349,39 +1351,37 @@ static u32 smsc_crc(const u8 *buffer, size_t len, int filter) static int smsc95xx_enable_phy_wakeup_interrupts(struct usbnet *dev, u16 mask) { - struct mii_if_info *mii = &dev->mii; int ret; netdev_dbg(dev->net, "enabling PHY wakeup interrupts\n"); /* read to clear */ - ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, PHY_INT_SRC); + ret = smsc95xx_mdio_read_nopm(dev, PHY_INT_SRC); if (ret < 0) return ret; /* enable interrupt source */ - ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, PHY_INT_MASK); + ret = smsc95xx_mdio_read_nopm(dev, PHY_INT_MASK); if (ret < 0) return ret; ret |= mask; - smsc95xx_mdio_write_nopm(dev->net, mii->phy_id, PHY_INT_MASK, ret); + smsc95xx_mdio_write_nopm(dev, PHY_INT_MASK, ret); return 0; } static int smsc95xx_link_ok_nopm(struct usbnet *dev) { - struct mii_if_info *mii = &dev->mii; int ret; /* first, a dummy read, needed to latch some MII phys */ - ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, MII_BMSR); + ret = smsc95xx_mdio_read_nopm(dev, MII_BMSR); if (ret < 0) return ret; - ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, MII_BMSR); + ret = smsc95xx_mdio_read_nopm(dev, MII_BMSR); if (ret < 0) return ret; @@ -1430,7 +1430,6 @@ static int smsc95xx_enter_suspend0(struct usbnet *dev) static int smsc95xx_enter_suspend1(struct usbnet *dev) { struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); - struct mii_if_info *mii = &dev->mii; u32 val; int ret; @@ -1438,17 +1437,17 @@ static int smsc95xx_enter_suspend1(struct usbnet *dev) * compatibility with non-standard link partners */ if (pdata->features & FEATURE_PHY_NLP_CROSSOVER) - smsc95xx_mdio_write_nopm(dev->net, mii->phy_id, PHY_EDP D_CONFIG, - PHY_EDPD_CONFIG_DEFAULT); + smsc95xx_mdio_write_nopm(dev, PHY_EDPD_CONFIG, + PHY_EDPD_CONFIG_DEFAULT); /* enable energy detect power-down mode */ - ret = smsc95xx_mdio_read_nopm(dev->net, mii->phy_id, PHY_MODE_CTRL_STS); + ret = smsc95xx_mdio_read_nopm(dev, PHY_MODE_CTRL_STS); if (ret < 0) return ret; ret |= MODE_CTRL_STS_EDPWRDOWN_; - smsc95xx_mdio_write_nopm(dev->net, mii->phy_id, PHY_MODE_CTRL_STS, ret); + smsc95xx_mdio_write_nopm(dev, PHY_MODE_CTRL_STS, ret); /* enter SUSPEND1 mode */ ret = smsc95xx_read_reg_nopm(dev, PM_CTRL, &val); diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 11af5d5ece60..bcdd7e726f5b 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -261,16 +261,18 @@ static void __smsc95xx_mdio_write(struct net_device *netdev, int phy_id, mutex_unlock(&dev->phy_mutex); } -static int smsc95xx_mdio_read_nopm(struct net_device *netdev, int phy_id, - int idx) +static int smsc95xx_mdio_read_nopm(struct usbnet *dev, int idx) { - return __smsc95xx_mdio_read(netdev, phy_id, idx, 1); + struct mii_if_info *mii = &dev->mii; + + return __smsc95xx_mdio_read(dev->net, mii->phy_id, idx, 1); } -static void smsc95xx_mdio_write_nopm(struct net_device *netdev, int phy_id, - int idx, int regval) +static void smsc95xx_mdio_write_nopm(struct usbnet *dev, int idx, int regval) { - __smsc95xx_mdio_write(netdev, phy_id, idx, regval, 1); + struct mii_if_info *mii = &dev->mii; + From patchwork Mon Jun 29 20:02:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 1319131 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=microchip.com header.i=@microchip.com header.a=rsa-sha256 header.s=mchp header.b=HZaH6hQh; dkim=pass (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-microchiptechnology-onmicrosoft-com header.b=U6KBf8BJ; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49wdgZ5Z8lz9sXg for ; Tue, 30 Jun 2020 06:02:18 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388585AbgF2UCR (ORCPT ); Mon, 29 Jun 2020 16:02:17 -0400 Received: from esa2.microchip.iphmx.com ([68.232.149.84]:40012 "EHLO esa2.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388349AbgF2UCO (ORCPT ); Mon, 29 Jun 2020 16:02:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593460933; x=1624996933; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=AOD/H1vpG6XSIqc8RUmsbxQn9Jt3sf/cNjdYO4ZDcTM=; b=HZaH6hQhaKjFcmRd11KvIYlzIoEb55gQmDOTnpzSPSXtWFlHZUkeI07T M81x/353GQEvmi2eAMr3kUswLhrRHv7WQGrXiy/nztnwPvMDzYt+u710N J7Avyq+Bc8fcTNCrbf8O+JsVsC+uJTiIEviUK6onpgH3YHmkgJZJFWQme pqPdRYZkOvUDku9zw8ujh6aW7p8I4j9vpNiwSZrnbfI52ttzcN433RMzg sSXt78MHkk/IfG4tW3LkzKQd7Ro80Clond++i1F/JcOC6ubbPjfVa+UIu 8++sy8hfMboGA8xgxmJbmdhIcOnd0A36b9HdFXqmSpTb9vvfXrzgd9Rp/ A==; IronPort-SDR: T5vBc7QBfOK+A9citRxp6bWP4+Hn+G3se8cwWe55d0pjShL2kfsXFNetZqO76frsKRCCd344jt H9J7N5k/vb4iQPoehhTrHrd644OuhZU9EWuzyo65LbU2pEZQZhToa8JjMh6gCyFt39VtpyiZLo l+frujW/bZ2smHINAlzK+1EClaDHYc9gmJeTT5+Xn139bKj4HtjHk/qMI+2DS+yv7/FVrtMeu/ RbddGC3h5jEaiWoaIyREqQz0Nva0GnbakThos3yhe9UQLf0pPR/PqesUyjivxVVAKqh0AkdOyz 2uk= X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="80128691" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 13:02:12 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 13:01:55 -0700 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 13:02:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j83zFoXOg+YBGxVY8K6hmr7Jo4qEfKZRPwa8aSS32cFMTRFFwqwM8avuQog2+Rxsz+nfwQ6vYpIRcsSIVjx9k+ydqxFUDDIqjwG4etj3MDKg2mfzpsPVBR9E7XoVZR11xZ8LPWgcYZ2TsbMnW11I4C52DMQNJvCOngzxJEQLBFEB8kh7e5/q87rMLHB4HiLaZXp7dlhLhXck3jwYMdmLpxgZuynT3MNRNbHVG1I1vAB+9EwK1RwACHK4SRbgmMIY+WfZGaAMnb46sDkAVJEFhDQ32pWzsqIRXH2RhabiEDfAZQ9/KPN0maAnD+8ngIsBNTC0rcGCChIDRuvy4lg88g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AOD/H1vpG6XSIqc8RUmsbxQn9Jt3sf/cNjdYO4ZDcTM=; b=fcbgpxRTvCaV0OlEBHw9rhtV1E28yhk7lbDhkVY86xaxKnxFs0yM9syRcskuj6gyunuUXEiQ/zpgscuVQY28kH8nMIrtpLz2efJLLB2FwV7lYn6MHNxxypUhPp+nVPcNgIYM2dLxBN3OvknaQKSxZZXM3EQa8IIQKbxtPt4aG48jQ/kq+0Xk+JqamP0dUUAGzsGeNGbbBYM9LzIZjzjJn8MdpfFJBC6pte2FWcdvQQoRh1IaTbBeh05XIsJKbsCCmRUlcVY8o5K0mI5EbXydldk4Juy3Pj4pq2lL5XRUsxBFc/nEtzSCi+4jApOsOIOzkJcU8by+ttx5q8oI4B7C4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AOD/H1vpG6XSIqc8RUmsbxQn9Jt3sf/cNjdYO4ZDcTM=; b=U6KBf8BJaq/857VttOw8M2JPJ4HXVaVDnNsLoeSGiVNXRTnhUtkpKLH4kIN9WwZgSZ3X13t2VemqojThPLLovuTxokYNEs7Ij0XyGWJ31gu474nSJJTDDMvg3aFJUpzktNXvEzXwFyAHou217wLYVtvs9uObx6m5M2Ma7jvC+28= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BYAPR11MB3045.namprd11.prod.outlook.com (2603:10b6:a03:88::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.26; Mon, 29 Jun 2020 20:02:10 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 20:02:10 +0000 From: To: , , CC: Subject: [PATCH net-next 7/8] smsc95xx: use PHY framework instead of MII library Thread-Topic: [PATCH net-next 7/8] smsc95xx: use PHY framework instead of MII library Thread-Index: AQHWTlAsTF1B5G+7AkGTORsAdYQICQ== Date: Mon, 29 Jun 2020 20:02:09 +0000 Message-ID: <1eacb44f2585c21a259f7132e0d860a0ed021550.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2d119e1c-608c-46a7-caf8-08d81c674eb9 x-ms-traffictypediagnostic: BYAPR11MB3045: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:6108; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UK9kjBigl+7qiWapmt/B5e5mh8H3J4E+P7f4HnHaJgu4ot5TeAP2ZDwov+rh2WE5fV9WbBnDh/kNtVGDJ13LXry8uOQjP/hghisZJWAnAyABOtlve52HsL1SdMx+MtXbceE26jBJRlxULOkoqqaH7PLLMYrRjx5HZ1S7nb47iYDDBwdVcJY9rkO6u+taeupla0zudzqqZJdHEY/NabGcDoZLiZ8fqEero1BbgNcm4Y2kXEBHQdJrmu9tf8avwetslZ+K83GQc+q8POfIfPjNPc9mrmDtOXR0STQim5YDGuzQGiIeP0GJkYJn91B0xYARG6/9d/AJ4cdwd6F1qHNc3g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB3927.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(39860400002)(396003)(346002)(376002)(366004)(136003)(110136005)(478600001)(36756003)(8936002)(5660300002)(107886003)(2616005)(6512007)(316002)(66556008)(64756008)(66446008)(86362001)(71200400001)(66946007)(66476007)(91956017)(76116006)(4326008)(8676002)(6486002)(6506007)(26005)(186003)(83380400001)(2906002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: Nl3Ci8ky8ROJkZZk0fC7KDx/Ekxa4YUNTFV2uJFPMXjFHVjQPkzSNGa67zdovrib5Rucgwb5du41BqTi+cEf8tBAQazzB0i2AjllyyMrKVFh/pjCgKu/w0xvBTrqNy3XNZAB9iRPS2tARNZe4vDcG3iZ0TS/nEhnZViPeBDNuLft7d/e4b26ZPyg9a+NWVUdibP5Zpg/agG+xHk7aeCRybHXTi46Z+ppnLcFnDT4I4M98lMkBMMu9qdUiXdDI4jWnzzIwExASG8Eshw44kKmhmC1WOHWSZTvYa8r5h7x/rYLxuK4v6cAn9iWsk0FAgPClHZHMaJYW6un5hcwet3K1MbqcoEHP0dlDcuMnIKx3xGh9/hKMotVPSnGw/jm967UQJBgot/qVDLkKj8AwbjojMNRMGIO98LyJFM1nloqm6vbQrj6cA/7XcduBokvnuYJOR+PzAduLOwZTI0MHSiYJkOzMsoq00DkkB++M0xraB/kqDWCeP4osfn7IPiJcQmd Content-ID: <43EC9A3058136F438F9D73BEDC270A5E@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d119e1c-608c-46a7-caf8-08d81c674eb9 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 20:02:09.9054 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FHpEM6KIKk373GZ/w2Q1z5A9DltKUO7REdahL6JFS0pC3cJTOqwsFeXpKR9Q24hd6ZjSE/+bvqpq3S/s1QcmLwnmp1jAdPzbmJaYkZqd4Rw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3045 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since the PHY framework is used anyway, replace the rest of the calls to the MII library, including those from the USB Network driver infrastructure, by the calls to the PHY framework. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 92 +++++++++++++++----------------------- 1 file changed, 36 insertions(+), 56 deletions(-) u32 chip_id; u32 mac_cr; @@ -173,10 +176,9 @@ static int __must_check __smsc95xx_phy_wait_not_busy(struct usbnet *dev, return -EIO; } -static int __smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx, +static int __smsc95xx_mdio_read(struct usbnet *dev, int phy_id, int idx, int in_pm) { - struct usbnet *dev = netdev_priv(netdev); u32 val, addr; int ret; @@ -190,8 +192,8 @@ static int __smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx, } /* set the address, index & direction (read from PHY) */ - phy_id &= dev->mii.phy_id_mask; - idx &= dev->mii.reg_num_mask; + phy_id &= PHY_ID_MASK; + idx &= REG_NUM_MASK; addr = (phy_id << 11) | (idx << 6) | MII_READ_ | MII_BUSY_; ret = __smsc95xx_write_reg(dev, MII_ADDR, addr, in_pm); if (ret < 0) { @@ -218,10 +220,9 @@ static int __smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx, return ret; } -static void __smsc95xx_mdio_write(struct net_device *netdev, int phy_id, +static void __smsc95xx_mdio_write(struct usbnet *dev, int phy_id, int idx, int regval, int in_pm) { - struct usbnet *dev = netdev_priv(netdev); u32 val, addr; int ret; @@ -242,8 +243,8 @@ static void __smsc95xx_mdio_write(struct net_device *netdev, int phy_id, } /* set the address, index & direction (write to PHY) */ - phy_id &= dev->mii.phy_id_mask; - idx &= dev->mii.reg_num_mask; + phy_id &= PHY_ID_MASK; + idx &= REG_NUM_MASK; addr = (phy_id << 11) | (idx << 6) | MII_WRITE_ | MII_BUSY_; ret = __smsc95xx_write_reg(dev, MII_ADDR, addr, in_pm); if (ret < 0) { @@ -263,34 +264,23 @@ static void __smsc95xx_mdio_write(struct net_device *netdev, int phy_id, static int smsc95xx_mdio_read_nopm(struct usbnet *dev, int idx) { - struct mii_if_info *mii = &dev->mii; + struct smsc95xx_priv *pdata = dev->driver_priv; - return __smsc95xx_mdio_read(dev->net, mii->phy_id, idx, 1); + return __smsc95xx_mdio_read(dev, pdata->phydev->mdio.addr, idx, 1); } static void smsc95xx_mdio_write_nopm(struct usbnet *dev, int idx, int regval) { - struct mii_if_info *mii = &dev->mii; - - __smsc95xx_mdio_write(dev->net, mii->phy_id, idx, regval, 1); -} - -static int smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx) -{ - return __smsc95xx_mdio_read(netdev, phy_id, idx, 0); -} + struct smsc95xx_priv *pdata = dev->driver_priv; -static void smsc95xx_mdio_write(struct net_device *netdev, int phy_id, int idx, - int regval) -{ - __smsc95xx_mdio_write(netdev, phy_id, idx, regval, 0); + __smsc95xx_mdio_write(dev, pdata->phydev->mdio.addr, idx, regval, 1); } static int smsc95xx_mdiobus_read(struct mii_bus *bus, int phy_id, int idx) { struct usbnet *dev = bus->priv; - return __smsc95xx_mdio_read(dev->net, phy_id, idx, 0); + return __smsc95xx_mdio_read(dev, phy_id, idx, 0); } static int smsc95xx_mdiobus_write(struct mii_bus *bus, int phy_id, int idx, @@ -298,7 +288,7 @@ static int smsc95xx_mdiobus_write(struct mii_bus *bus, int phy_id, int idx, { struct usbnet *dev = bus->priv; - __smsc95xx_mdio_write(dev->net, phy_id, idx, regval, 0); + __smsc95xx_mdio_write(dev, phy_id, idx, regval, 0); return 0; } @@ -569,8 +559,7 @@ static int smsc95xx_phy_update_flowcontrol(struct usbnet *dev, u8 duplex, static int smsc95xx_link_reset(struct usbnet *dev) { struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); - struct mii_if_info *mii = &dev->mii; - struct ethtool_cmd ecmd = { .cmd = ETHTOOL_GSET }; + struct ethtool_link_ksettings cmd; unsigned long flags; u16 lcladv, rmtadv; int ret; @@ -584,17 +573,16 @@ static int smsc95xx_link_reset(struct usbnet *dev) if (ret < 0) return ret; - mii_check_media(mii, 1, 1); - mii_ethtool_gset(&dev->mii, &ecmd); + phy_ethtool_ksettings_get(pdata->phydev, &cmd); lcladv = phy_read(pdata->phydev, MII_ADVERTISE); rmtadv = phy_read(pdata->phydev, MII_LPA); netif_dbg(dev, link, dev->net, "speed: %u duplex: %d lcladv: %04x rmtadv: %04x\n", - ethtool_cmd_speed(&ecmd), ecmd.duplex, lcladv, rmtadv); + cmd.base.speed, cmd.base.duplex, lcladv, rmtadv); spin_lock_irqsave(&pdata->mac_cr_lock, flags); - if (ecmd.duplex != DUPLEX_FULL) { + if (cmd.base.duplex != DUPLEX_FULL) { pdata->mac_cr &= ~MAC_CR_FDPX_; pdata->mac_cr |= MAC_CR_RCVOWN_; } else { @@ -607,7 +595,8 @@ static int smsc95xx_link_reset(struct usbnet *dev) if (ret < 0) return ret; - ret = smsc95xx_phy_update_flowcontrol(dev, ecmd.duplex, lcladv, rmtadv); + ret = smsc95xx_phy_update_flowcontrol(dev, cmd.base.duplex, lcladv, + rmtadv); if (ret < 0) netdev_warn(dev->net, "Error updating PHY flow control\n"); @@ -780,6 +769,9 @@ static void set_mdix_status(struct net_device *net, __u8 mdix_ctrl) struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); int buf; + if (pdata->mdix_ctrl == mdix_ctrl) + return; + if ((pdata->chip_id == ID_REV_CHIP_ID_9500A_) || (pdata->chip_id == ID_REV_CHIP_ID_9530_) || (pdata->chip_id == ID_REV_CHIP_ID_89530_) || @@ -821,7 +813,7 @@ static int smsc95xx_get_link_ksettings(struct net_device *net, struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); int retval; - retval = usbnet_get_link_ksettings(net, cmd); + retval = phy_ethtool_get_link_ksettings(net, cmd); cmd->base.eth_tp_mdix = pdata->mdix_ctrl; cmd->base.eth_tp_mdix_ctrl = pdata->mdix_ctrl; @@ -832,21 +824,19 @@ static int smsc95xx_get_link_ksettings(struct net_device *net, static int smsc95xx_set_link_ksettings(struct net_device *net, const struct ethtool_link_ksettings *cmd) { - struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); - int retval; - - if (pdata->mdix_ctrl != cmd->base.eth_tp_mdix_ctrl) - set_mdix_status(net, cmd->base.eth_tp_mdix_ctrl); - - retval = usbnet_set_link_ksettings(net, cmd); + set_mdix_status(net, cmd->base.eth_tp_mdix_ctrl); + return phy_ethtool_set_link_ksettings(net, cmd); +} - return retval; +static u32 smsc95xx_get_link(struct net_device *net) +{ + phy_read_status(net->phydev); + return net->phydev->link; } static const struct ethtool_ops smsc95xx_ethtool_ops = { - .get_link = usbnet_get_link, - .nway_reset = usbnet_nway_reset, + .get_link = smsc95xx_get_link, + .nway_reset = phy_ethtool_nway_reset, .get_drvinfo = usbnet_get_drvinfo, .get_msglevel = usbnet_get_msglevel, .set_msglevel = usbnet_set_msglevel, @@ -864,12 +854,10 @@ static const struct ethtool_ops smsc95xx_ethtool_ops = { static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) { - struct usbnet *dev = netdev_priv(netdev); - if (!netif_running(netdev)) return -EINVAL; - return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL); + return phy_mii_ioctl(netdev->phydev, rq, cmd); } static void smsc95xx_init_mac_address(struct usbnet *dev) @@ -1179,7 +1167,7 @@ static int smsc95xx_start_phy(struct usbnet *dev) phy_attached_info(net->phydev); phy_start(net->phydev); - mii_nway_restart(&dev->mii); + phy_start_aneg(net->phydev); return 0; } @@ -1268,9 +1256,6 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) pdata->mdiobus->write = smsc95xx_mdiobus_write; pdata->mdiobus->name = "smsc95xx-mdiobus"; - dev->mii.phy_id_mask = 0x1f; - dev->mii.reg_num_mask = 0x1f; - snprintf(pdata->mdiobus->id, ARRAY_SIZE(pdata->mdiobus->id), "usb-%03d:%03d", dev->udev->bus->busnum, dev->udev- > devnum); @@ -1287,11 +1272,6 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) goto unregister_mdio; } - dev->mii.dev = dev->net; - dev->mii.mdio_read = smsc95xx_mdio_read; - dev->mii.mdio_write = smsc95xx_mdio_write; - dev->mii.phy_id = pdata->phydev->mdio.addr; - /* detect device revision as different features may be available */ ret = smsc95xx_read_reg(dev, ID_REV, &val); if (ret < 0) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index bcdd7e726f5b..06fcc2518305 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -51,6 +51,9 @@ #define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \ SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3) +#define PHY_ID_MASK 0x1f +#define REG_NUM_MASK 0x1f + struct smsc95xx_priv { From patchwork Mon Jun 29 20:02:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 1319137 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=microchip.com header.i=@microchip.com header.a=rsa-sha256 header.s=mchp header.b=uDyoxjJ/; dkim=pass (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-microchiptechnology-onmicrosoft-com header.b=D+Qy2UGN; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49wdhx6z3cz9sWK for ; Tue, 30 Jun 2020 06:03:29 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388358AbgF2UD3 (ORCPT ); Mon, 29 Jun 2020 16:03:29 -0400 Received: from esa5.microchip.iphmx.com ([216.71.150.166]:37764 "EHLO esa5.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388692AbgF2UCs (ORCPT ); Mon, 29 Jun 2020 16:02:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593460968; x=1624996968; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=vhHxoitwLNvh4sPqW8n1vCfPr1Utq7aEAM5FszThTIQ=; b=uDyoxjJ/AWH+vZv16pqGfWcMbYF06GRkcTlQnJ1hdtuhUWv1OSiNqA7v pGMlqrzf/0to7bJ8CDeOsVHvF8vN58ph+qrXlZZ/mIbu0eaGZv7xgNDx1 VWEQ5+jk9XWX9/Gh9Nda8Spxj9odNct25lO8BOZZs5gjs1CM8HvLHvSOh PAnoK9M47NnVFkKHs/aeiRPHOpL1jL/hnCzHOpbRPsBwSsvijk8xUNO0U Uhwu7MkHwrxDumbZ/jsmGPa1h2IaqT41xYNHqho2aLe6pFA/zr4aoFuvG /hDbeWWysFhXanjpGbi/EC8hDN3Wx2B8LJVuNqQT5AvKiLqBiyGyd1Qr0 g==; IronPort-SDR: WqH3QwhOwn0C72AYik8uhgMphW2HHIgNngCTaFqz6NcDLLpUlqcNdONpNHE2Chu5k62x+pjw+D FxjQ3M53KDXU8MmGaIQiku9sIZ/ByL5x51k1mBI5WisGn/SyCfxq0Gbbp+JHLdT4je3TixrNS2 FmJtZU7wLcooiJTNZszBHs9CyhrSlDn7f8R7FImSLxzrManVhm72fhDw8zpFkA+J3wHIB8HSXH k914a+ssWCzlwFtS+BP4gzP4+LdS+vLD8vtJwY4D+Pl9VTExClpaE/ZTqcmjwBqPPB/EiBmolO ubI= X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="81282383" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 13:02:22 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 13:02:21 -0700 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 13:02:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RJzdEpdRunaN3L4CU7kI8ybEKQsowcSKE1qOLQpdouJRJoHAw+tjQIIr1RYgntpPuiPT8iKD4ndy8ljLv0xHToD6b0e3hNR16kK17SmZ9k4dDxZD0GoB/+BjhFdBcCcjAaPsQt3CelmhViW8uf6IQcIBrvtF41xb4yy/N5KxsNuhBswKxo6L1pvMYVHsDw46gSEqYUYVyVl1SHtAEQnE1TASrB+bf6Jx8f35aiYd2AU7V/V78Tw4sb+YHG7496C6biAfjk5PPkREjfjCf+6yyS+4zR4BALyETMQljcmFlQ8yugS77gPLBiafuuNBbZOyfqtIVyA+ukVj0k7acv1STw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vhHxoitwLNvh4sPqW8n1vCfPr1Utq7aEAM5FszThTIQ=; b=ULjl6u76DZUb4Y2KLicle/WH5V0TxORxEmNyq6q4t+eQqgwjc+ZHEHbNEkXEKHni0zhZauI6fuIA4hwEx5x0CUcT6Fw9EGP5WaX+tqUtO5toQS2g1CoEwbyrfZz2eig9MxzRIEiH5TosYrWBqfg+ETm21vzdEFt2lqV4v3J9lc5OgNEQ/tw5KDRBys0OdLMtb3fIBP3a1xZ4yRs7/GfwuOkdnGILfXnK6LPKp2xEWSDpkeuqDecje/5N0ual9Azq65Lqe3ev7CXhYumkIBpDuZJG+wRAxBYOYpO/iYZLHTXtFaeIpi2QPf4ID4AbTTP3ZjQNvYOqGnFx8MgFDJmkSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vhHxoitwLNvh4sPqW8n1vCfPr1Utq7aEAM5FszThTIQ=; b=D+Qy2UGNcH9zXuPApqbBiy0pc1c3fkE82GKH0l2I1miB0m1vZptKJAspcVuL8bmrXBu0aIDVKZLFUct4BGGNVnfrhz3zFurrhkr0k+dcb7FoPK3rllgRwAY85+hFjy2mStzc7BaOP0EuBPNkMst2yX8yyXeh1pOklV7oy1lBdgc= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BYAPR11MB3045.namprd11.prod.outlook.com (2603:10b6:a03:88::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.26; Mon, 29 Jun 2020 20:02:19 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 20:02:19 +0000 From: To: , , CC: Subject: [PATCH net-next 8/8] smsc95xx: use usbnet->driver_priv Thread-Topic: [PATCH net-next 8/8] smsc95xx: use usbnet->driver_priv Thread-Index: AQHWTlAxnz5NCPMffUSKWU9ZdB7y0g== Date: Mon, 29 Jun 2020 20:02:19 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fd67b616-aba5-4cc5-3cc7-08d81c67547f x-ms-traffictypediagnostic: BYAPR11MB3045: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:7219; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eVhBxeMO0+ZLIeY7dJ1uae7CPOKwR0/U20VSMEH0owEAgbjFYJ6cJ4NHNxBfJMXkkPIoeESboxfiAz8+xNmmDzjLNnYBQ3I5pB9o43OLxC1itWlTWCgjwkmIFFTzkhPHuRabuaQFGks4T5JPDn7jYT+hwzm9FITbTjLZOVkWJ2hw7L1xfpTOq0qZysstZUz/IjRZaGAIed3yu9UC+rMSw/8W30VxOSN7P73ylER/TcF9J9RF5IPNC/oC9199pyzg7VljV8LznrIOzCRiabBmYwjCVbL/p3Ag+uXJZLmHnPlWJu59sUNWgGMPaGsxw9G6 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB3927.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(39860400002)(396003)(346002)(376002)(366004)(136003)(110136005)(478600001)(36756003)(8936002)(5660300002)(107886003)(2616005)(6512007)(316002)(66556008)(64756008)(66446008)(86362001)(71200400001)(66946007)(66476007)(91956017)(76116006)(4326008)(8676002)(6486002)(6506007)(26005)(186003)(83380400001)(2906002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: wR9aDIOtU+hrfFXWWki//WqZEHS/ThtX93Nd62fPvciWLd9Hkbi0QjfopwJQDsgGZYwttpP9NG+TYkJ/NrCnPX0081HQ+Pfm1z+LpM4dMh9RjjE8Jz9wCVdwEiJYe6OOKIVMWYs0asNwforBK9LUlEMEQc8WbS8JjM2beJQCrc/xmFzpCK0eN9SaTGY9nTNQ2gm+LWOafny49w/Cng0hBBOz901n7y1aGBzGvXzmiAW1UpBzsppduxBPpmYa++yF4oDFQmIB8Xt5xy6+D8ITirMK81TeZKRQIWZD40xCJYLZXpufnystA6rzFu9upB4GhsfLgeb5g1lRAhD/2n/Y/UhFsuHzrOu+iAe53KttOuI+UnXW14YMVRpyms27Jq10uiCr476pTUkBDtZyHKAR4o0qIUIwJlM0K1L/z9i7VuzFMvEr9/NEashPvA3UvkPKJWX3kS9H2CMvRLd5xaU3nxPsPbbTM3KeDLpTYN/LaIHqgnCgkt+psVIOf7YAENvX Content-ID: <39B223FD0797164A8D435D18B567CA80@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd67b616-aba5-4cc5-3cc7-08d81c67547f X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 20:02:19.5600 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XCCUUXwTiWOJj7yM80Q+D3lvUAbo7ySVT5DJsUG6uigYMq20pNvc3JKA7aPS4ZSHr4TFAi9VBmTukVf4yHGQaaKCKtm8x59NQU4yEo+wjzw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3045 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Using `void *driver_priv` instead of `unsigned long data[]` is more straightforward way to recover the `struct smsc95xx_priv *` from the `struct net_device *`. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 61 +++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 33 deletions(-) int ret; @@ -558,7 +558,7 @@ static int smsc95xx_phy_update_flowcontrol(struct usbnet *dev, u8 duplex, static int smsc95xx_link_reset(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; struct ethtool_link_ksettings cmd; unsigned long flags; u16 lcladv, rmtadv; @@ -716,7 +716,7 @@ static void smsc95xx_ethtool_get_wol(struct net_device *net, struct ethtool_wolinfo *wolinfo) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; wolinfo->supported = SUPPORTED_WAKE; wolinfo->wolopts = pdata->wolopts; @@ -726,7 +726,7 @@ static int smsc95xx_ethtool_set_wol(struct net_device *net, struct ethtool_wolinfo *wolinfo) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; int ret; if (wolinfo->wolopts & ~SUPPORTED_WAKE) @@ -744,7 +744,7 @@ static int smsc95xx_ethtool_set_wol(struct net_device *net, static int get_mdix_status(struct net_device *net) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int buf; @@ -766,7 +766,7 @@ static int get_mdix_status(struct net_device *net) static void set_mdix_status(struct net_device *net, __u8 mdix_ctrl) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; int buf; if (pdata->mdix_ctrl == mdix_ctrl) @@ -810,7 +810,7 @@ static int smsc95xx_get_link_ksettings(struct net_device *net, struct ethtool_link_ksettings *cmd) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; int retval; retval = phy_ethtool_get_link_ksettings(net, cmd); @@ -903,7 +903,7 @@ static int smsc95xx_set_mac_address(struct usbnet *dev) /* starts the TX path */ static int smsc95xx_start_tx_path(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; unsigned long flags; int ret; @@ -923,7 +923,7 @@ static int smsc95xx_start_tx_path(struct usbnet *dev) /* Starts the Receive path */ static int smsc95xx_start_rx_path(struct usbnet *dev, int in_pm) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; unsigned long flags; spin_lock_irqsave(&pdata->mac_cr_lock, flags); @@ -935,7 +935,7 @@ static int smsc95xx_start_rx_path(struct usbnet *dev, int in_pm) static int smsc95xx_reset(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 read_buf, write_buf, burst_cap; int ret = 0, timeout; @@ -1148,7 +1148,7 @@ static void smsc95xx_handle_link_change(struct net_device *net) static int smsc95xx_start_phy(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; struct net_device *net = dev->net; int ret; @@ -1194,7 +1194,7 @@ static const struct net_device_ops smsc95xx_netdev_ops = { static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) { - struct smsc95xx_priv *pdata = NULL; + struct smsc95xx_priv *pdata; u32 val; int ret; @@ -1206,13 +1206,12 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) return ret; } - dev->data[0] = (unsigned long)kzalloc(sizeof(struct smsc95xx_priv), - GFP_KERNEL); - - pdata = (struct smsc95xx_priv *)(dev->data[0]); + pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); if (!pdata) return -ENOMEM; + dev->driver_priv = pdata; + spin_lock_init(&pdata->mac_cr_lock); /* LAN95xx devices do not alter the computed checksum of 0 to 0xffff. @@ -1311,16 +1310,12 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; - if (pdata) { - mdiobus_unregister(pdata->mdiobus); - mdiobus_free(pdata->mdiobus); - netif_dbg(dev, ifdown, dev->net, "free pdata\n"); - kfree(pdata); - pdata = NULL; - dev->data[0] = 0; - } + mdiobus_unregister(pdata->mdiobus); + mdiobus_free(pdata->mdiobus); + netif_dbg(dev, ifdown, dev->net, "free pdata\n"); + kfree(pdata); } static u32 smsc_crc(const u8 *buffer, size_t len, int filter) @@ -1370,7 +1365,7 @@ static int smsc95xx_link_ok_nopm(struct usbnet *dev) static int smsc95xx_enter_suspend0(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int ret; @@ -1409,7 +1404,7 @@ static int smsc95xx_enter_suspend0(struct usbnet *dev) static int smsc95xx_enter_suspend1(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int ret; @@ -1456,7 +1451,7 @@ static int smsc95xx_enter_suspend1(struct usbnet *dev) static int smsc95xx_enter_suspend2(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int ret; @@ -1478,7 +1473,7 @@ static int smsc95xx_enter_suspend2(struct usbnet *dev) static int smsc95xx_enter_suspend3(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int ret; @@ -1517,7 +1512,7 @@ static int smsc95xx_enter_suspend3(struct usbnet *dev) static int smsc95xx_autosuspend(struct usbnet *dev, u32 link_up) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; int ret; if (!netif_running(dev->net)) { @@ -1565,7 +1560,7 @@ static int smsc95xx_autosuspend(struct usbnet *dev, u32 link_up) static int smsc95xx_suspend(struct usb_interface *intf, pm_message_t message) { struct usbnet *dev = usb_get_intfdata(intf); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val, link_up; int ret; @@ -1830,7 +1825,7 @@ static int smsc95xx_resume(struct usb_interface *intf) u32 val; BUG_ON(!dev); - pdata = (struct smsc95xx_priv *)(dev->data[0]); + pdata = dev->driver_priv; suspend_flags = pdata->suspend_flags; netdev_dbg(dev->net, "resume suspend_flags=0x%02x\n", suspend_flags); @@ -2050,7 +2045,7 @@ static struct sk_buff *smsc95xx_tx_fixup(struct usbnet *dev, static int smsc95xx_manage_power(struct usbnet *dev, int on) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; dev->intf->needs_remote_wakeup = on; diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 06fcc2518305..76d03652477d 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -463,7 +463,7 @@ static unsigned int smsc95xx_hash(char addr[ETH_ALEN]) static void smsc95xx_set_multicast(struct net_device *netdev) { struct usbnet *dev = netdev_priv(netdev); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; unsigned long flags;