extcon: Fix extcon_get_extcon_dev() error handling
[platform/kernel/linux-rpi.git] / drivers / power / supply / axp288_charger.c
index fb9db7f..22378da 100644 (file)
@@ -832,17 +832,20 @@ static int axp288_charger_probe(struct platform_device *pdev)
        info->regmap_irqc = axp20x->regmap_irqc;
 
        info->cable.edev = extcon_get_extcon_dev(AXP288_EXTCON_DEV_NAME);
-       if (info->cable.edev == NULL) {
-               dev_dbg(dev, "%s is not ready, probe deferred\n",
-                       AXP288_EXTCON_DEV_NAME);
-               return -EPROBE_DEFER;
+       if (IS_ERR(info->cable.edev)) {
+               dev_err_probe(dev, PTR_ERR(info->cable.edev),
+                             "extcon_get_extcon_dev(%s) failed\n",
+                             AXP288_EXTCON_DEV_NAME);
+               return PTR_ERR(info->cable.edev);
        }
 
        if (acpi_dev_present(USB_HOST_EXTCON_HID, NULL, -1)) {
                info->otg.cable = extcon_get_extcon_dev(USB_HOST_EXTCON_NAME);
-               if (info->otg.cable == NULL) {
-                       dev_dbg(dev, "EXTCON_USB_HOST is not ready, probe deferred\n");
-                       return -EPROBE_DEFER;
+               if (IS_ERR(info->otg.cable)) {
+                       dev_err_probe(dev, PTR_ERR(info->otg.cable),
+                                     "extcon_get_extcon_dev(%s) failed\n",
+                                     USB_HOST_EXTCON_NAME);
+                       return PTR_ERR(info->otg.cable);
                }
                dev_info(dev, "Using " USB_HOST_EXTCON_HID " extcon for usb-id\n");
        }