---- a/drivers/usb/chipidea/ci.h
-+++ b/drivers/usb/chipidea/ci.h
-@@ -205,6 +205,7 @@ struct hw_bank {
- * @in_lpm: if the core in low power mode
- * @wakeup_int: if wakeup interrupt occur
- * @rev: The revision number for controller
-+ * @dp_always_pullup: keep dp always pullup at device mode
- */
- struct ci_hdrc {
- struct device *dev;
-@@ -259,6 +260,7 @@ struct ci_hdrc {
- bool in_lpm;
- bool wakeup_int;
- enum ci_revision rev;
-+ bool dp_always_pullup;
- };
-
- static inline struct ci_role_driver *ci_role(struct ci_hdrc *ci)
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -827,7 +827,7 @@ static inline void ci_role_destroy(struc
ci_hdrc_otg_destroy(ci);
}
-@@ -932,6 +932,9 @@ static int ci_hdrc_probe(struct platform
+@@ -941,6 +941,9 @@ static int ci_hdrc_probe(struct platform
CI_HDRC_SUPPORTS_RUNTIME_PM);
platform_set_drvdata(pdev, ci);
ret = hw_device_init(ci, base);
if (ret < 0) {
dev_err(dev, "can't initialize hardware\n");
-@@ -1020,7 +1023,7 @@ static int ci_hdrc_probe(struct platform
+@@ -1029,7 +1032,7 @@ static int ci_hdrc_probe(struct platform
goto deinit_gadget;
}
enum usb_dr_mode dr_mode;
#define CI_HDRC_CONTROLLER_RESET_EVENT 0
#define CI_HDRC_CONTROLLER_STOPPED_EVENT 1
+--- a/drivers/usb/chipidea/ci.h
++++ b/drivers/usb/chipidea/ci.h
+@@ -260,6 +260,7 @@ struct ci_hdrc {
+ bool in_lpm;
+ bool wakeup_int;
+ enum ci_revision rev;
++ bool dp_always_pullup;
+ struct mutex mutex;
+ };
+