mfd: da9052: Convert to use devm_* APIs
Subsystems (2)
PATCH 1/2 mfd: da9052: Convert to use devm_* APIs
Signed-off-by Axel Lin <[email protected]>
--- drivers/mfd/da9052-i2c.c | 24 +++++++----------------- drivers/mfd/da9052-spi.c | 18 +++++------------- 2 files changed, 12 insertions(+), 30 deletions(-)
drivers/mfd/da9052-i2c.c +7 -17
@@ -70,7 +70,7 @@ static int __devinit da9052_i2c_probe(struct i2c_client *client,struct da9052 *da9052;int ret; - da9052 =kzalloc (sizeof (struct da9052 ),GFP_KERNEL ); + da9052 =devm_kzalloc (&client->dev,sizeof (struct da9052 ),GFP_KERNEL );if (!da9052)return -ENOMEM ;
@@ -78,8 +78,7 @@ static int __devinit da9052_i2c_probe(struct i2c_client *client, I2C_FUNC_SMBUS_BYTE_DATA)) {dev_info (&client->dev,"Error in %s:i2c_check_functionality\n" , __func__); - ret = -ENODEV ; - goto err; +return -ENODEV ; } da9052->dev = &client->dev;
@@ -87,17 +86,17 @@ static int __devinit da9052_i2c_probe(struct i2c_client *client,i2c_set_clientdata (client, da9052); - da9052->regmap =regmap_init_i2c (client, &da9052_regmap_config); + da9052->regmap =devm_regmap_init_i2c (client, &da9052_regmap_config);if (IS_ERR (da9052->regmap)) { ret =PTR_ERR (da9052->regmap);dev_err (&client->dev,"Failed to allocate register map: %d\n" , ret); - goto err; +return ret; } ret =da9052_i2c_enable_multiwrite (da9052);if (ret <0 ) - goto err_regmap; +return ret;#ifdef CONFIG_OF if (!id) {
@@ -112,20 +111,14 @@ static int __devinit da9052_i2c_probe(struct i2c_client *client,if (!id) { ret = -ENODEV ;dev_err (&client->dev,"id is null.\n" ); - goto err_regmap; +return ret; } ret =da9052_device_init (da9052, id->driver_data);if (ret !=0 ) - goto err_regmap; +return ret;return 0 ; - -err_regmap: -regmap_exit (da9052->regmap); -err: -kfree (da9052); -return ret; } static int __devexit da9052_i2c_remove(struct i2c_client *client)
@@ -133,9 +126,6 @@ static int __devexit da9052_i2c_remove(struct i2c_client *client)struct da9052 *da9052 =i2c_get_clientdata (client);da9052_device_exit (da9052); -regmap_exit (da9052->regmap); -kfree (da9052); -return 0 ; }
drivers/mfd/da9052-spi.c +5 -13
@@ -25,8 +25,9 @@ static int __devinit da9052_spi_probe(struct spi_device *spi) {int ret;const struct spi_device_id *id =spi_get_device_id (spi); -struct da9052 *da9052 =kzalloc (sizeof (struct da9052 ),GFP_KERNEL ); +struct da9052 *da9052; + da9052 =devm_kzalloc (&spi->dev,sizeof (struct da9052 ),GFP_KERNEL );if (!da9052)return -ENOMEM ;
@@ -42,25 +43,19 @@ static int __devinit da9052_spi_probe(struct spi_device *spi) da9052_regmap_config.read_flag_mask =1 ; da9052_regmap_config.write_flag_mask =0 ; - da9052->regmap =regmap_init_spi (spi, &da9052_regmap_config); + da9052->regmap =devm_regmap_init_spi (spi, &da9052_regmap_config);if (IS_ERR (da9052->regmap)) { ret =PTR_ERR (da9052->regmap);dev_err (&spi->dev,"Failed to allocate register map: %d\n" , ret); - goto err; +return ret; } ret =da9052_device_init (da9052, id->driver_data);if (ret !=0 ) - goto err_regmap; +return ret;return 0 ; - -err_regmap: -regmap_exit (da9052->regmap); -err: -kfree (da9052); -return ret; } static int __devexit da9052_spi_remove(struct spi_device *spi)
@@ -68,9 +63,6 @@ static int __devexit da9052_spi_remove(struct spi_device *spi)struct da9052 *da9052 =dev_get_drvdata (&spi->dev);da9052_device_exit (da9052); -regmap_exit (da9052->regmap); -kfree (da9052); -return 0 ; }
Signature · 1 line
1.7.5.4
PATCH 2/2 mfd: pcf50633-core: Convert to use devm_* APIs
Signed-off-by Axel Lin <[email protected]>
--- drivers/mfd/pcf50633-core.c | 36 ++++++++++-------------------------- 1 files changed, 10 insertions(+), 26 deletions(-)
drivers/mfd/pcf50633-core.c +10 -26
@@ -204,7 +204,7 @@ static int __devinit pcf50633_probe(struct i2c_client *client,return -ENOENT ; } - pcf =kzalloc (sizeof (*pcf),GFP_KERNEL ); + pcf =devm_kzalloc (&client->dev,sizeof (*pcf),GFP_KERNEL );if (!pcf)return -ENOMEM ;
@@ -212,12 +212,11 @@ static int __devinit pcf50633_probe(struct i2c_client *client,mutex_init (&pcf->lock); - pcf->regmap =regmap_init_i2c (client, &pcf50633_regmap_config); + pcf->regmap =devm_regmap_init_i2c (client, &pcf50633_regmap_config);if (IS_ERR (pcf->regmap)) { ret =PTR_ERR (pcf->regmap); -dev_err (pcf->dev,"Failed to allocate register map: %d\n" , - ret); - goto err_free; +dev_err (pcf->dev,"Failed to allocate register map: %d\n" , ret); +return ret; }i2c_set_clientdata (client, pcf);
@@ -228,7 +227,7 @@ static int __devinit pcf50633_probe(struct i2c_client *client,if (version <0 || variant <0 ) {dev_err (pcf->dev,"Unable to probe pcf50633\n" ); ret = -ENODEV ; - goto err_regmap; +return ret; } dev_info(pcf->dev, "Probed device version %d variant %d\n",
@@ -237,16 +236,11 @@ static int __devinit pcf50633_probe(struct i2c_client *client,pcf50633_irq_init (pcf, client->irq);/* Create sub devices */ -pcf50633_client_dev_register (pcf,"pcf50633-input" , - &pcf->input_pdev); -pcf50633_client_dev_register (pcf,"pcf50633-rtc" , - &pcf->rtc_pdev); -pcf50633_client_dev_register (pcf,"pcf50633-mbc" , - &pcf->mbc_pdev); -pcf50633_client_dev_register (pcf,"pcf50633-adc" , - &pcf->adc_pdev); -pcf50633_client_dev_register (pcf,"pcf50633-backlight" , - &pcf->bl_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-input" , &pcf->input_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-rtc" , &pcf->rtc_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-mbc" , &pcf->mbc_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-adc" , &pcf->adc_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-backlight" , &pcf->bl_pdev);for (i =0 ; i <PCF50633_NUM_REGULATORS ; i++) {
@@ -274,13 +268,6 @@ static int __devinit pcf50633_probe(struct i2c_client *client, pdata->probe_done (pcf);return 0 ; - -err_regmap: -regmap_exit (pcf->regmap); -err_free: -kfree (pcf); - -return ret; } static int __devexit pcf50633_remove(struct i2c_client *client)
@@ -300,9 +287,6 @@ static int __devexit pcf50633_remove(struct i2c_client *client)for (i =0 ; i <PCF50633_NUM_REGULATORS ; i++)platform_device_unregister (pcf->regulator_pdev[i]); -regmap_exit (pcf->regmap); -kfree (pcf); -return 0 ; }
Signature · 1 line
1.7.5.4
Re: [PATCH 2/2] mfd: pcf50633-core: Convert to use devm_* APIs
Quoted 1 line · Axel Lin
Signed-off-by Axel Lin <[email protected]>
Looks good...
Quoted 2 lines
drivers/mfd/pcf50633-core.c +0
-0
[...]
Quoted 11 lines
drivers/mfd/pcf50633-core.c +0
-7@@ -237,16 +236,11 @@ static int __devinit pcf50633_probe(struct i2c_client *client,pcf50633_irq_init (pcf, client->irq);/* Create sub devices */ -pcf50633_client_dev_register (pcf,"pcf50633-input" , - &pcf->input_pdev); -pcf50633_client_dev_register (pcf,"pcf50633-rtc" , - &pcf->rtc_pdev); -pcf50633_client_dev_register (pcf,"pcf50633-mbc" , - &pcf->mbc_pdev); - pcf50633_client_dev_register(pcf, "pcf50633-adc",
drivers/mfd/pcf50633-core.c static int __devinit pcf50633_probe(struct i2c_client *client, · line 244
Quoted 10 lines
drivers/mfd/pcf50633-core.c +5
-3- &pcf->adc_pdev); -pcf50633_client_dev_register (pcf,"pcf50633-backlight" , - &pcf->bl_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-input" , &pcf->input_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-rtc" , &pcf->rtc_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-mbc" , &pcf->mbc_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-adc" , &pcf->adc_pdev); +pcf50633_client_dev_register (pcf,"pcf50633-backlight" , &pcf->bl_pdev);
... but this is really a unrelated change, which isn't even mentioned in the changelog.
Hi Axel,
Quoted 1 line · Axel Lin
Signed-off-by Axel Lin <[email protected]>
Both patches applied, thanks.
Cheers,
Samuel.
Signature · 2 lines
Intel Open Source Technology Centre http://oss.intel.com/