Patchwork powerpc/windfarm: don't pass const strings to snprintf

login
register
mail settings
Submitter Stephen Rothwell
Date May 3, 2012, 6:19 a.m.
Message ID <20120503161943.7d71d02e7d0aae6b9c0306bf@canb.auug.org.au>
Download mbox | patch
Permalink /patch/156615/
State Accepted
Commit 43671cc96e58458b2711f1e97ff24a4c0e7cd1ac
Headers show

Comments

Stephen Rothwell - May 3, 2012, 6:19 a.m.
Fixes these build warnings:

drivers/macintosh/windfarm_smu_sat.c: In function 'wf_sat_probe':
drivers/macintosh/windfarm_smu_sat.c:290:3: warning: passing argument 1 of 'snprintf' discards qualifiers from pointer target type
include/linux/kernel.h:323:5: note: expected 'char *' but argument is of type 'const char *'
drivers/macintosh/windfarm_smu_sat.c:317:3: warning: passing argument 1 of 'snprintf' discards qualifiers from pointer target type
include/linux/kernel.h:323:5: note: expected 'char *' but argument is of type 'const char *'

Introduced by commit e074d08e2b98 ("powerpc/windfarm: const'ify and add
"priv" field to controls & sensors").

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/macintosh/windfarm_smu_sat.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
David Laight - May 3, 2012, 10:35 a.m.
> --- a/drivers/macintosh/windfarm_smu_sat.c
> +++ b/drivers/macintosh/windfarm_smu_sat.c
> @@ -287,7 +287,7 @@ static int wf_sat_probe(struct i2c_client *client,
>  		sens->sat = sat;
>  		sens->sens.ops = &wf_sat_ops;
>  		sens->sens.name = (char *) (sens + 1);
> -		snprintf(sens->sens.name, 16, "%s-%d", name, cpu);
> +		snprintf((char *)sens->sens.name, 16, "%s-%d",  name,
cpu);
>  
>  		if (wf_register_sensor(&sens->sens))
>  			kfree(sens);

Wouldn't it be better to do:
		snprintf((char *)(sens + 1), 16, "%s-%d", name, cpu);

	David

Patch

diff --git a/drivers/macintosh/windfarm_smu_sat.c b/drivers/macintosh/windfarm_smu_sat.c
index 72dfe19..e2989ce 100644
--- a/drivers/macintosh/windfarm_smu_sat.c
+++ b/drivers/macintosh/windfarm_smu_sat.c
@@ -287,7 +287,7 @@  static int wf_sat_probe(struct i2c_client *client,
 		sens->sat = sat;
 		sens->sens.ops = &wf_sat_ops;
 		sens->sens.name = (char *) (sens + 1);
-		snprintf(sens->sens.name, 16, "%s-%d", name, cpu);
+		snprintf((char *)sens->sens.name, 16, "%s-%d", name, cpu);
 
 		if (wf_register_sensor(&sens->sens))
 			kfree(sens);
@@ -314,7 +314,7 @@  static int wf_sat_probe(struct i2c_client *client,
 		sens->sat = sat;
 		sens->sens.ops = &wf_sat_ops;
 		sens->sens.name = (char *) (sens + 1);
-		snprintf(sens->sens.name, 16, "cpu-power-%d", cpu);
+		snprintf((char *)sens->sens.name, 16, "cpu-power-%d", cpu);
 
 		if (wf_register_sensor(&sens->sens))
 			kfree(sens);