Re: [PATCH -mmotm] 8250_early: fix printk format warnings

From: Andrew Morton
Date: Fri Jul 09 2010 - 18:47:15 EST


On Fri, 9 Jul 2010 14:47:52 +0900 (JST)
KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> wrote:

> > From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
> >
> > Fix printk format warnings in serial-mmio32-support-for-8250_earlyc.patch:
> >
> > drivers/serial/8250_early.c:207: warning: format '%p' expects type 'void *', but argument 3 has type 'long long unsigned int'
> > drivers/serial/8250_early.c:210: warning: format '%p' expects type 'void *', but argument 2 has type 'long long unsigned int'
> >
> > Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
> > Cc: Samium Gromoff <_deepfire@xxxxxxxxxxxxxxxxx>
> > Cc: Greg KH <greg@xxxxxxxxx>
> > ---
> > drivers/serial/8250_early.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > --- mmotm-2010-0701-1219.orig/drivers/serial/8250_early.c
> > +++ mmotm-2010-0701-1219/drivers/serial/8250_early.c
> > @@ -202,12 +202,12 @@ static int __init parse_options(struct e
> > }
> >
> > if (mmio || mmio32)
> > - printk(KERN_INFO "Early serial console at MMIO%s 0x%p (options '%s')\n",
> > + printk(KERN_INFO "Early serial console at MMIO%s 0x%llu (options '%s')\n",
> > mmio32 ? "32" : "", (unsigned long long) port->mapbase,
> > device->options);
> > else
> > printk(KERN_INFO "Early serial console at I/O port 0x%pr (options '%s')\n",
> > - (unsigned long long) port->iobase, device->options);
> > + (void *) port->iobase, device->options);
>
> seems still odd.

Yes.

> %pr don't mean bare pointer. it want resource. another %pr use case is here.
>
> drivers/pnp/resoruce.c
> ======================================================================
> struct pnp_resource *pnp_add_dma_resource(struct pnp_dev *dev, int dma,
> int flags)
> {
> struct pnp_resource *pnp_res;
> struct resource *res;
> (snip)
> pnp_dbg(&dev->dev, " add %pr\n", res);
> ======================================================================
>
> and port->iobase is merely unsingned long.
> I guess following change or something like are necessary.
>
> - printk(KERN_INFO "Early serial console at I/O port 0x%pr (options '%s')\n",
> - (unsigned long long) port->iobase, device->options);
> + printk(KERN_INFO "Early serial console at I/O port %lu (options '%s')\n",
> + port->iobase, device->options);
>

This?

if (mmio || mmio32)
printk(KERN_INFO
"Early serial console at MMIO%s 0x%llu (options '%s')\n",
mmio32 ? "32" : "",
(unsigned long long)port->mapbase,
device->options);
else
printk(KERN_INFO
"Early serial console at I/O port 0x%lu (options '%s')\n",
port->iobase,
device->options);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/