From patchwork Thu Nov 10 23:10:46 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 693502 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3tFJgl6NT9z9t2D for ; Fri, 11 Nov 2016 10:10:59 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="NtDAfiuN"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964989AbcKJXK4 (ORCPT ); Thu, 10 Nov 2016 18:10:56 -0500 Received: from mail-dm3nam03on0059.outbound.protection.outlook.com ([104.47.41.59]:23280 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S964802AbcKJXKy (ORCPT ); Thu, 10 Nov 2016 18:10:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=5p794lxf1BWiNco8xGTk/ITb2HBkXI/ZOp0/98XWsJ8=; b=NtDAfiuNTMMgaIhCVa0SHmyqPrR4zzCS99kt5l4pvUasKAJ+sdySNuPMRuma4+0D+uGLw4oMo7a6htAPg5btxvfhu5moLrYE690J8srnisRKB/qkS1Bkut/pSPlolxxyCRnNyvLJBI1BrBsTiFKkAYb9YQFdokenDJ2Pzx2u/j4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Received: from tlendack-t1.amdoffice.net (165.204.77.1) by CY4PR12MB1142.namprd12.prod.outlook.com (10.168.163.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.721.10; Thu, 10 Nov 2016 23:10:52 +0000 From: Tom Lendacky Subject: [PATCH net-next v1 08/11] net: phy: expose phy_aneg_done API for use by drivers To: CC: Florian Fainelli , David Miller Date: Thu, 10 Nov 2016 17:10:46 -0600 Message-ID: <20161110231046.20704.50400.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20161110230916.20704.34081.stgit@tlendack-t1.amdoffice.net> References: <20161110230916.20704.34081.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR03CA0043.namprd03.prod.outlook.com (10.175.124.29) To CY4PR12MB1142.namprd12.prod.outlook.com (10.168.163.150) X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1142; 2:XxTavU8jGN4cj75oU8UU4+LVo0facDYFHawT2/pzPuGyJuJPliWHlUrO+0zqSrFjxu4VdkIB3pYBIT95xMQI8/8wMy9gdK89n2HRUls5EVq8Cn+0Xoy+9ltnc9FwjOyB7+WlOkHXjQF8BqBMYG9sGWBSMupKTtSS1mml/If2KU0=; 3:hpAjXXp7MZsx4o0hkaG3Pyw8VfvWDN6FBzfbWRm6iJXM67pIuX91aq01Ob4/9MwbisGjEDxEW0PIRm8NVPXClHY+sgK5Yo3mhY8BzdFDO101QlfDt0EZRuTQ1n97gxuAC06PbhNaNw0y+UUekXfqufUqTaEhr6g8Jxz0VSTc+Gg= X-MS-Office365-Filtering-Correlation-Id: fb5caafe-faeb-49c2-92b7-08d409bed17a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CY4PR12MB1142; X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1142; 25:OPQWQLUDlI74npZsRkYX59t81YmZbQCjJPzUTNjj6JJHnIqGsNaF8KULc78ngI+RicJIfR2r3m+zfqx1Tpzdbn2SkrsCxlZTrvoh19jebn11g6I3U8+GVjgj4Wml7NcyIYSwoEBq0dMKT6G+VeJz9j/QjvMQApnuVtPoS6YczPwDvEk+giMuXmnKP95DYRGl6elfSMterRF/MzKHpKN69FbQOMW6MRKmhNKESxZWCF54guqgiBLxOCe48MPwXywo7nyu3P+k2xmLRVwfPiZiOb0EXiJfqI5hEz5HB6bfJzuhjEkc/g9q4rLa6CwlnLQjWvqxYSSRsm0FZHzzPpWVLjyQT6nZD7QHpRw/m6zYeLdOO93EF4WKmoYsduVpO4j4CITBNbpxCv2lVW7Fey098q9KY6JcSMxHSohgXP+Xmf4NpfkzsjdbgxxyOSPxBOBUsLo4RHPOqL+Ii/0Ov5aiZFFOcH5EXSB/AUX9P9QS2GfkG2f2cfysXaojl2NBVrj1YXj1in26K61k1KeGSj9D0XT49kskwRoj2m0ZRjRt2t4hMfL+o4HfGMs9GKYUx1zS1G49bVOrX7GqzTJvSCJuA/chojOGQa8gECgrB5LmNHGjFpiz5Elk3Q1/DmnlkRnlWuBm2hhdSGRJgTeVhHQ2SAQuEiIH4Oqh32EfsmRf0vzC8W55OxcEhB3ZaWlC5dNXfn0sHELEIZ50k4Tx2l7la3yUdcM4/LBtUMm36FBk+pI= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1142; 31:G/I9w34i/ThHkfkWKuHk6Tq5xpRcy+Cdo4dQn41S1B7zyJD2jB8LtBDyRQxVZJ7wQ3QBG0A7tGxBcHnQ1fSooL1NviMp3fKlEoLENQ70vMukMYBK+G0Cn44L3tqc3GdjIndtFNwJJ7KCszK4+iA/TJPkIcGBN+01xzcCfbYznEjQNcDBOUxBZvCMYLMDPOh9xLdCR3+ZVUW8LPFAYRyJUPBKxKEFjD2jh/5kbHsxZA3beuZSp7/onbXqTLIemzBd; 20:7ES1RRAcuf1gPZ+yz0SipZBKxJWmy+PdEjMapaX30Nmh7J3dytUuvVqGnjZLlA7webF4toaIki5cqABJo2+w1GNtoVc31pxBnvITi+3GyqKhRWwhl051/t0CGZVJiMt0YpzzQZvsO+5Iuiyc/5mA7hrkhj16qn1GkDV04jYFWc+w4h22f8DSZtfDYTTlFxrtndvnm9vpQ3HLkNQqyB5kVmuo1SiEov2sIeVFG7EXBgbA6BlniJ7ldv7hA/jxJm4uH8Y5hLikpVzv/WZ4MmgKD3JqA57NvXTtrz0XuE9azgCYRCppS6n8f7vJLFetTIoq+bGko0qTnjxKFMQ47sc5YnSCgg3pkLj4FGFRr6IZxE9yJysofQcPDqsqoz9iIzl1REiu2drpBaGJO44EbAYagTrF0KsASes9wyN0qNyDB1/xQEGrE5UdON9lwO3VRrpBGHRse3mmZsyQAOshCc1EG3CziYqm8wPax72Kzu4Y1wXytHNgqTRoUaluNa9Clm/Q X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026); SRVR:CY4PR12MB1142; BCL:0; PCL:0; RULEID:; SRVR:CY4PR12MB1142; X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1142; 4:e/I3HV+nXibDBLrOHwlSDIYUugEmsKO0HPkZ5XyAxUOO/GSO46Bf7Y56LUhi9nM5NV7uOUIoiuILwDzr89KW/WVQ4/h/93BlkkU+XqsewwGGLcn9m3iS/9dQ9zEvpuoDDeijd1IWWGs+mb2V3GDzicO96Fe4Fdj3oO0knWFzNf6+ChdPdJMRGqIr0pwi2MBR+09emVWXJ2xu29gN5dycVHljK5aGdj3zp3Exjt/YtFpOuG8dn5PiH198zaxP8RYv5qnwIhqUimrB0xDEJfJokX8xtDDRL78oxZgYoD4oSHqPPXvI7DQ+Y5jl0tw5tc+2eFcqAYgdsz6T9YEi7qjWi3SFra7XNtzFhvA9VSXXYtm5lMzCSWoI/6c4AcZc0hU3GZt9Jvx5NjcuSYfOpyhPWvxGrkzME2UEHFdwzYGgG6j8aklV+Zsxwn/1eSNq4raf2Sy64xH+pZYZf1UHpF0dnw== X-Forefront-PRVS: 01221E3973 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(199003)(189002)(83506001)(1076002)(69596002)(6666003)(77096005)(53416004)(586003)(6916009)(42186005)(2950100002)(6116002)(3846002)(4001350100001)(50986999)(76176999)(97736004)(9686002)(54356999)(103116003)(23676002)(8676002)(68736007)(189998001)(101416001)(92566002)(66066001)(305945005)(2906002)(230700001)(47776003)(110136003)(7736002)(86362001)(7846002)(4326007)(5660300001)(105586002)(2351001)(81156014)(81166006)(33646002)(50466002)(106356001)(97746001)(71626007); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1142; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQyOzIzOmtHdllRSmQ0ZEpjZzM3M2NRRDVsYzUrZGIr?= =?utf-8?B?UGh4MnVGcTFVclIxTWY4Y20xZzhOZkZlOC9OOGJQMDNnU3cyR1hWNXp5TDlz?= =?utf-8?B?bTNMVHJyakxBRXZKYnlMbXFrNEh3ZloxeHpYVDkvQzErVkxIZS9aS1VXUVpj?= =?utf-8?B?cEVWa3l1K0ZBV09yeDZnODJXaGVkQjZNYlYxVmtvT0dINXcvZDlraTJxK1Yw?= =?utf-8?B?QWh3MFVNYjloTHgwOXlDWkFRQmJuV0JSeXRDUDByTkpsZlNOV3VUZCs5Q3RC?= =?utf-8?B?bXMrZ3VZbVB3Nm5UR1Q0TFdOUGw3SHhlR3E1T00xRExQNjQ1TFgvcGxEcVZi?= =?utf-8?B?cE1DQUl2bzM5eXhVTnAwN2N0UzE0bGd3Q2ZRY0R6MElYcnhuK0ljd2Njb2lP?= =?utf-8?B?NERUd1FCWm9MeG0xbWtzRnpkOGlsU3lRcTloU2JEdS8rb25xdkl0a3o5MjBX?= =?utf-8?B?Y25GVzRlWVIyeXBDdmliWmRhUWo1eGF0Y1Z3WHlqSnZ2VG5JV29vQi9QZkQw?= =?utf-8?B?Qnl3dXM5NUtWayt1bnF4S0NJbUxWQktpRlVEWFhzbmR4TTM1OTEvSkIyelNy?= =?utf-8?B?UG5seW9nUXNpZHE0MDNDRHBwanhpMSttVi9YeDdDSUhCQngzZnZEUzNsaVBh?= =?utf-8?B?eU5aUFh1UC9QRzIwaEhBK1hKRzVTSno0aFhaYkVnUU1GNnZ4TzZEWDF0dWZU?= =?utf-8?B?TnozYVRpOEtYYkxHeEdyRUtSNDFTSUdjUXhMQ1M1cW54Q01DV3NaWW56RkFu?= =?utf-8?B?ODFIZTRodnNOQXVYS1NrZU1HUDh0K0xVYU04anFkK0NIYTZIQkJ5bUJQWG03?= =?utf-8?B?THZtZ1VabnJDK20waWd6cnZITjJuOTM3SWtGSmVmTGVXRFlRS1AwZHEyd01D?= =?utf-8?B?NkdDSGxYWk1EdHRFMlBaeHZPYUZMTmdmSGRZaFNMVEpjQ3NNSHpJaE5rcXBD?= =?utf-8?B?QkJmSzdhR1Iydmk5TjR6NnpQSE1iaEZFNEROTjJzVGtJaC83WFh1VEY2bGhT?= =?utf-8?B?ZEdFTldUTU5NbHNSVFAzb2U1U2lQSzI4VEhhTHMwTEI3eVBmTkhLUFhGeVBp?= =?utf-8?B?NkJPRVQwR0VQTERvL3ZMQVQyR0g0U2xMNDBzQVFvRVFHWXNvYjlncWZ4elVK?= =?utf-8?B?U3RTenBzc2RITUVFaXh2RHA1Rm9jbmw5Z09xQ0QvT3ErbzZkL1RpWnZ0VjlC?= =?utf-8?B?d2FtSWo4cUw1Y3FiS1NvUS9oODFnK2NyVmpVb2VzRVBjM3JFbzRjdTlQeXht?= =?utf-8?B?cTJleHpqa3FTTW94QXpBWXVZdEZXM1BoWXo1OGRuM3pGMm1mVGdzZEZoajc4?= =?utf-8?B?MGsraWgrdHVLUEZzL0l1d1FVa3o3c1Z4MUcxdXozNWxxaWZ2MzNiVkFnUC9C?= =?utf-8?B?MWZraWFiYjlYcDZ5UXExQVFZdkZCV25JNXhuZWlnd3phMjBpOHJKZTBSTnlh?= =?utf-8?B?YjRsMnBLUjRkNzI2UDdlS3o1b1prdkp6dXo5WnBqbTIvYWtGYXBDVTdZWndG?= =?utf-8?B?T0U5ZkpONTVoZytjS2p6UGhxSFd6R1FYMkRUMjMxc2k3eVdzZ1FZNWhZMjB6?= =?utf-8?B?QjZMMzhiSUd4UDQrKzZzRFExNXFHd21tczVVM0h2azN0TUQxcG9jL3V4S3pt?= =?utf-8?B?SUhTa0hPOVA2eGErUTZ5bE5PZ0doNXVINVk5RjhTS1NJVXkxTnRmenhnPT0=?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1142; 6:ENNApz02vy2XUQDN9m72onrb/HdRtcXvlph1pDqvFPIp8K3lwAHjAKMTm6IPigGYTpSZfD0v77UDUOtMt9cDW0LZ+WA5XZpebp6/dl4QxxfGhMEH9r35z5udY1VpPTXKbc3WEvQRL/trkARXyNdsWBn1vyOniyG6DF+70agxGM57k5mfPi2UL945xWzeryw7zu/7geQFRZ7Vyvyb8b+wXs0J98FecXkxf+s39kZtfm7fCxjUpXmVFFHvdORRnDs8Zxn0Cbp52opGQquq5Y1iRRdZ8J28yWH/aebDXm8So6/xFQFodqGgOJGJlywC6/Ogv9OPikOMx2DxFCi1VCh4ExvlpRSQKKroTtWlEDHsD6c=; 5:x7rgd82ohl3CdpaiZx/xVnYgYYxPHGHmHu0XNZoWGL0p9ZivteXQ689TgQa202a5bH8Ih1JM2k7b9BD1tToAOn1UP+Jc/i7n7qw7zF+bRqdtMaKc6JXOf2fTC2z/2+QvFLbBjQMPdgsz9alLqlT6xw==; 24:RG61zHD+tCjtR414XhMZU85qqDBjTZAPmqLL6xi39xhR/7ZAocLqPP59/VG+/ne4hIST/qf3hnjQhTlEZLNvwi4lpUJh6Jrh5pcxP0KaB0M= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1142; 7:6+NKjumx9reTJqiYYONF2AhsLjtXlyeTQHezaOZN3GwXVYEgWjbEdlIqN9jRykDZwlk6eHx9EqnqYNy3UKfbC7S+eoVGim5p6wfXzTu6jtIh04GOa7g+P326HZ8p7y0Tmun5ke6GlE+vEZeozpSHWzGjUyb3TRyyaOh5sGqGYO+XdynjkLOZ8hNIAztNWWP4PAXCD8XuSvKokN+DilZWfcGAVnCppIh7N9B9fOa/hm9TOKVQoepw1quz91nksfgzgaehkc3XcMLmjjWL0xWfnhy7H7iATCmti1YlUaoUwaBGvBzcNN08oXg7h292702PnrvWMcUerMhwdcTWhoSpzqvWCVswyYulqwvo6iNwKNQ=; 20:m870WZuF9ZvqOLGakzs/D5RReyUSU5sIRzqk7TTn5ZVb1Mz3lQ/5YX0ulz2Fp5otPMsdvNyDriJlQ7HUPtmHvRsmDQnS4ojh1TD7lU7ikpMa5xQAqX4waTrBF64IeOYOkm1RqwY1MCPSOGKMpX5so3K9D57Bk1PUBYJjq5Ja8VJH9qliSCWqHGRj8kpCx/6KMZ4CfhULUHQGhySunAAJo2nzM/ZoLYvoqCzboGuzLyKByU9anJ/+JwUsfP/fNH+7 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2016 23:10:52.3185 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1142 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Make phy_aneg_done() available to drivers so that the result of the auto-negotiation initiated by phy_start_aneg() can be determined. Remove the local implementation of phy_aneg_done() from the Aeroflex driver and use the phy library version. Signed-off-by: Tom Lendacky --- drivers/net/ethernet/aeroflex/greth.c | 9 --------- drivers/net/phy/phy.c | 3 ++- include/linux/phy.h | 1 + 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/aeroflex/greth.c b/drivers/net/ethernet/aeroflex/greth.c index f8df824..93def92 100644 --- a/drivers/net/ethernet/aeroflex/greth.c +++ b/drivers/net/ethernet/aeroflex/greth.c @@ -1290,15 +1290,6 @@ static int greth_mdio_probe(struct net_device *dev) return 0; } -static inline int phy_aneg_done(struct phy_device *phydev) -{ - int retval; - - retval = phy_read(phydev, MII_BMSR); - - return (retval < 0) ? retval : (retval & BMSR_ANEGCOMPLETE); -} - static int greth_mdio_init(struct greth_private *greth) { int ret; diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 2f94c60..e6dd222 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -143,13 +143,14 @@ static int phy_config_interrupt(struct phy_device *phydev, u32 interrupts) * Returns > 0 on success or < 0 on error. 0 means that auto-negotiation * is still pending. */ -static inline int phy_aneg_done(struct phy_device *phydev) +int phy_aneg_done(struct phy_device *phydev) { if (phydev->drv->aneg_done) return phydev->drv->aneg_done(phydev); return genphy_aneg_done(phydev); } +EXPORT_SYMBOL(phy_aneg_done); /* A structure for mapping a particular speed and duplex * combination to a particular SUPPORTED and ADVERTISED value diff --git a/include/linux/phy.h b/include/linux/phy.h index e7e1fd3..9880d73 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -786,6 +786,7 @@ struct phy_device *phy_connect(struct net_device *dev, const char *bus_id, void phy_start(struct phy_device *phydev); void phy_stop(struct phy_device *phydev); int phy_start_aneg(struct phy_device *phydev); +int phy_aneg_done(struct phy_device *phydev); int phy_stop_interrupts(struct phy_device *phydev);