diff options
| author | Kishon Vijay Abraham I <kishon@ti.com> | 2016-07-04 18:07:25 +0530 |
|---|---|---|
| committer | Kishon Vijay Abraham I <kishon@ti.com> | 2016-07-04 18:07:25 +0530 |
| commit | 6f7d2346cb9cc1f5b8a4881f06934f1cc50f02db (patch) | |
| tree | 822ce55db89fbcedfeffa9970d9678d0eebd551a /include/linux/phy/phy.h | |
| parent | 04e59a0211ff012ba60c00baca673482570784e9 (diff) | |
| parent | 300eb0139cf27044c67f6005ff17b8434c7843f0 (diff) | |
| download | linux-6f7d2346cb9cc1f5b8a4881f06934f1cc50f02db.tar.gz linux-6f7d2346cb9cc1f5b8a4881f06934f1cc50f02db.tar.bz2 linux-6f7d2346cb9cc1f5b8a4881f06934f1cc50f02db.zip | |
Merge tag 'phy-set-mode-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into next
Add new set_mode phy ops
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Diffstat (limited to 'include/linux/phy/phy.h')
| -rw-r--r-- | include/linux/phy/phy.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h index a810f2a18842..f08b67238b58 100644 --- a/include/linux/phy/phy.h +++ b/include/linux/phy/phy.h @@ -22,12 +22,20 @@ struct phy; +enum phy_mode { + PHY_MODE_INVALID, + PHY_MODE_USB_HOST, + PHY_MODE_USB_DEVICE, + PHY_MODE_USB_OTG, +}; + /** * struct phy_ops - set of function pointers for performing phy operations * @init: operation to be performed for initializing phy * @exit: operation to be performed while exiting * @power_on: powering on the phy * @power_off: powering off the phy + * @set_mode: set the mode of the phy * @owner: the module owner containing the ops */ struct phy_ops { @@ -35,6 +43,7 @@ struct phy_ops { int (*exit)(struct phy *phy); int (*power_on)(struct phy *phy); int (*power_off)(struct phy *phy); + int (*set_mode)(struct phy *phy, enum phy_mode mode); struct module *owner; }; @@ -126,6 +135,7 @@ int phy_init(struct phy *phy); int phy_exit(struct phy *phy); int phy_power_on(struct phy *phy); int phy_power_off(struct phy *phy); +int phy_set_mode(struct phy *phy, enum phy_mode mode); static inline int phy_get_bus_width(struct phy *phy) { return phy->attrs.bus_width; @@ -233,6 +243,13 @@ static inline int phy_power_off(struct phy *phy) return -ENOSYS; } +static inline int phy_set_mode(struct phy *phy, enum phy_mode mode) +{ + if (!phy) + return 0; + return -ENOSYS; +} + static inline int phy_get_bus_width(struct phy *phy) { return -ENOSYS; |
