From: Heiner Kallweit Subject: [PATCH net-next 0/2] net: phy: make PHY_HALTED a transition state to PHY_READY Date: Wed, 19 Dec 2018 07:50:43 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: "netdev@vger.kernel.org" To: Andrew Lunn , Florian Fainelli , David Miller Return-path: Received: from mail-wr1-f67.google.com ([209.85.221.67]:42609 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726465AbeLSGux (ORCPT ); Wed, 19 Dec 2018 01:50:53 -0500 Received: by mail-wr1-f67.google.com with SMTP id q18so18280004wrx.9 for ; Tue, 18 Dec 2018 22:50:51 -0800 (PST) Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: PHY_HALTED and PHY_READY both are non-started states and quite similar. Major difference is that phy_start() changes from PHY_HALTED to PHY_RESUMING which doesn't reconfigure aneg (what PHY_UP does). There's no guarantee that PHY registers are completely untouched when waking up from power-down, e.g. after system suspend. Therefore it's safer to reconfigure aneg also when starting from PHY_HALTED. This can be achieved and state machine made simpler by making PHY_HALTED going to PHY_READY after having stopped everything. Then the only way up is over PHY_UP. As part of the change PHY_HALTED is renamed to PHY_HALT to reflect that it is a transition state. After this change states PHY_RESUMING and PHY_CHANGELINK can be removed. Heiner Kallweit (2): net: phy: make PHY_HALTED a transition state to PHY_READY net: phy: remove states PHY_CHANGELINK and PHY_RESUMING drivers/net/phy/phy.c | 45 ++++++++++++++++--------------------------- include/linux/phy.h | 24 ++++++----------------- 2 files changed, 23 insertions(+), 46 deletions(-) -- 2.20.1