diff options
Diffstat (limited to 'include/linux/usb')
-rw-r--r-- | include/linux/usb/phy.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h index 6c0b1c513db7..353053a33f21 100644 --- a/include/linux/usb/phy.h +++ b/include/linux/usb/phy.h | |||
@@ -111,6 +111,13 @@ struct usb_phy { | |||
111 | int (*set_suspend)(struct usb_phy *x, | 111 | int (*set_suspend)(struct usb_phy *x, |
112 | int suspend); | 112 | int suspend); |
113 | 113 | ||
114 | /* | ||
115 | * Set wakeup enable for PHY, in that case, the PHY can be | ||
116 | * woken up from suspend status due to external events, | ||
117 | * like vbus change, dp/dm change and id. | ||
118 | */ | ||
119 | int (*set_wakeup)(struct usb_phy *x, bool enabled); | ||
120 | |||
114 | /* notify phy connect status change */ | 121 | /* notify phy connect status change */ |
115 | int (*notify_connect)(struct usb_phy *x, | 122 | int (*notify_connect)(struct usb_phy *x, |
116 | enum usb_device_speed speed); | 123 | enum usb_device_speed speed); |
@@ -265,6 +272,15 @@ usb_phy_set_suspend(struct usb_phy *x, int suspend) | |||
265 | } | 272 | } |
266 | 273 | ||
267 | static inline int | 274 | static inline int |
275 | usb_phy_set_wakeup(struct usb_phy *x, bool enabled) | ||
276 | { | ||
277 | if (x && x->set_wakeup) | ||
278 | return x->set_wakeup(x, enabled); | ||
279 | else | ||
280 | return 0; | ||
281 | } | ||
282 | |||
283 | static inline int | ||
268 | usb_phy_notify_connect(struct usb_phy *x, enum usb_device_speed speed) | 284 | usb_phy_notify_connect(struct usb_phy *x, enum usb_device_speed speed) |
269 | { | 285 | { |
270 | if (x && x->notify_connect) | 286 | if (x && x->notify_connect) |