Heiner Kallweit 2b3e88ea65 net: phy: improve phy state checking
Add helpers phy_is_started() and __phy_is_started() to avoid open-coded
checks whether PHY has been started. To make the check easier move
PHY_HALTED before PHY_UP in enum phy_state. Further improvements:

phy_start_aneg():
Return -EBUSY and print warning if function is called from a non-started
state (DOWN, READY, HALTED). Better check because function is exported
and drivers may use it incorrectly.

phy_interrupt():
Return IRQ_NONE also if state is DOWN or READY. We should never receive
an interrupt in one of these states, but better play safe.

phy_stop():
Just return and print a warning if PHY is in a non-started state.
This warning should help to identify drivers with unbalanced calls to
phy_start() / phy_stop().

phy_state_machine():
Schedule state machine run only if PHY is in a started state.
E.g. if state is READY we don't need the state machine, it will be
started by phy_start().

v2:
- don't use __func__ within phy_warn_state
v3:
- use WARN() instead of printing error message to facilitate debugging

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-12-18 15:11:07 -08:00
..
2018-12-09 09:46:54 -08:00
2018-11-01 18:34:46 -07:00
2018-11-16 09:31:59 -06:00
2018-10-29 15:16:01 -07:00
2018-10-27 09:24:24 -07:00
2018-10-16 11:13:50 +02:00
2018-12-02 12:19:44 -08:00
2018-10-11 12:12:55 +02:00
2018-11-08 17:49:04 -06:00
2018-11-02 11:25:48 -07:00
2018-09-25 13:19:52 -07:00
2018-12-18 15:11:07 -08:00
2018-10-26 14:36:21 -07:00
2018-10-22 17:30:06 +01:00
2018-11-01 08:42:21 -07:00
2018-10-26 12:09:58 -07:00
2018-10-29 15:16:01 -07:00
2018-12-02 20:55:23 -08:00
2018-10-31 08:54:16 -07:00
2018-11-28 08:33:55 -08:00
2018-10-11 09:16:44 -07:00
2018-12-09 10:24:29 -08:00
2018-11-11 09:21:46 -08:00
2018-10-31 11:01:38 -07:00
2018-10-31 11:41:37 -07:00
2018-12-02 12:15:55 -08:00