Commit b70d3a2c596fb52b02488ad4aef13fa0d602090c

Authored by Benjamin Herrenschmidt
Committed by Linus Torvalds
1 parent 626adeb667

iomap: fix 64 bits resources on 32 bits

Almost all implementations of pci_iomap() in the kernel, including the generic
lib/iomap.c one, copies the content of a struct resource into unsigned long's
which will break on 32 bits platforms with 64 bits resources.

This fixes all definitions of pci_iomap() to use resource_size_t.  I also
"fixed" the 64bits arch for consistency.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 12 changed files with 23 additions and 23 deletions Side-by-side Diff

arch/alpha/kernel/pci.c
... ... @@ -514,8 +514,8 @@
514 514  
515 515 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
516 516 {
517   - unsigned long start = pci_resource_start(dev, bar);
518   - unsigned long len = pci_resource_len(dev, bar);
  517 + resource_size_t start = pci_resource_start(dev, bar);
  518 + resource_size_t len = pci_resource_len(dev, bar);
519 519 unsigned long flags = pci_resource_flags(dev, bar);
520 520  
521 521 if (!len || !start)
... ... @@ -26,8 +26,8 @@
26 26 #ifdef CONFIG_PCI
27 27 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
28 28 {
29   - unsigned long start = pci_resource_start(dev, bar);
30   - unsigned long len = pci_resource_len(dev, bar);
  29 + resource_size_t start = pci_resource_start(dev, bar);
  30 + resource_size_t len = pci_resource_len(dev, bar);
31 31 unsigned long flags = pci_resource_flags(dev, bar);
32 32  
33 33 if (!len || !start)
arch/frv/mb93090-mb00/pci-iomap.c
... ... @@ -13,8 +13,8 @@
13 13  
14 14 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
15 15 {
16   - unsigned long start = pci_resource_start(dev, bar);
17   - unsigned long len = pci_resource_len(dev, bar);
  16 + resource_size_t start = pci_resource_start(dev, bar);
  17 + resource_size_t len = pci_resource_len(dev, bar);
18 18 unsigned long flags = pci_resource_flags(dev, bar);
19 19  
20 20 if (!len || !start)
arch/mips/lib/iomap-pci.c
... ... @@ -45,8 +45,8 @@
45 45 */
46 46 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
47 47 {
48   - unsigned long start = pci_resource_start(dev, bar);
49   - unsigned long len = pci_resource_len(dev, bar);
  48 + resource_size_t start = pci_resource_start(dev, bar);
  49 + resource_size_t len = pci_resource_len(dev, bar);
50 50 unsigned long flags = pci_resource_flags(dev, bar);
51 51  
52 52 if (!len || !start)
arch/mn10300/unit-asb2305/pci-iomap.c
... ... @@ -16,8 +16,8 @@
16 16 */
17 17 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
18 18 {
19   - unsigned long start = pci_resource_start(dev, bar);
20   - unsigned long len = pci_resource_len(dev, bar);
  19 + resource_size_t start = pci_resource_start(dev, bar);
  20 + resource_size_t len = pci_resource_len(dev, bar);
21 21 unsigned long flags = pci_resource_flags(dev, bar);
22 22  
23 23 if (!len || !start)
arch/parisc/lib/iomap.c
... ... @@ -438,8 +438,8 @@
438 438 /* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
439 439 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
440 440 {
441   - unsigned long start = pci_resource_start(dev, bar);
442   - unsigned long len = pci_resource_len(dev, bar);
  441 + resource_size_t start = pci_resource_start(dev, bar);
  442 + resource_size_t len = pci_resource_len(dev, bar);
443 443 unsigned long flags = pci_resource_flags(dev, bar);
444 444  
445 445 if (!len || !start)
arch/ppc/kernel/pci.c
... ... @@ -1121,8 +1121,8 @@
1121 1121  
1122 1122 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
1123 1123 {
1124   - unsigned long start = pci_resource_start(dev, bar);
1125   - unsigned long len = pci_resource_len(dev, bar);
  1124 + resource_size_t start = pci_resource_start(dev, bar);
  1125 + resource_size_t len = pci_resource_len(dev, bar);
1126 1126 unsigned long flags = pci_resource_flags(dev, bar);
1127 1127  
1128 1128 if (!len)
arch/sh/drivers/pci/pci.c
... ... @@ -191,8 +191,8 @@
191 191  
192 192 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
193 193 {
194   - unsigned long start = pci_resource_start(dev, bar);
195   - unsigned long len = pci_resource_len(dev, bar);
  194 + resource_size_t start = pci_resource_start(dev, bar);
  195 + resource_size_t len = pci_resource_len(dev, bar);
196 196 unsigned long flags = pci_resource_flags(dev, bar);
197 197  
198 198 if (unlikely(!len || !start))
arch/sparc/lib/iomap.c
... ... @@ -21,8 +21,8 @@
21 21 /* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
22 22 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
23 23 {
24   - unsigned long start = pci_resource_start(dev, bar);
25   - unsigned long len = pci_resource_len(dev, bar);
  24 + resource_size_t start = pci_resource_start(dev, bar);
  25 + resource_size_t len = pci_resource_len(dev, bar);
26 26 unsigned long flags = pci_resource_flags(dev, bar);
27 27  
28 28 if (!len || !start)
arch/sparc64/lib/iomap.c
... ... @@ -21,8 +21,8 @@
21 21 /* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
22 22 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
23 23 {
24   - unsigned long start = pci_resource_start(dev, bar);
25   - unsigned long len = pci_resource_len(dev, bar);
  24 + resource_size_t start = pci_resource_start(dev, bar);
  25 + resource_size_t len = pci_resource_len(dev, bar);
26 26 unsigned long flags = pci_resource_flags(dev, bar);
27 27  
28 28 if (!len || !start)
arch/v850/kernel/rte_mb_a_pci.c
... ... @@ -790,8 +790,8 @@
790 790  
791 791 void __iomem *pci_iomap (struct pci_dev *dev, int bar, unsigned long max)
792 792 {
793   - unsigned long start = pci_resource_start (dev, bar);
794   - unsigned long len = pci_resource_len (dev, bar);
  793 + resource_size_t start = pci_resource_start (dev, bar);
  794 + resource_size_t len = pci_resource_len (dev, bar);
795 795  
796 796 if (!start || len == 0)
797 797 return 0;
... ... @@ -257,7 +257,7 @@
257 257 void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
258 258 {
259 259 resource_size_t start = pci_resource_start(dev, bar);
260   - unsigned long len = pci_resource_len(dev, bar);
  260 + resource_size_t len = pci_resource_len(dev, bar);
261 261 unsigned long flags = pci_resource_flags(dev, bar);
262 262  
263 263 if (!len || !start)