Fix following warning:
drivers/mtd/maps/ixp4xx.c: In function 'ixp4xx_flash_probe':
drivers/mtd/maps/ixp4xx.c:199: warning: assignment makes integer from
pointer without a cast
Signed-off-by: Deepak Saxena <[email protected]>
diff --git a/drivers/mtd/maps/ixp4xx.c b/drivers/mtd/maps/ixp4xx.c
--- a/drivers/mtd/maps/ixp4xx.c
+++ b/drivers/mtd/maps/ixp4xx.c
@@ -196,7 +196,7 @@ static int ixp4xx_flash_probe(struct dev
goto Error;
}
- info->map.map_priv_1 = ioremap(dev->resource->start,
+ info->map.map_priv_1 = (unsigned long)ioremap(dev->resource->start,
dev->resource->end - dev->resource->start + 1);
if (!info->map.map_priv_1) {
printk(KERN_ERR "IXP4XXFlash: Failed to ioremap region\n");
--
Deepak Saxena - [email protected] - http://www.plexity.net
Even a stopped clock gives the right time twice a day.
On Thu, 29 Sep 2005, Deepak Saxena wrote:
>
> drivers/mtd/maps/ixp4xx.c: In function 'ixp4xx_flash_probe':
> drivers/mtd/maps/ixp4xx.c:199: warning: assignment makes integer from
> pointer without a cast
Please don't. The warning is entirely warranted, as far as I can tell.
Shutting up warnings just because they are warnings is bad practice.
Either fix them, or leave them be.
If you do an "ioremap()", then the result is a "(void __iomem *)". If you
assign it to something that is "unsigned long", you _should_ get a
warning.
Linus
On Thu, Sep 29, 2005 at 12:52:05PM -0700, Deepak Saxena wrote:
> Fix following warning:
>
> drivers/mtd/maps/ixp4xx.c: In function 'ixp4xx_flash_probe':
> drivers/mtd/maps/ixp4xx.c:199: warning: assignment makes integer from
> pointer without a cast
>
> Signed-off-by: Deepak Saxena <[email protected]>
>
> diff --git a/drivers/mtd/maps/ixp4xx.c b/drivers/mtd/maps/ixp4xx.c
> --- a/drivers/mtd/maps/ixp4xx.c
> +++ b/drivers/mtd/maps/ixp4xx.c
> @@ -196,7 +196,7 @@ static int ixp4xx_flash_probe(struct dev
> goto Error;
> }
>
> - info->map.map_priv_1 = ioremap(dev->resource->start,
> + info->map.map_priv_1 = (unsigned long)ioremap(dev->resource->start,
Shouldn't this be using info->map.virt instead of the old map.map_priv_1 ?
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
On Sep 29 2005, at 21:52, Russell King was caught saying:
> On Thu, Sep 29, 2005 at 12:52:05PM -0700, Deepak Saxena wrote:
> > Fix following warning:
> >
> > drivers/mtd/maps/ixp4xx.c: In function 'ixp4xx_flash_probe':
> > drivers/mtd/maps/ixp4xx.c:199: warning: assignment makes integer from
> > pointer without a cast
> >
> > Signed-off-by: Deepak Saxena <[email protected]>
> >
> > diff --git a/drivers/mtd/maps/ixp4xx.c b/drivers/mtd/maps/ixp4xx.c
> > --- a/drivers/mtd/maps/ixp4xx.c
> > +++ b/drivers/mtd/maps/ixp4xx.c
> > @@ -196,7 +196,7 @@ static int ixp4xx_flash_probe(struct dev
> > goto Error;
> > }
> >
> > - info->map.map_priv_1 = ioremap(dev->resource->start,
> > + info->map.map_priv_1 = (unsigned long)ioremap(dev->resource->start,
>
> Shouldn't this be using info->map.virt instead of the old map.map_priv_1 ?
I think when I wrote this, having a !0 value in map->virt would cause the mtd
core to assume that the map driver supported point()ing and direct copy
of data. Looking at the mtd code it looks like this assumption might
have gone away...will change code.
~Deepak
--
Deepak Saxena - [email protected] - http://www.plexity.net
Even a stopped clock gives the right time twice a day.
On Thu, 29 September 2005 13:00:18 -0700, Linus Torvalds wrote:
> On Thu, 29 Sep 2005, Deepak Saxena wrote:
> >
> > drivers/mtd/maps/ixp4xx.c: In function 'ixp4xx_flash_probe':
> > drivers/mtd/maps/ixp4xx.c:199: warning: assignment makes integer from
> > pointer without a cast
>
> Please don't. The warning is entirely warranted, as far as I can tell.
>
> Shutting up warnings just because they are warnings is bad practice.
> Either fix them, or leave them be.
>
> If you do an "ioremap()", then the result is a "(void __iomem *)". If you
> assign it to something that is "unsigned long", you _should_ get a
> warning.
Code is correct, as far as this specific mapping driver is concerned.
But it would make some sense to convert one of the map_priv_[12] in
struct map_info to (void __iomem *).
J?rn
--
It does not matter how slowly you go, so long as you do not stop.
-- Confucius
On Thu, 29 September 2005 14:20:55 -0700, Deepak Saxena wrote:
> On Sep 29 2005, at 21:52, Russell King was caught saying:
> > On Thu, Sep 29, 2005 at 12:52:05PM -0700, Deepak Saxena wrote:
> > > Fix following warning:
> > >
> > > drivers/mtd/maps/ixp4xx.c: In function 'ixp4xx_flash_probe':
> > > drivers/mtd/maps/ixp4xx.c:199: warning: assignment makes integer from
> > > pointer without a cast
> > >
> > > Signed-off-by: Deepak Saxena <[email protected]>
> > >
> > > diff --git a/drivers/mtd/maps/ixp4xx.c b/drivers/mtd/maps/ixp4xx.c
> > > --- a/drivers/mtd/maps/ixp4xx.c
> > > +++ b/drivers/mtd/maps/ixp4xx.c
> > > @@ -196,7 +196,7 @@ static int ixp4xx_flash_probe(struct dev
> > > goto Error;
> > > }
> > >
> > > - info->map.map_priv_1 = ioremap(dev->resource->start,
> > > + info->map.map_priv_1 = (unsigned long)ioremap(dev->resource->start,
> >
> > Shouldn't this be using info->map.virt instead of the old map.map_priv_1 ?
>
> I think when I wrote this, having a !0 value in map->virt would cause the mtd
> core to assume that the map driver supported point()ing and direct copy
> of data. Looking at the mtd code it looks like this assumption might
> have gone away...will change code.
A check on this field is still used in cfi_intelext_point(), but you
can disable the point stuff by setting map->phys to NO_XIP - as you
already do.
J?rn
--
All art is but imitation of nature.
-- Lucius Annaeus Seneca