lkml.org 
[lkml]   [2008]   [Sep]   [5]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 5 Sep 2008 14:20:40 -0700
FromAndrew Morton <>
SubjectRe: [PATCH] fix printk format compiler warnings
On Fri, 05 Sep 2008 13:06:24 +0100
"Jan Beulich" <jbeulich@novell.com> 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@novell.com>
> 
> ---
>  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?


\
 
 \ /
  Last update: 2008-09-05 23:23    [from the cache]
©2003-2008