Messages in this thread | | | Subject | Re: [PATCH v2] extcon-intel-cht-wc: Don't reset USB data connection at probe | From | Chanwoo Choi <> | Date | Fri, 20 Sep 2019 16:42:04 +0900 |
| |
Hi Andy,
On 19. 9. 18. 오후 4:17, Andy Shevchenko wrote: > On Wed, Sep 18, 2019 at 2:04 AM Yauhen Kharuzhy <jekhor@gmail.com> wrote: >> >> On Tue, Sep 17, 2019 at 02:13:22PM +0300, Andy Shevchenko wrote: >>> On Tue, Sep 17, 2019 at 12:15:36AM +0300, Yauhen Kharuzhy wrote: >>>> Intel Cherry Trail Whiskey Cove extcon driver connect USB data lines to >>>> PMIC at driver probing for further charger detection. This causes reset of >>>> USB data sessions and removing all devices from bus. If system was >>>> booted from Live CD or USB dongle, this makes system unusable. >>>> >>>> Check if USB ID pin is floating and re-route data lines in this case >>>> only, don't touch otherwise. >>> >>>> + ret = regmap_read(ext->regmap, CHT_WC_PWRSRC_STS, &pwrsrc_sts); >>>> + if (ret) { >>>> + dev_err(ext->dev, "Error reading pwrsrc status: %d\n", ret); >>>> + goto disable_sw_control; >>>> + } >>>> + >>>> + id = cht_wc_extcon_get_id(ext, pwrsrc_sts); >>> >>> We have second implementation of this. Would it make sense to split to some >>> helper? >> >> Do you mean the combination of regmap_read(...CHT_WC_PWRSRC_STS, >> &pwrsrc_sts) with cht_wc_extcon_get_id()? > > Yes. > >> In the cht_wc_extcon_pwrsrc_event() function the pwrsrc_sts is checked >> for other bits also, so separation of PWRSRC_STS read and id calculation >> to one routine will cause non-clear function calls like as >> get_powersrc_and_check_id(..., &powersrc_sts, &id) which is not looks >> better than current code duplication. > > I see. Thanks for answer. > >> Or we need to spend some time for >> refactoring and testing of cht_wc_extcon_pwrsrc_event() code. > > Perhaps, In any case I'm not objecting of the current approach. >
If you think it is OK, could you reply with your tag? and I'll fix the multi-line comment by myself.
-- Best Regards, Chanwoo Choi Samsung Electronics
| |