extcon: intel-cht-wc: Refactor cht_wc_extcon_get_charger()
authorHans de Goede <hdegoede@redhat.com>
Tue, 1 Feb 2022 13:07:04 +0000 (14:07 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Tue, 1 Feb 2022 13:55:12 +0000 (14:55 +0100)
This is a preparation patch for adding support for registering
a power_supply class device.

Setting usbsrc to "CHT_WC_USBSRC_TYPE_SDP << CHT_WC_USBSRC_TYPE_SHIFT"
will make the following switch-case return EXTCON_CHG_USB_SDP
just as before, so there is no functional change.

Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/extcon/extcon-intel-cht-wc.c

index 3fc5dd06849a930dc53b062589a8cf27dd99aa24..a828ca89ca7f140e2d7bbf0b0988ee89138aa343 100644 (file)
@@ -153,14 +153,15 @@ static int cht_wc_extcon_get_charger(struct cht_wc_extcon_data *ext,
        } while (time_before(jiffies, timeout));
 
        if (status != CHT_WC_USBSRC_STS_SUCCESS) {
-               if (ignore_errors)
-                       return EXTCON_CHG_USB_SDP; /* Save fallback */
+               if (!ignore_errors) {
+                       if (status == CHT_WC_USBSRC_STS_FAIL)
+                               dev_warn(ext->dev, "Could not detect charger type\n");
+                       else
+                               dev_warn(ext->dev, "Timeout detecting charger type\n");
+               }
 
-               if (status == CHT_WC_USBSRC_STS_FAIL)
-                       dev_warn(ext->dev, "Could not detect charger type\n");
-               else
-                       dev_warn(ext->dev, "Timeout detecting charger type\n");
-               return EXTCON_CHG_USB_SDP; /* Save fallback */
+               /* Safe fallback */
+               usbsrc = CHT_WC_USBSRC_TYPE_SDP << CHT_WC_USBSRC_TYPE_SHIFT;
        }
 
        usbsrc = (usbsrc & CHT_WC_USBSRC_TYPE_MASK) >> CHT_WC_USBSRC_TYPE_SHIFT;