diff options
Diffstat (limited to 'drivers/usb/dwc2/core.h')
-rw-r--r-- | drivers/usb/dwc2/core.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/core.h b/drivers/usb/dwc2/core.h index 152ac41dfb2d..d08d070a0fb6 100644 --- a/drivers/usb/dwc2/core.h +++ b/drivers/usb/dwc2/core.h | |||
@@ -861,6 +861,9 @@ struct dwc2_hregs_backup { | |||
861 | * @hibernated: True if core is hibernated | 861 | * @hibernated: True if core is hibernated |
862 | * @reset_phy_on_wake: Quirk saying that we should assert PHY reset on a | 862 | * @reset_phy_on_wake: Quirk saying that we should assert PHY reset on a |
863 | * remote wakeup. | 863 | * remote wakeup. |
864 | * @phy_off_for_suspend: Status of whether we turned the PHY off at suspend. | ||
865 | * @need_phy_for_wake: Quirk saying that we should keep the PHY on at | ||
866 | * suspend if we need USB to wake us up. | ||
864 | * @frame_number: Frame number read from the core. For both device | 867 | * @frame_number: Frame number read from the core. For both device |
865 | * and host modes. The value ranges are from 0 | 868 | * and host modes. The value ranges are from 0 |
866 | * to HFNUM_MAX_FRNUM. | 869 | * to HFNUM_MAX_FRNUM. |
@@ -1049,6 +1052,8 @@ struct dwc2_hsotg { | |||
1049 | unsigned int ll_hw_enabled:1; | 1052 | unsigned int ll_hw_enabled:1; |
1050 | unsigned int hibernated:1; | 1053 | unsigned int hibernated:1; |
1051 | unsigned int reset_phy_on_wake:1; | 1054 | unsigned int reset_phy_on_wake:1; |
1055 | unsigned int need_phy_for_wake:1; | ||
1056 | unsigned int phy_off_for_suspend:1; | ||
1052 | u16 frame_number; | 1057 | u16 frame_number; |
1053 | 1058 | ||
1054 | struct phy *phy; | 1059 | struct phy *phy; |
@@ -1438,6 +1443,7 @@ int dwc2_restore_host_registers(struct dwc2_hsotg *hsotg); | |||
1438 | int dwc2_host_enter_hibernation(struct dwc2_hsotg *hsotg); | 1443 | int dwc2_host_enter_hibernation(struct dwc2_hsotg *hsotg); |
1439 | int dwc2_host_exit_hibernation(struct dwc2_hsotg *hsotg, | 1444 | int dwc2_host_exit_hibernation(struct dwc2_hsotg *hsotg, |
1440 | int rem_wakeup, int reset); | 1445 | int rem_wakeup, int reset); |
1446 | bool dwc2_host_can_poweroff_phy(struct dwc2_hsotg *dwc2); | ||
1441 | static inline void dwc2_host_schedule_phy_reset(struct dwc2_hsotg *hsotg) | 1447 | static inline void dwc2_host_schedule_phy_reset(struct dwc2_hsotg *hsotg) |
1442 | { schedule_work(&hsotg->phy_reset_work); } | 1448 | { schedule_work(&hsotg->phy_reset_work); } |
1443 | #else | 1449 | #else |
@@ -1463,6 +1469,8 @@ static inline int dwc2_host_enter_hibernation(struct dwc2_hsotg *hsotg) | |||
1463 | static inline int dwc2_host_exit_hibernation(struct dwc2_hsotg *hsotg, | 1469 | static inline int dwc2_host_exit_hibernation(struct dwc2_hsotg *hsotg, |
1464 | int rem_wakeup, int reset) | 1470 | int rem_wakeup, int reset) |
1465 | { return 0; } | 1471 | { return 0; } |
1472 | static inline bool dwc2_host_can_poweroff_phy(struct dwc2_hsotg *dwc2) | ||
1473 | { return false; } | ||
1466 | static inline void dwc2_host_schedule_phy_reset(struct dwc2_hsotg *hsotg) {} | 1474 | static inline void dwc2_host_schedule_phy_reset(struct dwc2_hsotg *hsotg) {} |
1467 | 1475 | ||
1468 | #endif | 1476 | #endif |