Subject: [PATCH 2/3] extcon: axp288: Set EXTCON_USB when EXTCON_CHG_USB_SDP was set

From: [email-masked] (Chanwoo Choi)
Date: Wed, 21 Dec 2016 16:22:35 +0900

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 <[email-masked]>
> ---
>  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=extcon-next

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 <[email-masked]>
AuthorDate: Wed Dec 21 15:51:26 2016 +0900
Commit:     Chanwoo Choi <[email-masked]>
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 <[email-masked]>
    Signed-off-by: Chanwoo Choi <[email-masked]>
---
 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;
        }

-- 
Regards,
Chanwoo Choi