diff options
author | Giuseppe Cavallaro <peppe.cavallaro@st.com> | 2008-11-28 16:24:56 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-28 16:24:56 -0800 |
commit | 0f0ca340e57bd7446855fefd07a64249acf81223 (patch) | |
tree | 9a3af0f86f8bcce9eb86a38bf4dd5f4a2c5da2d1 /include | |
parent | 914804b95caa61c633431262044034ab05c78ba4 (diff) | |
download | linux-0f0ca340e57bd7446855fefd07a64249acf81223.tar.gz linux-0f0ca340e57bd7446855fefd07a64249acf81223.tar.bz2 linux-0f0ca340e57bd7446855fefd07a64249acf81223.zip |
phy: power management support
This patch adds the power management support into the physical
abstraction layer.
Suspend and resume functions respectively turns on/off the bit 11
into the PHY Basic mode control register.
Generic PHY device starts supporting PM.
In order to support the wake-on LAN and avoid to put in power down
the PHY device, the MDIO is aware of what the Ethernet device wants to do.
Voluntary, no CONFIG_PM defines were added into the sources.
Also generic suspend/resume functions are exported to allow
other drivers use them (such as genphy_config_aneg etc.).
Within the phy_driver_register function, we need to remove the
memset. It overrides the device driver owner and it is not good.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/phy.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h index 77c4ed60b982..d7e54d98869f 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -467,6 +467,8 @@ int genphy_restart_aneg(struct phy_device *phydev); int genphy_config_aneg(struct phy_device *phydev); int genphy_update_link(struct phy_device *phydev); int genphy_read_status(struct phy_device *phydev); +int genphy_suspend(struct phy_device *phydev); +int genphy_resume(struct phy_device *phydev); void phy_driver_unregister(struct phy_driver *drv); int phy_driver_register(struct phy_driver *new_driver); void phy_prepare_link(struct phy_device *phydev, |