Re: [PATCH] fix printk format compiler warnings

From: Jesse Barnes
Date: Tue Sep 09 2008 - 00:54:56 EST


On Friday, September 05, 2008 2:20 pm Andrew Morton wrote:
> On Fri, 05 Sep 2008 13:06:24 +0100
>
> "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
> > %llx and the like cannot be used on u64-derived data types - they must
> > be cast to long long explicitly for arch-es where u64 is a typedef of
> > unsigned long (ia64 is where I observed the problem).
> >
> > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
> >
> > ---
> > drivers/pci/probe.c | 16 +++++++++++++---
> > drivers/pci/setup-bus.c | 6 +++++-
> > 2 files changed, 18 insertions(+), 4 deletions(-)
> >
> > --- linux-2.6.27-rc5/drivers/pci/probe.c 2008-08-21 14:37:32.000000000
> > +0200 +++ 2.6.27-rc5-pci-probe-print/drivers/pci/probe.c 2008-09-02
> > 15:18:08.000000000 +0200 @@ -383,7 +383,10 @@ void __devinit
> > pci_read_bridge_bases(str
> > res->start = base;
> > if (!res->end)
> > res->end = limit + 0xfff;
> > - printk(KERN_INFO "PCI: bridge %s io port: [%llx, %llx]\n",
> > pci_name(dev), res->start, res->end); + printk(KERN_INFO "PCI: bridge %s
> > io port: [%Lx, %Lx]\n",
> > + pci_name(dev),
> > + (unsigned long long)res->start,
> > + (unsigned long long)res->end);
> > }
> >
> > res = child->resource[1];
> > @@ -395,7 +398,10 @@ void __devinit pci_read_bridge_bases(str
> > res->flags = (mem_base_lo & PCI_MEMORY_RANGE_TYPE_MASK) |
> > IORESOURCE_MEM; res->start = base;
> > res->end = limit + 0xfffff;
> > - printk(KERN_INFO "PCI: bridge %s 32bit mmio: [%llx, %llx]\n",
> > pci_name(dev), res->start, res->end); + printk(KERN_INFO "PCI: bridge %s
> > 32bit mmio: [%Lx, %Lx]\n",
> > + pci_name(dev),
> > + (unsigned long long)res->start,
> > + (unsigned long long)res->end);
> > }
> >
> > res = child->resource[2];
> > @@ -431,7 +437,11 @@ void __devinit pci_read_bridge_bases(str
> > res->flags = (mem_base_lo & PCI_MEMORY_RANGE_TYPE_MASK) |
> > IORESOURCE_MEM | IORESOURCE_PREFETCH; res->start = base;
> > res->end = limit + 0xfffff;
> > - printk(KERN_INFO "PCI: bridge %s %sbit mmio pref: [%llx, %llx]\n",
> > pci_name(dev), (res->flags &
> > PCI_PREF_RANGE_TYPE_64)?"64":"32",res->start, res->end);
> > + printk(KERN_INFO "PCI: bridge %s %dbit mmio pref: [%Lx, %Lx]\n", +
> > pci_name(dev),
> > + res->flags & PCI_PREF_RANGE_TYPE_64 ? 64 : 32,
> > + (unsigned long long)res->start,
> > + (unsigned long long)res->end);
> > }
> > }
> >
> > --- linux-2.6.27-rc5/drivers/pci/setup-bus.c 2008-08-21
> > 14:37:32.000000000 +0200 +++
> > 2.6.27-rc5-pci-probe-print/drivers/pci/setup-bus.c 2008-09-02
> > 15:18:20.000000000 +0200 @@ -539,7 +539,11 @@ static void
> > pci_bus_dump_res(struct pci_
> > if (!res)
> > continue;
> >
> > - printk(KERN_INFO "bus: %02x index %x %s: [%llx, %llx]\n", bus->number,
> > i, (res->flags & IORESOURCE_IO)? "io port":"mmio", res->start, res->end);
> > + printk(KERN_INFO "bus: %02x index %x %s: [%Lx, %Lx]\n",
> > + bus->number, i,
> > + res->flags & IORESOURCE_IO ? "io port" : "mmio",
> > + (unsigned long long)res->start,
> > + (unsigned long long)res->end);
> > }
> > }
>
> These have been fixed in linux-next for a month.
>
> Jesse, can we get that into 2.6.27 please?

I suppose. They only appear with certain configs and are fairly harmless, so
I wasn't planning on pushing them into 2.6.27. But I'll include it in my
next pull request anyway, since you're such a cool guy and I want to make you
happy :) (assuming 2.6.27 proper isn't released in the next couple of
day...)

Thanks,
Jesse
--
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/