ath79: rb91x_nand: use dev_err_probe
authorRosen Penev <rosenp@gmail.com>
Thu, 15 Aug 2024 02:21:54 +0000 (19:21 -0700)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 22 Sep 2024 16:23:08 +0000 (18:23 +0200)
Simplifies the error path and avoids having to handle -EPROBE_DEFER
manually.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16416
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/ath79/files/drivers/mtd/nand/raw/rb91x_nand.c

index c502f4a06497e79abe56844be0e6514458a5a9e4..092cd85d82e117638cb42ab36dab6c82e23ec9f7 100644 (file)
@@ -284,13 +284,8 @@ static int rb91x_nand_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, drvdata);
 
        gpios = gpiod_get_array(dev, NULL, GPIOD_OUT_LOW);
-       if (IS_ERR(gpios)) {
-               if (PTR_ERR(gpios) != -EPROBE_DEFER) {
-                       dev_err(dev, "failed to get gpios: %ld\n",
-                               PTR_ERR(gpios));
-               }
-               return PTR_ERR(gpios);
-       }
+       if (IS_ERR(gpios))
+               return dev_err_probe(dev, PTR_ERR(gpios), "failed to get gpios");
 
        if (gpios->ndescs != RB91X_NAND_GPIOS) {
                dev_err(dev, "expected %d gpios\n", RB91X_NAND_GPIOS);
@@ -333,16 +328,11 @@ static int rb91x_nand_probe(struct platform_device *pdev)
 
        r = mtd_device_register(mtd, NULL, 0);
        if (r) {
-               dev_err(dev, "mtd_device_register() failed: %d\n",
-                       r);
-               goto err_release_nand;
+               rb91x_nand_release(drvdata);
+               return dev_err_probe(dev, r, "mtd_device_register() failed");
        }
 
        return 0;
-
-err_release_nand:
-       rb91x_nand_release(drvdata);
-       return r;
 }
 
 static int rb91x_nand_remove(struct platform_device *pdev)