]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/include/asm/io.h
Merge branches 'x86/acpi', 'x86/apic', 'x86/asm', 'x86/cleanups', 'x86/mm', 'x86...
[linux-2.6-omap-h63xx.git] / arch / x86 / include / asm / io.h
index 4f8e820cf38fa5d2ac904cc2679c59b3470c99a7..683d0b4c00fcbbf86023c0462e1a18ff670c5cee 100644 (file)
@@ -124,10 +124,15 @@ static inline void *phys_to_virt(phys_addr_t address)
 
 /*
  * ISA I/O bus memory addresses are 1:1 with the physical address.
+ * However, we truncate the address to unsigned int to avoid undesirable
+ * promitions in legacy drivers.
  */
-#define isa_virt_to_bus (unsigned long)virt_to_phys
-#define isa_page_to_bus page_to_phys
-#define isa_bus_to_virt phys_to_virt
+static inline unsigned int isa_virt_to_bus(volatile void *address)
+{
+       return (unsigned int)virt_to_phys(address);
+}
+#define isa_page_to_bus(page)  ((unsigned int)page_to_phys(page))
+#define isa_bus_to_virt                phys_to_virt
 
 /*
  * However PCI ones are not necessarily 1:1 and therefore these interfaces