Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb6e8ddf authored by Dan Carpenter's avatar Dan Carpenter Committed by Samuel Ortiz
Browse files

mfd: Fix 88pm860x uninitialized variable and clean up



The original code had a compile warning:
drivers/mfd/88pm860x-core.c:431: warning: ‘ret’ may be used
	uninitialized in this function
It seems like the warning is valid if either pdata or pdata->touch is
NULL.

This patch checks pdata and pdata->touch at the beginning of the
function.  That means everything can be pulled in one indent level.
Now all the statements fit within the 80 character limit.

Also at that point the "use_gpadc" variable isn't needed and removing
it simplifies the logic.

Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Acked-by: default avatarHaojian Zhuang <hzhuang1@marvell.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent d281b80c
Loading
Loading
Loading
Loading
+32 −40
Original line number Original line Diff line number Diff line
@@ -428,21 +428,20 @@ static int __devinit device_gpadc_init(struct pm860x_chip *chip,
{
{
	struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
	struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
				: chip->companion;
				: chip->companion;
	int use_gpadc = 0, data, ret;
	int data;
	int ret;


	/* initialize GPADC without activating it */
	/* initialize GPADC without activating it */


	if (pdata && pdata->touch) {
	if (!pdata || !pdata->touch)
		return -EINVAL;

	/* set GPADC MISC1 register */
	/* set GPADC MISC1 register */
	data = 0;
	data = 0;
		data |= (pdata->touch->gpadc_prebias << 1)
	data |= (pdata->touch->gpadc_prebias << 1) & PM8607_GPADC_PREBIAS_MASK;
			& PM8607_GPADC_PREBIAS_MASK;
	data |= (pdata->touch->slot_cycle << 3) & PM8607_GPADC_SLOT_CYCLE_MASK;
		data |= (pdata->touch->slot_cycle << 3)
	data |= (pdata->touch->off_scale << 5) & PM8607_GPADC_OFF_SCALE_MASK;
			& PM8607_GPADC_SLOT_CYCLE_MASK;
	data |= (pdata->touch->sw_cal << 7) & PM8607_GPADC_SW_CAL_MASK;
		data |= (pdata->touch->off_scale << 5)
			& PM8607_GPADC_OFF_SCALE_MASK;
		data |= (pdata->touch->sw_cal << 7)
			& PM8607_GPADC_SW_CAL_MASK;
	if (data) {
	if (data) {
		ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
		ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
		if (ret < 0)
		if (ret < 0)
@@ -458,22 +457,15 @@ static int __devinit device_gpadc_init(struct pm860x_chip *chip,
	/* set prebias & prechg time of pen detect */
	/* set prebias & prechg time of pen detect */
	data = 0;
	data = 0;
	data |= pdata->touch->pen_prebias & PM8607_PD_PREBIAS_MASK;
	data |= pdata->touch->pen_prebias & PM8607_PD_PREBIAS_MASK;
		data |= (pdata->touch->pen_prechg << 5)
	data |= (pdata->touch->pen_prechg << 5) & PM8607_PD_PRECHG_MASK;
			& PM8607_PD_PRECHG_MASK;
	if (data) {
	if (data) {
		ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
		ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
		if (ret < 0)
		if (ret < 0)
			goto out;
			goto out;
	}
	}


		use_gpadc = 1;
	}

	/* turn on GPADC */
	if (use_gpadc) {
	ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1,
	ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1,
			      PM8607_GPADC_EN, PM8607_GPADC_EN);
			      PM8607_GPADC_EN, PM8607_GPADC_EN);
	}
out:
out:
	return ret;
	return ret;
}
}