mfd: bd9571mwv: Use devm_regmap_add_irq_chip()
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tue, 12 Jan 2021 09:01:05 +0000 (18:01 +0900)
committerLee Jones <lee.jones@linaro.org>
Thu, 14 Jan 2021 13:05:55 +0000 (13:05 +0000)
Use devm_regmap_add_irq_chip() to simplify the code.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/bd9571mwv.c

index e68c3fabf9fc5600a4743c97ec8182e54d4d1683..49e968e20ddc734e98e390073bbaba5bf6195186 100644 (file)
@@ -170,31 +170,17 @@ static int bd9571mwv_probe(struct i2c_client *client,
        if (ret)
                return ret;
 
-       ret = regmap_add_irq_chip(bd->regmap, bd->irq, IRQF_ONESHOT, 0,
-                                 &bd9571mwv_irq_chip, &bd->irq_data);
+       ret = devm_regmap_add_irq_chip(bd->dev, bd->regmap, bd->irq,
+                                      IRQF_ONESHOT, 0, &bd9571mwv_irq_chip,
+                                      &bd->irq_data);
        if (ret) {
                dev_err(bd->dev, "Failed to register IRQ chip\n");
                return ret;
        }
 
-       ret = devm_mfd_add_devices(bd->dev, PLATFORM_DEVID_AUTO,
-                                  bd9571mwv_cells, ARRAY_SIZE(bd9571mwv_cells),
-                                  NULL, 0, regmap_irq_get_domain(bd->irq_data));
-       if (ret) {
-               regmap_del_irq_chip(bd->irq, bd->irq_data);
-               return ret;
-       }
-
-       return 0;
-}
-
-static int bd9571mwv_remove(struct i2c_client *client)
-{
-       struct bd9571mwv *bd = i2c_get_clientdata(client);
-
-       regmap_del_irq_chip(bd->irq, bd->irq_data);
-
-       return 0;
+       return devm_mfd_add_devices(bd->dev, PLATFORM_DEVID_AUTO,
+                                   bd9571mwv_cells, ARRAY_SIZE(bd9571mwv_cells),
+                                   NULL, 0, regmap_irq_get_domain(bd->irq_data));
 }
 
 static const struct of_device_id bd9571mwv_of_match_table[] = {
@@ -215,7 +201,6 @@ static struct i2c_driver bd9571mwv_driver = {
                .of_match_table = bd9571mwv_of_match_table,
        },
        .probe          = bd9571mwv_probe,
-       .remove         = bd9571mwv_remove,
        .id_table       = bd9571mwv_id_table,
 };
 module_i2c_driver(bd9571mwv_driver);