mfd: Fix checking return value of regmap_read()
PATCH 1/1 mfd: Fix checking return value of regmap_read()
Check the return value of regmap_read() rather than the read value.
Signed-off-by Axel Lin <[email protected]>
--- drivers/mfd/88pm800.c | 16 +++++++++------- drivers/mfd/88pm805.c | 5 +++-- 2 files changed, 12 insertions(+), 9 deletions(-)
drivers/mfd/88pm800.c +9 -7
@@ -419,22 +419,24 @@ static int __devinit device_800_init(struct pm80x_chip *chip, struct pm80x_platform_data *pdata) {int ret, pmic_id; +unsigned int val; -regmap_read (chip->regmap,PM800_CHIP_ID , &ret); + ret =regmap_read (chip->regmap,PM800_CHIP_ID , &val);if (ret <0 ) {dev_err (chip->dev,"Failed to read CHIP ID: %d\n" , ret); goto out; } - pmic_id = ret &PM80X_VERSION_MASK ; + pmic_id = val &PM80X_VERSION_MASK ;if ((pmic_id >=PM800_CHIP_A0 ) && (pmic_id <=PM800_CHIP_END )) { - chip->version = ret; + chip->version = val;dev_info (chip->dev, -"88PM80x:Marvell 88PM800 (ID:0x%x) detected\n" , ret); +"88PM80x:Marvell 88PM800 (ID:0x%x) detected\n" , val); }else {dev_err (chip->dev, -"Failed to detect Marvell 88PM800:ChipID[0x%x]\n" , ret); +"Failed to detect Marvell 88PM800:ChipID[0x%x]\n" , val); + ret = -EINVAL ; goto out; }
@@ -442,12 +444,12 @@ static int __devinit device_800_init(struct pm80x_chip *chip,* alarm wake up bit will be clear in device_irq_init(), * read before that */ -regmap_read (chip->regmap,PM800_RTC_CONTROL , &ret); + ret =regmap_read (chip->regmap,PM800_RTC_CONTROL , &val);if (ret <0 ) {dev_err (chip->dev,"Failed to read RTC register: %d\n" , ret); goto out; } -if (ret &PM800_ALARM_WAKEUP ) { +if (val &PM800_ALARM_WAKEUP ) {if (pdata && pdata->rtc) pdata->rtc->rtc_wakeup =1 ; }
drivers/mfd/88pm805.c +3 -2
@@ -192,6 +192,7 @@ static struct regmap_irq_chip pm805_irq_chip = {static int __devinit device_805_init (struct pm80x_chip *chip) {int ret =0 ; +unsigned int val;struct regmap *map = chip->regmap;if (!map) {
@@ -199,12 +200,12 @@ static int __devinit device_805_init(struct pm80x_chip *chip)return -EINVAL ; } -regmap_read (map,PM805_CHIP_ID , &ret); + ret =regmap_read (map,PM805_CHIP_ID , &val);if (ret <0 ) {dev_err (chip->dev,"Failed to read CHIP ID: %d\n" , ret); goto out_irq_init; } - chip->version = ret; + chip->version = val; chip->regmap_irq_chip = &pm805_irq_chip;
Signature · 1 line
1.7.9.5
Quoted 75 lines · Axel Lin
Check the return value of
regmap_read()rather than the read value.Signed-off-by Axel Lin <[email protected]>--- drivers/mfd/88pm800.c | 16 +++++++++------- drivers/mfd/88pm805.c | 5 +++-- 2 files changed, 12 insertions(+), 9 deletions(-)drivers/mfd/88pm800.c +9
-7@@ -419,22 +419,24 @@ static int __devinit device_800_init(struct pm80x_chip *chip, struct pm80x_platform_data *pdata) {int ret, pmic_id; +unsigned int val; -regmap_read (chip->regmap,PM800_CHIP_ID , &ret); + ret =regmap_read (chip->regmap,PM800_CHIP_ID , &val);if (ret <0 ) {dev_err (chip->dev,"Failed to read CHIP ID: %d\n" , ret); goto out; } - pmic_id = ret &PM80X_VERSION_MASK ; + pmic_id = val &PM80X_VERSION_MASK ;if ((pmic_id >=PM800_CHIP_A0 ) && (pmic_id <=PM800_CHIP_END )) { - chip->version = ret; + chip->version = val;dev_info (chip->dev, -"88PM80x:Marvell 88PM800 (ID:0x%x) detected\n" , ret); +"88PM80x:Marvell 88PM800 (ID:0x%x) detected\n" , val); }else {dev_err (chip->dev, -"Failed to detect Marvell 88PM800:ChipID[0x%x]\n" , ret); +"Failed to detect Marvell 88PM800:ChipID[0x%x]\n" , val); + ret = -EINVAL ; goto out; }@@ -442,12 +444,12 @@ static int __devinit device_800_init(struct pm80x_chip *chip,* alarm wake up bit will be clear in device_irq_init(), * read before that */ -regmap_read (chip->regmap,PM800_RTC_CONTROL , &ret); + ret =regmap_read (chip->regmap,PM800_RTC_CONTROL , &val);if (ret <0 ) {dev_err (chip->dev,"Failed to read RTC register: %d\n" , ret); goto out; } -if (ret &PM800_ALARM_WAKEUP ) { +if (val &PM800_ALARM_WAKEUP ) {if (pdata && pdata->rtc) pdata->rtc->rtc_wakeup =1 ; }drivers/mfd/88pm805.c +1
-1@@ -192,6 +192,7 @@ static struct regmap_irq_chip pm805_irq_chip = {static int __devinit device_805_init (struct pm80x_chip *chip) {int ret =0 ; +unsigned int val;struct regmap *map = chip->regmap;if (!map) {@@ -199,12 +200,12 @@ static int __devinit device_805_init(struct pm80x_chip *chip)return -EINVAL ; } -regmap_read (map,PM805_CHIP_ID , &ret);
drivers/mfd/88pm805.c static int __devinit device_805_init(struct pm80x_chip *chip) · line 211
Quoted 10 lines
drivers/mfd/88pm805.c +2
-1+ ret =regmap_read (map,PM805_CHIP_ID , &val);if (ret <0 ) {dev_err (chip->dev,"Failed to read CHIP ID: %d\n" , ret); goto out_irq_init; } - chip->version = ret; + chip->version = val; chip->regmap_irq_chip = &pm805_irq_chip;
Axel,
thanks for the fixing.
Signature · 2 lines
Best Regards Qiao
Samuel Ortiz
AppliedHi Axel,
Quoted 7 lines · Axel Lin
Check the return value of
regmap_read()rather than the read value.Signed-off-by Axel Lin <[email protected]>--- drivers/mfd/88pm800.c | 16 +++++++++------- drivers/mfd/88pm805.c | 5 +++-- 2 files changed, 12 insertions(+), 9 deletions(-)
Applied, thanks.
Cheers,
Samuel.
Signature · 2 lines
Intel Open Source Technology Centre http://oss.intel.com/