Hi,
On 2016년 12월 21일 15:10, Baolin Wang wrote:
According to the documentation, we should set the EXTCON_USB when one SDP charger connector was reported.
Signed-off-by: Baolin Wang baolin.wang@linaro.org
drivers/extcon/extcon-axp288.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/extcon/extcon-axp288.c b/drivers/extcon/extcon-axp288.c index 42f41e8..4490726 100644 --- a/drivers/extcon/extcon-axp288.c +++ b/drivers/extcon/extcon-axp288.c @@ -102,6 +102,7 @@ enum axp288_extcon_irq { }; static const unsigned int axp288_extcon_cables[] = {
- EXTCON_USB, EXTCON_CHG_USB_SDP, EXTCON_CHG_USB_CDP, EXTCON_CHG_USB_DCP,
@@ -225,8 +226,12 @@ static int axp288_handle_chrg_det_event(struct axp288_extcon_info *info) vbus_attach ? USB_EVENT_VBUS : USB_EVENT_NONE, NULL); }
- if (notify_charger)
- if (notify_charger) { extcon_set_state_sync(info->edev, cable, vbus_attach);
if (cable == EXTCON_CHG_USB_SDP)
extcon_set_state_sync(info->edev, EXTCON_USB,
vbus_attach);
- }
/* Clear the flags on disconnect event */ if (!vbus_attach)
The extcon-axp288.c driver has some patches on extcon-next[1] branch. [1] https://git.kernel.org/cgit/linux/kernel/git/chanwoo/extcon.git/log/?h=extco...
I rework your patch on extcon-next branch as following: If you ok, I'll merge it for v4.11.
commit 1a96f92bdfab86d0b634e56092f543cad348fd0b Refs: extcon-next, extcon-next-for-4.10-15-g1a96f92bdfab Author: Baolin Wang baolin.wang@linaro.org AuthorDate: Wed Dec 21 15:51:26 2016 +0900 Commit: Chanwoo Choi cw00.choi@samsung.com CommitDate: Wed Dec 21 15:52:00 2016 +0900
extcon: axp288: Set EXTCON_USB when EXTCON_CHG_USB_SDP was set
According to the documentation, we should set the EXTCON_USB when one SDP charger connector was reported.
Signed-off-by: Baolin Wang baolin.wang@linaro.org Signed-off-by: Chanwoo Choi cw00.choi@samsung.com --- drivers/extcon/extcon-axp288.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/drivers/extcon/extcon-axp288.c b/drivers/extcon/extcon-axp288.c index 3e145e2a4860..f4fd03e58e37 100644 --- a/drivers/extcon/extcon-axp288.c +++ b/drivers/extcon/extcon-axp288.c @@ -96,6 +96,7 @@ enum axp288_extcon_irq { EXTCON_CHG_USB_SDP, EXTCON_CHG_USB_CDP, EXTCON_CHG_USB_DCP, + EXTCON_USB, EXTCON_NONE, };
@@ -206,8 +207,15 @@ static int axp288_handle_chrg_det_event(struct axp288_extcon_info *info) : EXTCON_GPIO_MUX_SEL_PMIC);
extcon_set_state_sync(info->edev, info->previous_cable, false); + if (info->previous_cable == EXTCON_CHG_USB_SDP) + extcon_set_state_sync(info->edev, EXTCON_USB, false); + if (vbus_attach) { extcon_set_state_sync(info->edev, cable, vbus_attach); + if (cable == EXTCON_CHG_USB_SDP) + extcon_set_state_sync(info->edev, EXTCON_USB, + vbus_attach); + info->previous_cable = cable; }