[PATCH 1/2] usb: chipiea: add flags for id and vbus from external block

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add 2 flags for id and vbus if the state is from external blocks
instead of OTG block inside of USB controller.

Signed-off-by: Li Jun <jun.li@xxxxxxx>
---
 drivers/usb/chipidea/core.c  | 2 ++
 include/linux/usb/chipidea.h | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index 7bfcbb2..0bfa850 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -706,6 +706,7 @@ static int ci_get_platdata(struct device *dev,
 	cable->edev = ext_vbus;
 
 	if (!IS_ERR(ext_vbus)) {
+		platdata->ext_vbus = true;
 		ret = extcon_get_state(cable->edev, EXTCON_USB);
 		if (ret)
 			cable->connected = true;
@@ -718,6 +719,7 @@ static int ci_get_platdata(struct device *dev,
 	cable->edev = ext_id;
 
 	if (!IS_ERR(ext_id)) {
+		platdata->ext_id = true;
 		ret = extcon_get_state(cable->edev, EXTCON_USB_HOST);
 		if (ret)
 			cable->connected = true;
diff --git a/include/linux/usb/chipidea.h b/include/linux/usb/chipidea.h
index 911e05a..cd72d82 100644
--- a/include/linux/usb/chipidea.h
+++ b/include/linux/usb/chipidea.h
@@ -70,6 +70,10 @@ struct ci_hdrc_platform_data {
 	struct regulator	*reg_vbus;
 	struct usb_otg_caps	ci_otg_caps;
 	bool			tpl_support;
+	/* ID state is from external event out side of USB */
+	bool			ext_id;
+	/* VBUS state is from external event out side of USB */
+	bool			ext_vbus;
 	/* interrupt threshold setting */
 	u32			itc_setting;
 	u32			ahb_burst_config;
-- 
2.7.4





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux