aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/phy
diff options
context:
space:
mode:
authorKishon Vijay Abraham I <kishon@ti.com>2019-04-05 16:38:30 +0530
committerKishon Vijay Abraham I <kishon@ti.com>2019-04-17 14:13:17 +0530
commitfec06b2bc436d1cbc3482becd40f656d46cd22b7 (patch)
tree87405f207d3eb80846221bc1297999714e953170 /include/linux/phy
parentphy: phy-meson-gxl-usb2: get optional clock by devm_clk_get_optional() (diff)
downloadlinux-dev-fec06b2bc436d1cbc3482becd40f656d46cd22b7.tar.xz
linux-dev-fec06b2bc436d1cbc3482becd40f656d46cd22b7.zip
phy: core: Add *release* phy_ops invoked when the consumer relinquishes PHY
Add a new phy_ops *release* invoked when the consumer relinquishes the PHY using phy_put/devm_phy_put. The initializations done by the PHY driver in of_xlate call back can be can be cleaned up here. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Diffstat (limited to 'include/linux/phy')
-rw-r--r--include/linux/phy/phy.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
index 3f350e2749fe..ef13aea1d370 100644
--- a/include/linux/phy/phy.h
+++ b/include/linux/phy/phy.h
@@ -64,6 +64,7 @@ union phy_configure_opts {
* @set_mode: set the mode of the phy
* @reset: resetting the phy
* @calibrate: calibrate the phy
+ * @release: ops to be performed while the consumer relinquishes the PHY
* @owner: the module owner containing the ops
*/
struct phy_ops {
@@ -105,6 +106,7 @@ struct phy_ops {
union phy_configure_opts *opts);
int (*reset)(struct phy *phy);
int (*calibrate)(struct phy *phy);
+ void (*release)(struct phy *phy);
struct module *owner;
};