This patch updates the ID pin state of USB when cable state is changed
by using the extcon_set_cable_line_state() function. The extcon consumer driver
can receive the changed ID pin state through registered notifier chain of
extcon consumer driver.

Cc: Roger Quadros <[email protected]>
Cc: Robert Baldyga <[email protected]>
Cc: MyungJoo Ham <[email protected]>
Signed-off-by: Chanwoo Choi <[email protected]>
---
 drivers/extcon/extcon-usb-gpio.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/extcon/extcon-usb-gpio.c b/drivers/extcon/extcon-usb-gpio.c
index 14da94c..9ff3171 100644
--- a/drivers/extcon/extcon-usb-gpio.c
+++ b/drivers/extcon/extcon-usb-gpio.c
@@ -62,12 +62,18 @@ static void usb_extcon_detect_cable(struct work_struct 
*work)
                 */
                extcon_set_cable_state_(info->edev, EXTCON_USB_HOST, false);
                extcon_set_cable_state_(info->edev, EXTCON_USB, true);
+
+               extcon_set_cable_line_state(info->edev, EXTCON_USB,
+                                               EXTCON_USB_ID_HIGH);
        } else {
                /*
                 * ID = 0 means USB HOST cable attached.
                 * As we don't have event for USB peripheral cable detached,
                 * we simulate USB peripheral detach here.
                 */
+               extcon_set_cable_line_state(info->edev, EXTCON_USB,
+                                               EXTCON_USB_ID_LOW);
+
                extcon_set_cable_state_(info->edev, EXTCON_USB, false);
                extcon_set_cable_state_(info->edev, EXTCON_USB_HOST, true);
        }
-- 
2.2.0.GIT

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to