Commit f1b8d335 authored by Jules Maselbas's avatar Jules Maselbas Committed by Vinod Koul

phy: core: Add documentation of phy operation order

Add documentation on phy function usage: init function must be
called before power_on; power_off must be called before exit.
Signed-off-by: default avatarJules Maselbas <jmaselbas@kalray.eu>
Cc: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: Amelie DELAUNAY <amelie.delaunay@foss.st.com>
Cc: Minas Harutyunyan <hminas@synopsys.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Link: https://lore.kernel.org/r/20220407102108.24211-2-jmaselbas@kalray.euSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 51a9b2c0
...@@ -229,6 +229,17 @@ void phy_pm_runtime_forbid(struct phy *phy) ...@@ -229,6 +229,17 @@ void phy_pm_runtime_forbid(struct phy *phy)
} }
EXPORT_SYMBOL_GPL(phy_pm_runtime_forbid); EXPORT_SYMBOL_GPL(phy_pm_runtime_forbid);
/**
* phy_init - phy internal initialization before phy operation
* @phy: the phy returned by phy_get()
*
* Used to allow phy's driver to perform phy internal initialization,
* such as PLL block powering, clock initialization or anything that's
* is required by the phy to perform the start of operation.
* Must be called before phy_power_on().
*
* Return: %0 if successful, a negative error code otherwise
*/
int phy_init(struct phy *phy) int phy_init(struct phy *phy)
{ {
int ret; int ret;
...@@ -258,6 +269,14 @@ int phy_init(struct phy *phy) ...@@ -258,6 +269,14 @@ int phy_init(struct phy *phy)
} }
EXPORT_SYMBOL_GPL(phy_init); EXPORT_SYMBOL_GPL(phy_init);
/**
* phy_exit - Phy internal un-initialization
* @phy: the phy returned by phy_get()
*
* Must be called after phy_power_off().
*
* Return: %0 if successful, a negative error code otherwise
*/
int phy_exit(struct phy *phy) int phy_exit(struct phy *phy)
{ {
int ret; int ret;
...@@ -287,6 +306,14 @@ int phy_exit(struct phy *phy) ...@@ -287,6 +306,14 @@ int phy_exit(struct phy *phy)
} }
EXPORT_SYMBOL_GPL(phy_exit); EXPORT_SYMBOL_GPL(phy_exit);
/**
* phy_power_on - Enable the phy and enter proper operation
* @phy: the phy returned by phy_get()
*
* Must be called after phy_init().
*
* Return: %0 if successful, a negative error code otherwise
*/
int phy_power_on(struct phy *phy) int phy_power_on(struct phy *phy)
{ {
int ret = 0; int ret = 0;
...@@ -329,6 +356,14 @@ int phy_power_on(struct phy *phy) ...@@ -329,6 +356,14 @@ int phy_power_on(struct phy *phy)
} }
EXPORT_SYMBOL_GPL(phy_power_on); EXPORT_SYMBOL_GPL(phy_power_on);
/**
* phy_power_off - Disable the phy.
* @phy: the phy returned by phy_get()
*
* Must be called before phy_exit().
*
* Return: %0 if successful, a negative error code otherwise
*/
int phy_power_off(struct phy *phy) int phy_power_off(struct phy *phy)
{ {
int ret; int ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment