kernel-janitors.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch] mfd/88pm860x: fix uninitialized variable and clean up
@ 2010-05-26 22:54 Dan Carpenter
  2010-05-27  2:08 ` Haojian Zhuang
  2010-06-18 18:24 ` Samuel Ortiz
  0 siblings, 2 replies; 3+ messages in thread
From: Dan Carpenter @ 2010-05-26 22:54 UTC (permalink / raw)
  To: Samuel Ortiz
  Cc: Haojian Zhuang, Mark Brown, Liam Girdwood, linux-kernel,
	kernel-janitors

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: Dan Carpenter <error27@gmail.com>

diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c
index 405d2d5..f9ada69 100644
--- a/drivers/mfd/88pm860x-core.c
+++ b/drivers/mfd/88pm860x-core.c
@@ -428,52 +428,44 @@ static int __devinit device_gpadc_init(struct pm860x_chip *chip,
 {
 	struct i2c_client *i2c = (chip->id = CHIP_PM8607) ? chip->client \
 				: chip->companion;
-	int use_gpadc = 0, data, ret;
+	int data;
+	int ret;
 
 	/* initialize GPADC without activating it */
 
-	if (pdata && pdata->touch) {
-		/* set GPADC MISC1 register */
-		data = 0;
-		data |= (pdata->touch->gpadc_prebias << 1)
-			& PM8607_GPADC_PREBIAS_MASK;
-		data |= (pdata->touch->slot_cycle << 3)
-			& PM8607_GPADC_SLOT_CYCLE_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) {
-			ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
-			if (ret < 0)
-				goto out;
-		}
-		/* set tsi prebias time */
-		if (pdata->touch->tsi_prebias) {
-			data = pdata->touch->tsi_prebias;
-			ret = pm860x_reg_write(i2c, PM8607_TSI_PREBIAS, data);
-			if (ret < 0)
-				goto out;
-		}
-		/* set prebias & prechg time of pen detect */
-		data = 0;
-		data |= pdata->touch->pen_prebias & PM8607_PD_PREBIAS_MASK;
-		data |= (pdata->touch->pen_prechg << 5)
-			& PM8607_PD_PRECHG_MASK;
-		if (data) {
-			ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
-			if (ret < 0)
-				goto out;
-		}
+	if (!pdata || !pdata->touch)
+		return -EINVAL;
 
-		use_gpadc = 1;
+	/* set GPADC MISC1 register */
+	data = 0;
+	data |= (pdata->touch->gpadc_prebias << 1) & PM8607_GPADC_PREBIAS_MASK;
+	data |= (pdata->touch->slot_cycle << 3) & PM8607_GPADC_SLOT_CYCLE_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) {
+		ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
+		if (ret < 0)
+			goto out;
 	}
-
-	/* turn on GPADC */
-	if (use_gpadc) {
-		ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1,
-				      PM8607_GPADC_EN, PM8607_GPADC_EN);
+	/* set tsi prebias time */
+	if (pdata->touch->tsi_prebias) {
+		data = pdata->touch->tsi_prebias;
+		ret = pm860x_reg_write(i2c, PM8607_TSI_PREBIAS, data);
+		if (ret < 0)
+			goto out;
 	}
+	/* set prebias & prechg time of pen detect */
+	data = 0;
+	data |= pdata->touch->pen_prebias & PM8607_PD_PREBIAS_MASK;
+	data |= (pdata->touch->pen_prechg << 5) & PM8607_PD_PRECHG_MASK;
+	if (data) {
+		ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
+		if (ret < 0)
+			goto out;
+	}
+
+	ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1,
+			      PM8607_GPADC_EN, PM8607_GPADC_EN);
 out:
 	return ret;
 }

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [patch] mfd/88pm860x: fix uninitialized variable and clean up
  2010-05-26 22:54 [patch] mfd/88pm860x: fix uninitialized variable and clean up Dan Carpenter
@ 2010-05-27  2:08 ` Haojian Zhuang
  2010-06-18 18:24 ` Samuel Ortiz
  1 sibling, 0 replies; 3+ messages in thread
From: Haojian Zhuang @ 2010-05-27  2:08 UTC (permalink / raw)
  To: Dan Carpenter, Samuel Ortiz
  Cc: Mark Brown, Liam Girdwood, linux-kernel@vger.kernel.org,
	kernel-janitors@vger.kernel.org

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="windows-1252", Size: 3855 bytes --]

I'm OK on this patch.

Thanks
Haojian

-----Original Message-----
From: Dan Carpenter [mailto:error27@gmail.com] 
Sent: 2010年5月27日 6:54 AM
To: Samuel Ortiz
Cc: Haojian Zhuang; Mark Brown; Liam Girdwood; linux-kernel@vger.kernel.org; kernel-janitors@vger.kernel.org
Subject: [patch] mfd/88pm860x: fix 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: Dan Carpenter <error27@gmail.com>

diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c
index 405d2d5..f9ada69 100644
--- a/drivers/mfd/88pm860x-core.c
+++ b/drivers/mfd/88pm860x-core.c
@@ -428,52 +428,44 @@ static int __devinit device_gpadc_init(struct pm860x_chip *chip,
 {
 	struct i2c_client *i2c = (chip->id = CHIP_PM8607) ? chip->client \
 				: chip->companion;
-	int use_gpadc = 0, data, ret;
+	int data;
+	int ret;
 
 	/* initialize GPADC without activating it */
 
-	if (pdata && pdata->touch) {
-		/* set GPADC MISC1 register */
-		data = 0;
-		data |= (pdata->touch->gpadc_prebias << 1)
-			& PM8607_GPADC_PREBIAS_MASK;
-		data |= (pdata->touch->slot_cycle << 3)
-			& PM8607_GPADC_SLOT_CYCLE_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) {
-			ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
-			if (ret < 0)
-				goto out;
-		}
-		/* set tsi prebias time */
-		if (pdata->touch->tsi_prebias) {
-			data = pdata->touch->tsi_prebias;
-			ret = pm860x_reg_write(i2c, PM8607_TSI_PREBIAS, data);
-			if (ret < 0)
-				goto out;
-		}
-		/* set prebias & prechg time of pen detect */
-		data = 0;
-		data |= pdata->touch->pen_prebias & PM8607_PD_PREBIAS_MASK;
-		data |= (pdata->touch->pen_prechg << 5)
-			& PM8607_PD_PRECHG_MASK;
-		if (data) {
-			ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
-			if (ret < 0)
-				goto out;
-		}
+	if (!pdata || !pdata->touch)
+		return -EINVAL;
 
-		use_gpadc = 1;
+	/* set GPADC MISC1 register */
+	data = 0;
+	data |= (pdata->touch->gpadc_prebias << 1) & PM8607_GPADC_PREBIAS_MASK;
+	data |= (pdata->touch->slot_cycle << 3) & PM8607_GPADC_SLOT_CYCLE_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) {
+		ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
+		if (ret < 0)
+			goto out;
 	}
-
-	/* turn on GPADC */
-	if (use_gpadc) {
-		ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1,
-				      PM8607_GPADC_EN, PM8607_GPADC_EN);
+	/* set tsi prebias time */
+	if (pdata->touch->tsi_prebias) {
+		data = pdata->touch->tsi_prebias;
+		ret = pm860x_reg_write(i2c, PM8607_TSI_PREBIAS, data);
+		if (ret < 0)
+			goto out;
 	}
+	/* set prebias & prechg time of pen detect */
+	data = 0;
+	data |= pdata->touch->pen_prebias & PM8607_PD_PREBIAS_MASK;
+	data |= (pdata->touch->pen_prechg << 5) & PM8607_PD_PRECHG_MASK;
+	if (data) {
+		ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
+		if (ret < 0)
+			goto out;
+	}
+
+	ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1,
+			      PM8607_GPADC_EN, PM8607_GPADC_EN);
 out:
 	return ret;
 }
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¤z¹Þ—øÚž+h®ÏâžØ^n‡r¡ö¦zË\x1aëh™¨è­Ú&£ûàz¿äz¹Þ—ú+€Ê+zf£¢·hšˆ§~†­†Ûiÿÿïêÿ‘êçz_è®\x0fæj:+v‰¨þ)ߣøm

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [patch] mfd/88pm860x: fix uninitialized variable and clean up
  2010-05-26 22:54 [patch] mfd/88pm860x: fix uninitialized variable and clean up Dan Carpenter
  2010-05-27  2:08 ` Haojian Zhuang
@ 2010-06-18 18:24 ` Samuel Ortiz
  1 sibling, 0 replies; 3+ messages in thread
From: Samuel Ortiz @ 2010-06-18 18:24 UTC (permalink / raw)
  To: Dan Carpenter, Haojian Zhuang, Mark Brown, Liam Girdwood,
	linux-kernel, kernel-janitors

Hi Dan,

On Thu, May 27, 2010 at 12:54:09AM +0200, Dan Carpenter wrote:
> 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.
Thanks, patch applied to my for-next branch.

Cheers,
Samuel.


> Signed-off-by: Dan Carpenter <error27@gmail.com>
> 
> diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c
> index 405d2d5..f9ada69 100644
> --- a/drivers/mfd/88pm860x-core.c
> +++ b/drivers/mfd/88pm860x-core.c
> @@ -428,52 +428,44 @@ static int __devinit device_gpadc_init(struct pm860x_chip *chip,
>  {
>  	struct i2c_client *i2c = (chip->id = CHIP_PM8607) ? chip->client \
>  				: chip->companion;
> -	int use_gpadc = 0, data, ret;
> +	int data;
> +	int ret;
>  
>  	/* initialize GPADC without activating it */
>  
> -	if (pdata && pdata->touch) {
> -		/* set GPADC MISC1 register */
> -		data = 0;
> -		data |= (pdata->touch->gpadc_prebias << 1)
> -			& PM8607_GPADC_PREBIAS_MASK;
> -		data |= (pdata->touch->slot_cycle << 3)
> -			& PM8607_GPADC_SLOT_CYCLE_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) {
> -			ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
> -			if (ret < 0)
> -				goto out;
> -		}
> -		/* set tsi prebias time */
> -		if (pdata->touch->tsi_prebias) {
> -			data = pdata->touch->tsi_prebias;
> -			ret = pm860x_reg_write(i2c, PM8607_TSI_PREBIAS, data);
> -			if (ret < 0)
> -				goto out;
> -		}
> -		/* set prebias & prechg time of pen detect */
> -		data = 0;
> -		data |= pdata->touch->pen_prebias & PM8607_PD_PREBIAS_MASK;
> -		data |= (pdata->touch->pen_prechg << 5)
> -			& PM8607_PD_PRECHG_MASK;
> -		if (data) {
> -			ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
> -			if (ret < 0)
> -				goto out;
> -		}
> +	if (!pdata || !pdata->touch)
> +		return -EINVAL;
>  
> -		use_gpadc = 1;
> +	/* set GPADC MISC1 register */
> +	data = 0;
> +	data |= (pdata->touch->gpadc_prebias << 1) & PM8607_GPADC_PREBIAS_MASK;
> +	data |= (pdata->touch->slot_cycle << 3) & PM8607_GPADC_SLOT_CYCLE_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) {
> +		ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
> +		if (ret < 0)
> +			goto out;
>  	}
> -
> -	/* turn on GPADC */
> -	if (use_gpadc) {
> -		ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1,
> -				      PM8607_GPADC_EN, PM8607_GPADC_EN);
> +	/* set tsi prebias time */
> +	if (pdata->touch->tsi_prebias) {
> +		data = pdata->touch->tsi_prebias;
> +		ret = pm860x_reg_write(i2c, PM8607_TSI_PREBIAS, data);
> +		if (ret < 0)
> +			goto out;
>  	}
> +	/* set prebias & prechg time of pen detect */
> +	data = 0;
> +	data |= pdata->touch->pen_prebias & PM8607_PD_PREBIAS_MASK;
> +	data |= (pdata->touch->pen_prechg << 5) & PM8607_PD_PRECHG_MASK;
> +	if (data) {
> +		ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
> +		if (ret < 0)
> +			goto out;
> +	}
> +
> +	ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1,
> +			      PM8607_GPADC_EN, PM8607_GPADC_EN);
>  out:
>  	return ret;
>  }

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-06-18 18:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-26 22:54 [patch] mfd/88pm860x: fix uninitialized variable and clean up Dan Carpenter
2010-05-27  2:08 ` Haojian Zhuang
2010-06-18 18:24 ` Samuel Ortiz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).