|
@@ -1,21 +1,3 @@
|
|
|
---- 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
|
|
@@ -27,7 +9,7 @@
|
|
|
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);
|
|
|
|
|
@@ -37,7 +19,7 @@
|
|
|
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;
|
|
|
}
|
|
|
|
|
@@ -70,3 +52,13 @@
|
|
|
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;
|
|
|
+ };
|
|
|
+
|