From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jose Abreu Subject: [PATCH net-next 1/4] net: phy: Use C45 Helpers when forcing PHY Date: Mon, 22 Oct 2018 11:32:46 +0100 Message-ID: References: Cc: Jose Abreu , Andrew Lunn , Florian Fainelli , "David S. Miller" , Joao Pinto To: netdev@vger.kernel.org Return-path: Received: from us01smtprelay-2.synopsys.com ([198.182.47.9]:39896 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728101AbeJVSvD (ORCPT ); Mon, 22 Oct 2018 14:51:03 -0400 In-Reply-To: In-Reply-To: References: Sender: netdev-owner@vger.kernel.org List-ID: If PHY is in force state and we have a C45 phy we need to use the standard C45 helpers and not the C22 ones. Signed-off-by: Jose Abreu Cc: Andrew Lunn Cc: Florian Fainelli Cc: "David S. Miller" Cc: Joao Pinto --- drivers/net/phy/phy.c | 2 +- include/linux/phy.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 1d73ac3309ce..0ff4946e208e 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -995,7 +995,7 @@ void phy_state_machine(struct work_struct *work) } break; case PHY_FORCING: - err = genphy_update_link(phydev); + err = phy_update_link(phydev); if (err) break; diff --git a/include/linux/phy.h b/include/linux/phy.h index 3ea87f774a76..02c2ee8bc05b 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -1044,6 +1044,14 @@ static inline int phy_read_status(struct phy_device *phydev) return genphy_read_status(phydev); } +static inline int phy_update_link(struct phy_device *phydev) +{ + if (phydev->is_c45) + return gen10g_read_status(phydev); + else + return genphy_update_link(phydev); +} + void phy_driver_unregister(struct phy_driver *drv); void phy_drivers_unregister(struct phy_driver *drv, int n); int phy_driver_register(struct phy_driver *new_driver, struct module *owner); -- 2.7.4