[PATCH] fix drivers/pci/probe.c warning
This function expects an unsigned 32-bit type as its third argument: static u32 pci_size(u32 base, u32 maxbase, u32 mask) However, given these definitions: #define PCI_BASE_ADDRESS_MEM_MASK (~0x0fUL) #define PCI_ROM_ADDRESS_MASK (~0x7ffUL) these two calls in drivers/pci/probe.c are problematic for architectures for which a UL is not equivalent to a u32: sz = pci_size(l, sz, PCI_BASE_ADDRESS_MEM_MASK); sz = pci_size(l, sz, PCI_ROM_ADDRESS_MASK); Hence the below compile warning when building for ARCH=ppc64: drivers/pci/probe.c: In function `pci_read_bases': /.../probe.c:168: warning: large integer implicitly truncated to unsigned type /.../probe.c:218: warning: large integer implicitly truncated to unsigned type Here is a simple fix. Signed-off-by: Amos Waterland <apw@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
		
							parent
							
								
									656da9da37
								
							
						
					
					
						commit
						3c6de9295d
					
				| @ -165,7 +165,7 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom) | ||||
| 		if (l == 0xffffffff) | ||||
| 			l = 0; | ||||
| 		if ((l & PCI_BASE_ADDRESS_SPACE) == PCI_BASE_ADDRESS_SPACE_MEMORY) { | ||||
| 			sz = pci_size(l, sz, PCI_BASE_ADDRESS_MEM_MASK); | ||||
| 			sz = pci_size(l, sz, (u32)PCI_BASE_ADDRESS_MEM_MASK); | ||||
| 			if (!sz) | ||||
| 				continue; | ||||
| 			res->start = l & PCI_BASE_ADDRESS_MEM_MASK; | ||||
| @ -215,7 +215,7 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom) | ||||
| 		if (l == 0xffffffff) | ||||
| 			l = 0; | ||||
| 		if (sz && sz != 0xffffffff) { | ||||
| 			sz = pci_size(l, sz, PCI_ROM_ADDRESS_MASK); | ||||
| 			sz = pci_size(l, sz, (u32)PCI_ROM_ADDRESS_MASK); | ||||
| 			if (sz) { | ||||
| 				res->flags = (l & IORESOURCE_ROM_ENABLE) | | ||||
| 				  IORESOURCE_MEM | IORESOURCE_PREFETCH | | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user