Re: [PATCH] fix printk format compiler warnings

From: Andrew Morton
Date: Fri Sep 05 2008 - 17:20:55 EST


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?
--
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/