usb: usb251xb: Switch to use dev_err_probe() helper
authorYang Yingliang <yangyingliang@huawei.com>
Thu, 22 Sep 2022 12:39:51 +0000 (20:39 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Sep 2022 08:35:39 +0000 (10:35 +0200)
In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs. It's more simple in error path.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20220922123951.2004328-1-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/usb251xb.c

index 87035ac0983487de3a0e4d3630fe34142915ecd8..54337d72bb9ff2c1c9e3f1ed901e659aeef4140f 100644 (file)
@@ -400,7 +400,7 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
 {
        struct device *dev = hub->dev;
        struct device_node *np = dev->of_node;
-       int len, err;
+       int len;
        u32 property_u32 = 0;
        const char *cproperty_char;
        char str[USB251XB_STRING_BUFSIZE / 2];
@@ -416,13 +416,9 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
                hub->skip_config = 0;
 
        hub->gpio_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
-       if (PTR_ERR(hub->gpio_reset) == -EPROBE_DEFER) {
-               return -EPROBE_DEFER;
-       } else if (IS_ERR(hub->gpio_reset)) {
-               err = PTR_ERR(hub->gpio_reset);
-               dev_err(dev, "unable to request GPIO reset pin (%d)\n", err);
-               return err;
-       }
+       if (IS_ERR(hub->gpio_reset))
+               return dev_err_probe(dev, PTR_ERR(hub->gpio_reset),
+                                    "unable to request GPIO reset pin\n");
 
        if (of_property_read_u16_array(np, "vendor-id", &hub->vendor_id, 1))
                hub->vendor_id = USB251XB_DEF_VENDOR_ID;