mfd: max77693: Remove unused iolock mutex
PATCH RESEND 1/2 mfd: max77693: Remove unused iolock mutex
Now this driver is using regmap API, the iolock mutex is not used and can be removed.
--- drivers/mfd/max77693.c | 2 -- include/linux/mfd/max77693-private.h | 1 - 2 files changed, 3 deletions(-)
drivers/mfd/max77693.c +0 -2
@@ -138,8 +138,6 @@ static int max77693_i2c_probe(struct i2c_client *i2c, max77693->wakeup = pdata->wakeup; -mutex_init (&max77693->iolock); -if (max77693_read_reg (max77693->regmap,MAX77693_PMIC_REG_PMIC_ID2 , ®_data) <0 ) {dev_err (max77693->dev,"device not found on this channel\n" );
include/linux/mfd/max77693-private.h +0 -1
@@ -190,7 +190,6 @@ struct max77693_dev {struct i2c_client *i2c;/* 0xCC , PMIC, Charger, Flash LED */ struct i2c_client *muic;/* 0x4A , MUIC */ struct i2c_client *haptic;/* 0x90 , Haptic */ -struct mutex iolock;int type;
Signature · 1 line
1.7.9.5
PATCH 2/2 mfd: max77693: fix irq leak and wrong kfree call
We need to call max77693_irq_exit() in max77693_i2c_probe error patch and max77693_i2c_remove.
Current code already uses devm_kzalloc() to allocate memory for max77693. Thus we should not call kfree(max77693), otherwise we got double free.
--- drivers/mfd/max77693.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
drivers/mfd/max77693.c +5 -4
@@ -122,7 +122,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c, max77693->regmap =devm_regmap_init_i2c (i2c, &max77693_regmap_config);if (IS_ERR (max77693->regmap)) { ret =PTR_ERR (max77693->regmap); -dev_err (max77693->dev,"failed to allocate register map: %d\n" , +dev_err (max77693->dev,"failed to allocate register map: %d\n" , ret); goto err_regmap; }
@@ -154,7 +154,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c, ret =max77693_irq_init (max77693);if (ret <0 ) - goto err_mfd; + goto err_irq;pm_runtime_set_active (max77693->dev);
@@ -168,11 +168,11 @@ static int max77693_i2c_probe(struct i2c_client *i2c,return ret; err_mfd: +max77693_irq_exit (max77693); +err_irq:i2c_unregister_device (max77693->muic);i2c_unregister_device (max77693->haptic); err_regmap: -kfree (max77693); -return ret; }
@@ -181,6 +181,7 @@ static int max77693_i2c_remove(struct i2c_client *i2c)struct max77693_dev *max77693 =i2c_get_clientdata (i2c);mfd_remove_devices (max77693->dev); +max77693_irq_exit (max77693);i2c_unregister_device (max77693->muic);i2c_unregister_device (max77693->haptic);
Signature · 1 line
1.7.9.5
Re: [PATCH 2/2] mfd: max77693: fix irq leak and wrong kfree call
Hi Axel,
Quoted 16 lines · Axel Lin
We need to call
max77693_irq_exit()inmax77693_i2c_probeerror patch andmax77693_i2c_remove.Current code already uses
devm_kzalloc()to allocate memory for max77693. Thus we should not call kfree(max77693), otherwise we got double free.Signed-off-by Axel Lin <[email protected]>--- drivers/mfd/max77693.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)drivers/mfd/max77693.c +0
-0
drivers/mfd/max77693.c static int max77693_i2c_probe(struct i2c_client *i2c, · line 128
Quoted 8 lines
drivers/mfd/max77693.c +1
-1@@ -122,7 +122,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c, max77693->regmap =devm_regmap_init_i2c (i2c, &max77693_regmap_config);if (IS_ERR (max77693->regmap)) { ret =PTR_ERR (max77693->regmap); -dev_err (max77693->dev,"failed to allocate register map: %d\n" , +dev_err (max77693->dev,"failed to allocate register map: %d\n" , ret); goto err_regmap; }
This is an unrelated change. I applied this patch except for this chunk.
Cheers,
Samuel.
Signature · 2 lines
Intel Open Source Technology Centre http://oss.intel.com/