[2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386

From: Adrian Bunk
Date: Tue Apr 18 2006 - 18:07:30 EST


virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated
on i386.

Without such warnings people will never update their code and fix
Andrew's all*config PPC64 builds.

And yes, some of the drivers affected are maintained.

As an example, the only usage of bus_to_virt() in the infiniband code
was added in 2.6.17-rc1 (sic).

This patch increases the number of warnings shown during builds, but it
seems worth including it at least in -mm for making people aware of this
issue.


Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx>

---

This patch was already sent on:
- 6 Jan 2006
- 13 Dec 2005
- 23 Nov 2005
- 18 Nov 2005
- 12 Nov 2005

--- linux-2.6.14-mm2-full/include/asm-i386/io.h.old 2005-11-12 01:44:38.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/io.h 2005-11-12 01:45:58.000000000 +0100
@@ -144,8 +144,14 @@
*
* Allow them on x86 for legacy drivers, though.
*/
-#define virt_to_bus virt_to_phys
-#define bus_to_virt phys_to_virt
+static inline unsigned long __deprecated virt_to_bus(volatile void * address)
+{
+ return __pa(address);
+}
+static inline void * __deprecated bus_to_virt(unsigned long address)
+{
+ return __va(address);
+}

/*
* readX/writeX() are used to access memory mapped devices. On some

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/