Re: [PATCH] pci: Fix printk warnings in probe.c

Previous thread: [PATCH] trivial typo's 2.6.* by Danny ter Haar on Friday, August 22, 2008 - 11:31 am. (2 messages)

Next thread: [PATCH] documentation: add more early_param boot options by Randy Dunlap on Friday, August 22, 2008 - 12:02 pm. (3 messages)
From: Johann Felix Soden
Date: Friday, August 22, 2008 - 11:46 am

From: Johann Felix Soden <johfel@users.sourceforge.net>

Fix printk format warnings:
drivers/pci/probe.c: In function 'pci_read_bridge_bases':
drivers/pci/probe.c:386: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'resource_size_t'
drivers/pci/probe.c:386: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
drivers/pci/probe.c:398: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'resource_size_t'
drivers/pci/probe.c:398: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
drivers/pci/probe.c:434: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
drivers/pci/probe.c:434: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'resource_size_t'

Signed-off-by: Johann Felix Soden <johfel@users.sourceforge.net>
---
 drivers/pci/probe.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index cce2f4c..0ad9367 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -383,7 +383,9 @@ void __devinit pci_read_bridge_bases(struct pci_bus *child)
 			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: [%llx, %llx]\n",
+			pci_name(dev), (unsigned long long) res->start,
+			(unsigned long long) res->end);
 	}
 
 	res = child->resource[1];
@@ -395,7 +397,8 @@ void __devinit pci_read_bridge_bases(struct pci_bus *child)
 		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 ...
From: Jesse Barnes
Date: Wednesday, August 27, 2008 - 4:36 pm

I put both of these resource size fixes into my linux-next branch, thanks.

Jesse
--

From: Bjorn Helgaas
Date: Thursday, August 28, 2008 - 3:27 pm

Thanks for fixing the warnings.  I wish you'd changed these at the
same time to use dev_info() and "[%#llx-%#llx]" like the rest of PCI.

I confess I don't understand where the ioport, mmio, and prefetchable
mmio resources are coming from here, but before your patch, these
printed values that look like junk on an HP nw8000:

  PCI: bridge 0000:00:01.0 io port: [2fff00002000, ef92eae800000300]
  PCI: bridge 0000:00:01.0 32bit mmio: [904fffff90400000, ef92eae800000300]
  PCI: bridge 0000:00:01.0 32bit mmio pref: [9fffffff98000000, ef92eae8]

I just returned the laptop, or I'd double-check to see whether your casts
fixed this.



--

From: Yinghai Lu
Date: Thursday, August 28, 2008 - 3:33 pm

you must use 32 bit with !64bit_resource..

can we just make resource_t to be ull to 32bit unconditionally?

YH
--

Previous thread: [PATCH] trivial typo's 2.6.* by Danny ter Haar on Friday, August 22, 2008 - 11:31 am. (2 messages)

Next thread: [PATCH] documentation: add more early_param boot options by Randy Dunlap on Friday, August 22, 2008 - 12:02 pm. (3 messages)