mtd: nand: mxc_nand fix compiler warning

Submitted by Alex Gershgorin on June 12, 2012, 11:18 a.m.

Details

Message ID 1339499887-17859-1-git-send-email-alexg@meprolight.com
State New, archived
Headers show

Commit Message

Alex Gershgorin June 12, 2012, 11:18 a.m.
This patch removes the following warning:
drivers/mtd/nand/mxc_nand.c:1246: warning: initialization discards qualifiers from pointer target type
drivers/mtd/nand/mxc_nand.c:1249: warning: initialization discards qualifiers from pointer target type
drivers/mtd/nand/mxc_nand.c:1252: warning: initialization discards qualifiers from pointer target type
drivers/mtd/nand/mxc_nand.c:1255: warning: initialization discards qualifiers from pointer target type

Signed-off-by: Alex Gershgorin <alexg@meprolight.com>

Applies to v3.5-rc2+
---
 drivers/mtd/nand/mxc_nand.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

Comments

Uwe Kleine-König June 12, 2012, 12:01 p.m.
Hello,

On Tue, Jun 12, 2012 at 02:18:07PM +0300, Alex Gershgorin wrote:
> This patch removes the following warning:
> drivers/mtd/nand/mxc_nand.c:1246: warning: initialization discards qualifiers from pointer target type
> drivers/mtd/nand/mxc_nand.c:1249: warning: initialization discards qualifiers from pointer target type
> drivers/mtd/nand/mxc_nand.c:1252: warning: initialization discards qualifiers from pointer target type
> drivers/mtd/nand/mxc_nand.c:1255: warning: initialization discards qualifiers from pointer target type
> 
> Signed-off-by: Alex Gershgorin <alexg@meprolight.com>
> 
> Applies to v3.5-rc2+
> ---
Better write the "Applies to" line after the tripple dash. Then this
info doesn't make it into the commit log. Instead point out the
offending commit.

Having said that, I prefer to have

	http://mid.gmane.org/1335171381-24869-1-git-send-email-u.kleine-koenig@pengutronix.de

(and the follow-ups) applied. Casting away consts is nearly always
wrong.

Best regards
Uwe

