mfd: rohm: Use dev_err_probe()
authorMatti Vaittinen <mazziesaccount@gmail.com>
Wed, 23 Nov 2022 09:19:49 +0000 (11:19 +0200)
committerLee Jones <lee@kernel.org>
Thu, 8 Dec 2022 13:52:58 +0000 (13:52 +0000)
The dev_err_probe() has (at least) following benefits over dev_err()
when printing an error print for a failed function call at a device
driver probe:
- Omit error level print if error is 'EPRBE_DEFER'
- Standardized print format for returned error
- return the error value allowing shortening calls like:

if (ret) {
dev_err(...);
return ret;
}

to

if (ret)
return dev_err_probe(...);

Convert the ROHM BD71828, ROHM BD718x7 and ROHM BD9576 core drivers to
use the dev_err_probe() when returned error is not hard-coded constant.

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/Y33lte0PKd2u6dyR@fedora
drivers/mfd/rohm-bd71828.c
drivers/mfd/rohm-bd718x7.c
drivers/mfd/rohm-bd9576.c

index 3c5c6c3..7eb9206 100644 (file)
@@ -513,27 +513,24 @@ static int bd71828_i2c_probe(struct i2c_client *i2c)
        }
 
        regmap = devm_regmap_init_i2c(i2c, regmap_config);
-       if (IS_ERR(regmap)) {
-               dev_err(&i2c->dev, "Failed to initialize Regmap\n");
-               return PTR_ERR(regmap);
-       }
+       if (IS_ERR(regmap))
+               return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
+                                    "Failed to initialize Regmap\n");
 
        ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, i2c->irq,
                                       IRQF_ONESHOT, 0, irqchip, &irq_data);
-       if (ret) {
-               dev_err(&i2c->dev, "Failed to add IRQ chip\n");
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(&i2c->dev, ret,
+                                    "Failed to add IRQ chip\n");
 
        dev_dbg(&i2c->dev, "Registered %d IRQs for chip\n",
                irqchip->num_irqs);
 
        if (button_irq) {
                ret = regmap_irq_get_virq(irq_data, button_irq);
-               if (ret < 0) {
-                       dev_err(&i2c->dev, "Failed to get the power-key IRQ\n");
-                       return ret;
-               }
+               if (ret < 0)
+                       return dev_err_probe(&i2c->dev, ret,
+                                            "Failed to get the power-key IRQ\n");
 
                button.irq = ret;
        }
@@ -545,7 +542,7 @@ static int bd71828_i2c_probe(struct i2c_client *i2c)
        ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO, mfd, cells,
                                   NULL, 0, regmap_irq_get_domain(irq_data));
        if (ret)
-               dev_err(&i2c->dev, "Failed to create subdevices\n");
+               dev_err_probe(&i2c->dev, ret, "Failed to create subdevices\n");
 
        return ret;
 }
index b55674d..378eb1a 100644 (file)
@@ -156,18 +156,15 @@ static int bd718xx_i2c_probe(struct i2c_client *i2c)
        }
 
        regmap = devm_regmap_init_i2c(i2c, &bd718xx_regmap_config);
-       if (IS_ERR(regmap)) {
-               dev_err(&i2c->dev, "regmap initialization failed\n");
-               return PTR_ERR(regmap);
-       }
+       if (IS_ERR(regmap))
+               return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
+                                    "regmap initialization failed\n");
 
        ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, i2c->irq,
                                       IRQF_ONESHOT, 0, &bd718xx_irq_chip,
                                       &irq_data);
-       if (ret) {
-               dev_err(&i2c->dev, "Failed to add irq_chip\n");
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(&i2c->dev, ret, "Failed to add irq_chip\n");
 
        ret = bd718xx_init_press_duration(regmap, &i2c->dev);
        if (ret)
@@ -175,10 +172,8 @@ static int bd718xx_i2c_probe(struct i2c_client *i2c)
 
        ret = regmap_irq_get_virq(irq_data, BD718XX_INT_PWRBTN_S);
 
-       if (ret < 0) {
-               dev_err(&i2c->dev, "Failed to get the IRQ\n");
-               return ret;
-       }
+       if (ret < 0)
+               return dev_err_probe(&i2c->dev, ret, "Failed to get the IRQ\n");
 
        button.irq = ret;
 
@@ -186,7 +181,7 @@ static int bd718xx_i2c_probe(struct i2c_client *i2c)
                                   mfd, cells, NULL, 0,
                                   regmap_irq_get_domain(irq_data));
        if (ret)
-               dev_err(&i2c->dev, "Failed to create subdevices\n");
+               dev_err_probe(&i2c->dev, ret, "Failed to create subdevices\n");
 
        return ret;
 }
index c854ab5..6491e38 100644 (file)
@@ -121,10 +121,9 @@ static int bd957x_i2c_probe(struct i2c_client *i2c)
        }
 
        regmap = devm_regmap_init_i2c(i2c, &bd957x_regmap);
-       if (IS_ERR(regmap)) {
-               dev_err(&i2c->dev, "Failed to initialize Regmap\n");
-               return PTR_ERR(regmap);
-       }
+       if (IS_ERR(regmap))
+               return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
+                                    "Failed to initialize Regmap\n");
 
        /*
         * BD9576 behaves badly. It kepts IRQ line asserted for the whole
@@ -145,10 +144,10 @@ static int bd957x_i2c_probe(struct i2c_client *i2c)
                ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, i2c->irq,
                                               IRQF_ONESHOT, 0,
                                               &bd9576_irq_chip, &irq_data);
-               if (ret) {
-                       dev_err(&i2c->dev, "Failed to add IRQ chip\n");
-                       return ret;
-               }
+               if (ret)
+                       return dev_err_probe(&i2c->dev, ret,
+                                            "Failed to add IRQ chip\n");
+
                domain = regmap_irq_get_domain(irq_data);
        } else {
                ret = regmap_update_bits(regmap, BD957X_REG_INT_MAIN_MASK,
@@ -162,7 +161,7 @@ static int bd957x_i2c_probe(struct i2c_client *i2c)
        ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO, cells,
                                   num_cells, NULL, 0, domain);
        if (ret)
-               dev_err(&i2c->dev, "Failed to create subdevices\n");
+               dev_err_probe(&i2c->dev, ret, "Failed to create subdevices\n");
 
        return ret;
 }