From patchwork Wed Feb 28 19:58:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 879359 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="kJRFH4LG"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zs5zK0yx9z9s3K for ; Thu, 1 Mar 2018 07:01:01 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934374AbeB1UAr (ORCPT ); Wed, 28 Feb 2018 15:00:47 -0500 Received: from mail-qk0-f196.google.com ([209.85.220.196]:40990 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932712AbeB1T67 (ORCPT ); Wed, 28 Feb 2018 14:58:59 -0500 Received: by mail-qk0-f196.google.com with SMTP id w142so4584521qkb.8; Wed, 28 Feb 2018 11:58:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ihxMgutx1BWxgYIOKc2YHAe1QyBZQlRwjDzog+zd8NI=; b=kJRFH4LGc3ACdO4G0ht0zYXkM6NVSNEBxjiwPmqRT9yS46whJW5bwjO8lYkLxi2518 O9ki5rYGjuS/dnKY2X2ZLkam0s+W6Ud91jAWj1Hal2sjoJlFNOjET8UsmiA6+AmqxW/f uh/PJEoS6u70JwgsyObVFmsXVu5nUSQhQumMyRR3pcFFrc1oBNrPA9zg0OR+StoDoZLJ DQB4wScoxGumhoN+WjW8jEKUkc716XQlIRFwJRMVHFliUQuvSKDvQikoOqTXJf5bKb4E YOV9g+UaHa+kj1pBQeKyoYgSoLWTBm6BngTK/7C2jj3jJM6Ig5wod6ftNvMkVEKKclDr 2HSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ihxMgutx1BWxgYIOKc2YHAe1QyBZQlRwjDzog+zd8NI=; b=SK0dxNsfayqM5HwshJxRH5SFnOpB9HoPucI/EIEtSW+T5GRIUR+vtPOVu8WxGD9qfx WbFQ22mPpgEBC/Robc5unfB+ExZdI5wzjAhqNRcL9nMAIdVPGUN3FW7A9l545GOekWC/ aK+wBfE8Kn8UEE+SsP+j9pZyuL2voGWzxNgb945BF5ZBw//007XmIh4RhVU+ND2HR8sS NjSbgU14DCs7/rPxqMx2Ry0+hwG2jZVXtqnAnHhP5EVfVvneWLDHBVosMWtd9pLJ3uF7 dfWCj7Fmj2S3ruTRCP5biMb8toM+An5hsPDSW4NnDkuCXsK83BmQ6Vd9sT7Ai7eMVGW/ mpAw== X-Gm-Message-State: APf1xPBq5K3xMY0Y5SfWY6hFMxbPMykljbwx9GtLJAqw92a1S+fPgMGP hSX0siBIPbNaH+Fo+IoAn9p8rdC5 X-Google-Smtp-Source: AG47ELu45IXu89yHICgG1kQnBAAMGrzifaRp/rN+k/i8CprIWmo2rHQOBQKJM+pzXgMLBsvn5g8QFw== X-Received: by 10.55.52.84 with SMTP id b81mr29316055qka.135.1519847938050; Wed, 28 Feb 2018 11:58:58 -0800 (PST) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.250]) by smtp.gmail.com with ESMTPSA id e21sm1657226qka.11.2018.02.28.11.58.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Feb 2018 11:58:57 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , Andrew Lunn , Russell King , linux-kernel@vger.kernel.org (open list), moritz.fischer@ettus.com Subject: [PATCH net-next v2 2/5] net: phy: Export gen10g_* functions Date: Wed, 28 Feb 2018 11:58:46 -0800 Message-Id: <20180228195849.17770-3-f.fainelli@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180228195849.17770-1-f.fainelli@gmail.com> References: <20180228195849.17770-1-f.fainelli@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In order to remove a fair amount of duplication in the different 10G PHY drivers, export all gen10g_* functions to be able to make use of those. While we are at it, rename gen10g_soft_reset() to gen10g_no_soft_reset() to illustrate what it does. Signed-off-by: Florian Fainelli --- drivers/net/phy/phy-c45.c | 20 +++++++++++++------- include/linux/phy.h | 8 ++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c index a4576859afae..0017eddc24db 100644 --- a/drivers/net/phy/phy-c45.c +++ b/drivers/net/phy/phy-c45.c @@ -268,12 +268,13 @@ EXPORT_SYMBOL_GPL(genphy_c45_read_mdix); /* The gen10g_* functions are the old Clause 45 stub */ -static int gen10g_config_aneg(struct phy_device *phydev) +int gen10g_config_aneg(struct phy_device *phydev) { return 0; } +EXPORT_SYMBOL_GPL(gen10g_config_aneg); -static int gen10g_read_status(struct phy_device *phydev) +int gen10g_read_status(struct phy_device *phydev) { u32 mmd_mask = phydev->c45_ids.devices_in_package; int ret; @@ -291,14 +292,16 @@ static int gen10g_read_status(struct phy_device *phydev) return 0; } +EXPORT_SYMBOL_GPL(gen10g_read_status); -static int gen10g_soft_reset(struct phy_device *phydev) +int gen10g_no_soft_reset(struct phy_device *phydev) { /* Do nothing for now */ return 0; } +EXPORT_SYMBOL_GPL(gen10g_no_soft_reset); -static int gen10g_config_init(struct phy_device *phydev) +int gen10g_config_init(struct phy_device *phydev) { /* Temporarily just say we support everything */ phydev->supported = SUPPORTED_10000baseT_Full; @@ -306,22 +309,25 @@ static int gen10g_config_init(struct phy_device *phydev) return 0; } +EXPORT_SYMBOL_GPL(gen10g_config_init); -static int gen10g_suspend(struct phy_device *phydev) +int gen10g_suspend(struct phy_device *phydev) { return 0; } +EXPORT_SYMBOL_GPL(gen10g_suspend); -static int gen10g_resume(struct phy_device *phydev) +int gen10g_resume(struct phy_device *phydev) { return 0; } +EXPORT_SYMBOL_GPL(gen10g_resume); struct phy_driver genphy_10g_driver = { .phy_id = 0xffffffff, .phy_id_mask = 0xffffffff, .name = "Generic 10G PHY", - .soft_reset = gen10g_soft_reset, + .soft_reset = gen10g_no_soft_reset, .config_init = gen10g_config_init, .features = 0, .config_aneg = gen10g_config_aneg, diff --git a/include/linux/phy.h b/include/linux/phy.h index 5a0c3e53e7c2..6e38c699b753 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -994,6 +994,14 @@ int genphy_c45_pma_setup_forced(struct phy_device *phydev); int genphy_c45_an_disable_aneg(struct phy_device *phydev); int genphy_c45_read_mdix(struct phy_device *phydev); +/* The gen10g_* functions are the old Clause 45 stub */ +int gen10g_config_aneg(struct phy_device *phydev); +int gen10g_read_status(struct phy_device *phydev); +int gen10g_no_soft_reset(struct phy_device *phydev); +int gen10g_config_init(struct phy_device *phydev); +int gen10g_suspend(struct phy_device *phydev); +int gen10g_resume(struct phy_device *phydev); + static inline int phy_read_status(struct phy_device *phydev) { if (!phydev->drv)