Re: [PATCH v2 17/20] extcon: intel-cht-wc: Support devs with Micro-B / USB-2 only Type-C connectors

From: Hans de Goede
Date: Tue Nov 16 2021 - 06:51:50 EST


Hi,

On 11/16/21 12:28, Andy Shevchenko wrote:
> On Sun, Nov 14, 2021 at 7:04 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
>>
>> So far the extcon-intel-cht-wc code has only been tested on devices with
>> a Type-C connector with USB-PD, USB3 (superspeed) and DP-altmode support
>> through a FUSB302 Type-C controller.
>>
>> Some devices with the intel-cht-wc PMIC however come with an USB-micro-B
>> connector, or an USB-2 only Type-C connector without USB-PD.
>>
>> Which device-model we are running on can be identified with the new
>> intel_cht_wc_get_model() helper and on models without a Type-C controller
>> the extcon code must control the Vbus 5V boost converter and the USB role
>> switch depending on the detected cable-type.
>
> ...
>
>> config EXTCON_INTEL_CHT_WC
>> tristate "Intel Cherrytrail Whiskey Cove PMIC extcon driver"
>> - depends on INTEL_SOC_PMIC_CHTWC
>
>> + depends on INTEL_SOC_PMIC_CHTWC && USB_SUPPORT
>
> Having these two in one expression sounds a bit alogical to me, can
> you just add a separate "depends on"?

Sure.

>
>> + select USB_ROLE_SWITCH
>
> ...
>
>> + if (ext->vbus_boost && ext->vbus_boost_enabled != enable) {
>> + if (enable)
>> + ret = regulator_enable(ext->vbus_boost);
>> + else
>> + ret = regulator_disable(ext->vbus_boost);
>
> Redundant blank line here (but it's up to you)
>
>> + if (ret == 0)
>> + ext->vbus_boost_enabled = enable;
>> + else
>> + dev_err(ext->dev, "Error updating Vbus boost regulator: %d\n", ret);
>
> Why not a traditional pattern, i.e. error handling first?

As I've mentioned before (to a very similar remark) error handling
first is not the traditional pattern, at least not for me.

Traditionally (to me) the else case is the error case. This
is just how humans work. E.g. if I need help for something
saying something like:

"If you have time can you help me with this please? Otherwise
I'm afraid that I am never going to solve this."

Feels natural, where as saying it like this:

"If you do not have time I'm afraid I am never going to solve
this, otherwise can you help me with this please ?"

Feels quite unnatural, at least to me.

>> + }
>
> ...
>
>> +/* Some boards require controlling the role-sw and vbus based on the id-pin */
>
> Vbus ? VBUS? Here and there the inconsistency of some terms...

"Vbus", I'll try to fix this up everywhere.

Regards,

Hans