From: Fabio Estevam <[email protected]>
Current code misses a "regmap_exit(mc13xxx->regmap)" in the error and remove paths.
Converting to devm_regmap_init_i2c() makes the regmap_exit unnecessary.
Signed-off-by: Fabio Estevam <[email protected]>
---
drivers/mfd/mc13xxx-i2c.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mfd/mc13xxx-i2c.c b/drivers/mfd/mc13xxx-i2c.c
index d22501d..0e38672 100644
--- a/drivers/mfd/mc13xxx-i2c.c
+++ b/drivers/mfd/mc13xxx-i2c.c
@@ -72,7 +72,7 @@ static int mc13xxx_i2c_probe(struct i2c_client *client,
mc13xxx->dev = &client->dev;
mutex_init(&mc13xxx->lock);
- mc13xxx->regmap = regmap_init_i2c(client, &mc13xxx_regmap_i2c_config);
+ mc13xxx->regmap = devm_regmap_init_i2c(client, &mc13xxx_regmap_i2c_config);
if (IS_ERR(mc13xxx->regmap)) {
ret = PTR_ERR(mc13xxx->regmap);
dev_err(mc13xxx->dev, "Failed to initialize register map: %d\n",
--
1.7.1
From: Fabio Estevam <[email protected]>
Current code misses a "regmap_exit(mc13xxx->regmap)" in the error and remove paths.
Converting to devm_regmap_init_i2c() makes the regmap_exit unnecessary.
Signed-off-by: Fabio Estevam <[email protected]>
---
drivers/mfd/mc13xxx-spi.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mfd/mc13xxx-spi.c b/drivers/mfd/mc13xxx-spi.c
index 3fcdab3..62e537b 100644
--- a/drivers/mfd/mc13xxx-spi.c
+++ b/drivers/mfd/mc13xxx-spi.c
@@ -78,7 +78,7 @@ static int mc13xxx_spi_probe(struct spi_device *spi)
mc13xxx->dev = &spi->dev;
mutex_init(&mc13xxx->lock);
- mc13xxx->regmap = regmap_init_spi(spi, &mc13xxx_regmap_spi_config);
+ mc13xxx->regmap = devm_regmap_init_spi(spi, &mc13xxx_regmap_spi_config);
if (IS_ERR(mc13xxx->regmap)) {
ret = PTR_ERR(mc13xxx->regmap);
dev_err(mc13xxx->dev, "Failed to initialize register map: %d\n",
--
1.7.1
2012/6/9 Fabio Estevam <[email protected]>:
> From: Fabio Estevam <[email protected]>
>
> Current code misses a "regmap_exit(mc13xxx->regmap)" in the error and remove paths.
>
> Converting to devm_regmap_init_i2c() makes the regmap_exit unnecessary.
This is already included in this patch: (although it is not yet upstream)
http://www.spinics.net/lists/kernel/msg1346844.html
>
> Signed-off-by: Fabio Estevam <[email protected]>
> ---
> ?drivers/mfd/mc13xxx-i2c.c | ? ?2 +-
> ?1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mfd/mc13xxx-i2c.c b/drivers/mfd/mc13xxx-i2c.c
> index d22501d..0e38672 100644
> --- a/drivers/mfd/mc13xxx-i2c.c
> +++ b/drivers/mfd/mc13xxx-i2c.c
> @@ -72,7 +72,7 @@ static int mc13xxx_i2c_probe(struct i2c_client *client,
> ? ? ? ?mc13xxx->dev = &client->dev;
> ? ? ? ?mutex_init(&mc13xxx->lock);
>
> - ? ? ? mc13xxx->regmap = regmap_init_i2c(client, &mc13xxx_regmap_i2c_config);
> + ? ? ? mc13xxx->regmap = devm_regmap_init_i2c(client, &mc13xxx_regmap_i2c_config);
To convert to devm_regmap_init_i2c(), you also need to remove the
regmap_exit() call
in mc13xxx_common_cleanup().
Axel