From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753126AbbL2C50 (ORCPT ); Mon, 28 Dec 2015 21:57:26 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:45295 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753019AbbL2C5V convert rfc822-to-8bit (ORCPT ); Mon, 28 Dec 2015 21:57:21 -0500 X-AuditID: cbfee68e-f793c6d00000136c-1f-5681f6848192 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 8BIT Message-id: <5681F683.3080201@samsung.com> Date: Tue, 29 Dec 2015 11:57:07 +0900 From: Chanwoo Choi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Krzysztof Kozlowski , linux-kernel@vger.kernel.org Cc: myungjoo.ham@samsung.com Subject: Re: [PATCH] extcon: Add the EXTCON_CHG_USB_SDP to support SDP charing port References: <1451349441-8368-1-git-send-email-cw00.choi@samsung.com> <5681DEF3.7010903@samsung.com> In-reply-to: <5681DEF3.7010903@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprKIsWRmVeSWpSXmKPExsWyRsSkSLflW2OYweKp7BavXxhaXN41h83i duMKNgdmj74tqxg9Pm+SC2CK4rJJSc3JLEst0rdL4Mr48/gma8Eb84pfv56zNDC+0uli5OSQ EDCR2LJoKiOELSZx4d56ti5GLg4hgRWMEjOPTWeHKbp0Zi0rRGIWo8TVw/tYQRK8AoISPybf YwGxmQXUJSbNW8QMYYtI/Hj/mh3C1pZYtvA1M0TzA0aJqcsfsEE0a0kc3fULrIFFQFXi6fWf YA1sQPH9L24A1XBwiApESHSfqAQJiwj4SxzrWMUOEmYWkJH4fkASJCwsECrxcdU1sClCAqkS y2e9ACvhBFq77YMDyFYJgXnsEhsermCE2CQg8W3yIRaQGgkBWYlNB5ghXpSUOLjiBssERvFZ SB6bheSxWUgem4XksQWMLKsYRVMLkguKk9KLjPSKE3OLS/PS9ZLzczcxAmPr9L9nfTsYbx6w PsQowMGoxMObMakxTIg1say4MvcQoynQRROZpUST84ERnFcSb2hsZmRhamJqbGRuaaYkzpsg 9TNYSCA9sSQ1OzW1ILUovqg0J7X4ECMTB6dUA2Ox30lLm6uJt60+6Of5aUxfGjyjQaNWw6Qo NHhNq7bzhKCEbL5D2volP2pfMhyzF/YNYTof5/Nuu0e3P7tavsWHCd1HZqiIHPu/4VCR1XpP d4+9zxqmZPZULdzNPF+jjeVk1u0Nok1zNHikG3edV4mI+OEx2cY77vYXi/SgHqfD5z1MBCdY KLEUZyQaajEXFScCAM3y5nSoAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOIsWRmVeSWpSXmKPExsVy+t9jQd2Wb41hBo08Fq9fGFpc3jWHzeJ2 4wo2B2aPvi2rGD0+b5ILYIpqYLTJSE1MSS1SSM1Lzk/JzEu3VfIOjneONzUzMNQ1tLQwV1LI S8xNtVVy8QnQdcvMAVqhpFCWmFMKFApILC5W0rfDNCE0xE3XAqYxQtc3JAiux8gADSSsYcz4 f+0EW8EJ84quNR8YGxiP6XQxcnJICJhIXDqzlhXCFpO4cG89WxcjF4eQwCxGiauH94EleAUE JX5MvsfSxcjBwSwgL3HkUjZImFlAXWLSvEXMEPUPGCWmLn/ABlGvJXF01y9mEJtFQFXi6fWf 7CA2G1B8/4sbbCBzRAUiJLpPVIKERQT8JY51rGKHGC8j8f2AJEhYWCBU4uOqa2BThARSJZbP egFWwimgLbHtg8MERqATEW6bhXDbLCS3LWBkXsUokVqQXFCclJ5rmJdarlecmFtcmpeul5yf u4kRHInPpHYwHtzlfohRgINRiYc3Y1JjmBBrYllxZe4hRgkOZiURXtctQCHelMTKqtSi/Pii 0pzU4kOMpkDPTWSWEk3OByaJvJJ4Q2MTMyNLI3NDCyNjcyVx3tpLkWFCAumJJanZqakFqUUw fUwcnFINjAmF4s8Ett3XWv4i5uSpnNsVIu2VCgYLDorZd183/fRUVOLDF/9m8w05Zn7N+is8 VjU5/bpn06l/41TmZI4lOxdMZvm+5JLetaVSWg1rtlpfL7uzey6z22wXlrdT2Pm+CO+6k1J6 4rL4S9aIBxr34m4W6JRuWcwVutPXZieLqsEPVsYXa44JtymxFGckGmoxFxUnAgB492vN2gIA AA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2015년 12월 29일 10:16, Krzysztof Kozlowski wrote: > On 29.12.2015 09:37, Chanwoo Choi wrote: >> This patch adds the new EXTCON_CHG_USB_SDP connector to support SDP (Standard >> Downstream Port) USB charging port. The commit 11eecf910bd8 ("extcon: Modify >> the id and name of external connector") add the new EXTCON_CHG_USB_SDP >> connector which support the both data transfer and usb charging at the same >> time. >> >> Cc: Krzysztof Kozlowski >> Cc: MyungJoo Ham >> Signed-off-by: Chanwoo Choi >> --- >> drivers/extcon/extcon-max14577.c | 3 +++ >> drivers/extcon/extcon-max77693.c | 12 ++++++++++-- >> drivers/extcon/extcon-max77843.c | 3 +++ >> drivers/extcon/extcon-max8997.c | 3 +++ >> drivers/extcon/extcon-rt8973a.c | 4 ++++ >> drivers/extcon/extcon-sm5502.c | 4 ++++ >> 6 files changed, 27 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/extcon/extcon-max14577.c b/drivers/extcon/extcon-max14577.c >> index b30ab97ce75f..852a7112f451 100644 >> --- a/drivers/extcon/extcon-max14577.c >> +++ b/drivers/extcon/extcon-max14577.c >> @@ -150,6 +150,7 @@ enum max14577_muic_acc_type { >> >> static const unsigned int max14577_extcon_cable[] = { >> EXTCON_USB, >> + EXTCON_CHG_USB_SDP, >> EXTCON_CHG_USB_DCP, >> EXTCON_CHG_USB_FAST, >> EXTCON_CHG_USB_SLOW, >> @@ -454,6 +455,8 @@ static int max14577_muic_chg_handler(struct max14577_muic_info *info) >> return ret; >> >> extcon_set_cable_state_(info->edev, EXTCON_USB, attached); >> + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, >> + attached); >> break; >> case MAX14577_CHARGER_TYPE_DEDICATED_CHG: >> extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP, >> diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c >> index fdf8f5d4d4e9..b472f2405534 100644 >> --- a/drivers/extcon/extcon-max77693.c >> +++ b/drivers/extcon/extcon-max77693.c >> @@ -204,6 +204,7 @@ enum max77693_muic_acc_type { >> static const unsigned int max77693_extcon_cable[] = { >> EXTCON_USB, >> EXTCON_USB_HOST, >> + EXTCON_CHG_USB_SDP, >> EXTCON_CHG_USB_DCP, >> EXTCON_CHG_USB_FAST, >> EXTCON_CHG_USB_SLOW, >> @@ -512,8 +513,11 @@ static int max77693_muic_dock_handler(struct max77693_muic_info *info, >> break; >> case MAX77693_MUIC_ADC_AV_CABLE_NOLOAD: /* Dock-Audio */ >> dock_id = EXTCON_DOCK; >> - if (!attached) >> + if (!attached) { >> extcon_set_cable_state_(info->edev, EXTCON_USB, false); >> + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, >> + false); >> + } >> break; >> default: >> dev_err(info->dev, "failed to detect %s dock device\n", >> @@ -601,6 +605,8 @@ static int max77693_muic_adc_ground_handler(struct max77693_muic_info *info) >> if (ret < 0) >> return ret; >> extcon_set_cable_state_(info->edev, EXTCON_USB, attached); >> + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, >> + attached); >> break; >> case MAX77693_MUIC_GND_MHL: >> case MAX77693_MUIC_GND_MHL_VB: >> @@ -830,6 +836,8 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info) >> */ >> extcon_set_cable_state_(info->edev, EXTCON_USB, >> attached); >> + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, >> + attached); >> >> if (!cable_attached) >> extcon_set_cable_state_(info->edev, EXTCON_DOCK, >> @@ -897,7 +905,7 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info) >> if (ret < 0) >> return ret; >> >> - extcon_set_cable_state_(info->edev, EXTCON_USB, >> + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, >> attached); > > > Why for MAX77693_CHARGER_TYPE_USB you are not setting the EXTCON_USB > type? From the description and max14577 code I would suspect that you > want to set both: USB and SDP. You're right. It is my mistake. I'll fix it. > >> break; >> case MAX77693_CHARGER_TYPE_DEDICATED_CHG: >> diff --git a/drivers/extcon/extcon-max77843.c b/drivers/extcon/extcon-max77843.c >> index 74dfb7f4f277..7bbc30097771 100644 >> --- a/drivers/extcon/extcon-max77843.c >> +++ b/drivers/extcon/extcon-max77843.c >> @@ -122,6 +122,7 @@ enum max77843_muic_charger_type { >> static const unsigned int max77843_extcon_cable[] = { >> EXTCON_USB, >> EXTCON_USB_HOST, >> + EXTCON_CHG_USB_SDP, >> EXTCON_CHG_USB_DCP, >> EXTCON_CHG_USB_CDP, >> EXTCON_CHG_USB_FAST, >> @@ -486,6 +487,8 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info) >> return ret; >> >> extcon_set_cable_state_(info->edev, EXTCON_USB, attached); >> + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, >> + attached); >> break; >> case MAX77843_MUIC_CHG_DOWNSTREAM: >> ret = max77843_muic_set_path(info, >> diff --git a/drivers/extcon/extcon-max8997.c b/drivers/extcon/extcon-max8997.c >> index b2b13b3dce14..79263421b075 100644 >> --- a/drivers/extcon/extcon-max8997.c >> +++ b/drivers/extcon/extcon-max8997.c >> @@ -148,6 +148,7 @@ struct max8997_muic_info { >> static const unsigned int max8997_extcon_cable[] = { >> EXTCON_USB, >> EXTCON_USB_HOST, >> + EXTCON_CHG_USB_SDP, >> EXTCON_CHG_USB_DCP, >> EXTCON_CHG_USB_FAST, >> EXTCON_CHG_USB_SLOW, >> @@ -484,6 +485,8 @@ static int max8997_muic_chg_handler(struct max8997_muic_info *info) >> max8997_muic_handle_usb(info, >> MAX8997_USB_DEVICE, attached); >> } >> + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, >> + attached); > > I am missing something. If this is MAX8997_CHARGER_TYPE_USB but not > MAX8997_MUIC_ADC_OPEN then you will set only SDP, not USB. Aren't they > symmetric? > > You aren't setting the SDP in ADC handler, only in charger handler. Why? EXTCON_CHG_USD_SDP shoule be handled in max8997_muic_handle_usb() function. I'll fix it as following diff: diff --git a/drivers/extcon/extcon-max8997.c b/drivers/extcon/extcon-max8997.c index 79263421b075..9a89320d09a8 100644 --- a/drivers/extcon/extcon-max8997.c +++ b/drivers/extcon/extcon-max8997.c @@ -335,6 +335,8 @@ static int max8997_muic_handle_usb(struct max8997_muic_info *info, break; case MAX8997_USB_DEVICE: extcon_set_cable_state_(info->edev, EXTCON_USB, attached); + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, + attached); break; default: dev_err(info->dev, "failed to detect %s usb cable\n", @@ -485,8 +487,6 @@ static int max8997_muic_chg_handler(struct max8997_muic_info *info) max8997_muic_handle_usb(info, MAX8997_USB_DEVICE, attached); } - extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, - attached); break; Best Regards, Chanwoo Choi