>  drivers/mtd/nand/mxc_nand.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
> index c58e6a9..74b6e75 100644
> --- a/drivers/mtd/nand/mxc_nand.c
> +++ b/drivers/mtd/nand/mxc_nand.c
> @@ -1243,16 +1243,16 @@ static const struct mxc_nand_devtype_data imx51_nand_devtype_data = {
>  static const struct of_device_id mxcnd_dt_ids[] = {
>  	{
>  		.compatible = "fsl,imx21-nand",
> -		.data = &imx21_nand_devtype_data,
> +		.data = (void *)&imx21_nand_devtype_data,
>  	}, {
>  		.compatible = "fsl,imx27-nand",
> -		.data = &imx27_nand_devtype_data,
> +		.data = (void *)&imx27_nand_devtype_data,
>  	}, {
>  		.compatible = "fsl,imx25-nand",
> -		.data = &imx25_nand_devtype_data,
> +		.data = (void *)&imx25_nand_devtype_data,
>  	}, {
>  		.compatible = "fsl,imx51-nand",
> -		.data = &imx51_nand_devtype_data,
> +		.data = (void *)&imx51_nand_devtype_data,
>  	},
>  	{ /* sentinel */ }
>  };
> -- 
> 1.7.0.4
> 
>
Alex Gershgorin June 12, 2012, 1:39 p.m.
On Tue, Jun 12, 2012 at 02:18:07PM +0300, Alex Gershgorin wrote:
> This patch removes the following warning:
> drivers/mtd/nand/mxc_nand.c:1246: warning: initialization discards qualifiers from pointer target type
> drivers/mtd/nand/mxc_nand.c:1249: warning: initialization discards qualifiers from pointer target type
> drivers/mtd/nand/mxc_nand.c:1252: warning: initialization discards qualifiers from pointer target type
> drivers/mtd/nand/mxc_nand.c:1255: warning: initialization discards qualifiers from pointer target type
>
> Signed-off-by: Alex Gershgorin <alexg@meprolight.com>
>
> Applies to v3.5-rc2+
> ---
> >Better write the "Applies to" line after the tripple dash. Then this
> >info doesn't make it into the commit log. Instead point out the
> >offending commit.

Sorry my mistake

> >Having said that, I prefer to have

> >  http://mid.gmane.org/1335171381-24869-1-git-send-email-u.kleine-koenig@pengutronix.de
> > (and the follow-ups) applied. Casting away consts is nearly always
> > wrong.

I think this patch will solve the warnings problem only in mxc_nand driver, but this patch also creates
 new same problems to  other drivers that use struct of_device_id.

Thanks
Alex

>  drivers/mtd/nand/mxc_nand.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
> index c58e6a9..74b6e75 100644
> --- a/drivers/mtd/nand/mxc_nand.c
> +++ b/drivers/mtd/nand/mxc_nand.c
> @@ -1243,16 +1243,16 @@ static const struct mxc_nand_devtype_data imx51_nand_devtype_data = {
>  static const struct of_device_id mxcnd_dt_ids[] = {
>       {
>               .compatible = "fsl,imx21-nand",
> -             .data = &imx21_nand_devtype_data,
> +             .data = (void *)&imx21_nand_devtype_data,
>       }, {
>               .compatible = "fsl,imx27-nand",
> -             .data = &imx27_nand_devtype_data,
> +             .data = (void *)&imx27_nand_devtype_data,
>       }, {
>               .compatible = "fsl,imx25-nand",
> -             .data = &imx25_nand_devtype_data,
> +             .data = (void *)&imx25_nand_devtype_data,
>       }, {
>               .compatible = "fsl,imx51-nand",
> -             .data = &imx51_nand_devtype_data,
> +             .data = (void *)&imx51_nand_devtype_data,
>       },
>       { /* sentinel */ }
>  };
> --
> 1.7.0.4
>
>

--
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Uwe Kleine-König June 12, 2012, 2:24 p.m.
On Tue, Jun 12, 2012 at 04:39:33PM +0300, Alex Gershgorin wrote:
> 
> On Tue, Jun 12, 2012 at 02:18:07PM +0300, Alex Gershgorin wrote:
> > This patch removes the following warning:
> > drivers/mtd/nand/mxc_nand.c:1246: warning: initialization discards qualifiers from pointer target type
> > drivers/mtd/nand/mxc_nand.c:1249: warning: initialization discards qualifiers from pointer target type
> > drivers/mtd/nand/mxc_nand.c:1252: warning: initialization discards qualifiers from pointer target type
> > drivers/mtd/nand/mxc_nand.c:1255: warning: initialization discards qualifiers from pointer target type
> >
> > Signed-off-by: Alex Gershgorin <alexg@meprolight.com>
> >
> > Applies to v3.5-rc2+
> > ---
> > >Better write the "Applies to" line after the tripple dash. Then this
> > >info doesn't make it into the commit log. Instead point out the
> > >offending commit.
> 
> Sorry my mistake
> 
> > >Having said that, I prefer to have
> 
> > >  http://mid.gmane.org/1335171381-24869-1-git-send-email-u.kleine-koenig@pengutronix.de
> > > (and the follow-ups) applied. Casting away consts is nearly always
> > > wrong.
> 
> I think this patch will solve the warnings problem only in mxc_nand driver, but this patch also creates
>  new same problems to  other drivers that use struct of_device_id.
Yeah, but IMHO they are worth to be fixed. With your patch you assume
that the data member will never be modified (and in fact it shouldn't).
So the right thing is to make that assumption offical.
And for well-behaved drivers the fix is easy (i.e. spread a few consts),
and bad drivers are forced to be fixed (or introduce casts for const
that hopefully will be catched during review).

Best regards
Uwe
Alex Gershgorin June 13, 2012, 7:06 a.m.
Hi Uwe,

> > >Having said that, I prefer to have
>
> > >  http://mid.gmane.org/1335171381-24869-1-git-send-email-u.kleine-koenig@pengutronix.de
> > > (and the follow-ups) applied. Casting away consts is nearly always
> > > wrong.
>
> I think this patch will solve the warnings problem only in mxc_nand driver, but this patch also creates
>  new same problems to  other drivers that use struct of_device_id.
> > > >Yeah, but IMHO they are worth to be fixed. With your patch you assume
> > > > that the data member will never be modified (and in fact it shouldn't).

No my patch only removes a compiler warning of the mxc_nand driver in current version of the kernel.
 
> > > > So the right thing is to make that assumption offical.
> > > > And for well-behaved drivers the fix is easy (i.e. spread a few consts),
> > > > and bad drivers are forced to be fixed (or introduce casts for const
> > > > that hopefully will be catched during review).

Can you imagine how many drivers will require additional patches and what should be the level of fixation?
I do not know
But in general your idea is good, only in my opinion this requires a more in-depth review.

Regards,
Alex

Patch hide | download patch | download mbox

diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index c58e6a9..74b6e75 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -1243,16 +1243,16 @@  static const struct mxc_nand_devtype_data imx51_nand_devtype_data = {
 static const struct of_device_id mxcnd_dt_ids[] = {
 	{
 		.compatible = "fsl,imx21-nand",
-		.data = &imx21_nand_devtype_data,
+		.data = (void *)&imx21_nand_devtype_data,
 	}, {
 		.compatible = "fsl,imx27-nand",
-		.data = &imx27_nand_devtype_data,
+		.data = (void *)&imx27_nand_devtype_data,
 	}, {
 		.compatible = "fsl,imx25-nand",
-		.data = &imx25_nand_devtype_data,
+		.data = (void *)&imx25_nand_devtype_data,
 	}, {
 		.compatible = "fsl,imx51-nand",
-		.data = &imx51_nand_devtype_data,
+		.data = (void *)&imx51_nand_devtype_data,
 	},
 	{ /* sentinel */ }
 };