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

From: Adrian Bunk
Date: Thu Jul 06 2006 - 18:29:25 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
the errors in PPC64 builds.

And yes, some of the drivers affected are maintained.

This also catches accidential additions of users for these functions
like a usage of bus_to_virt() in the infiniband code that was added in
2.6.17-rc1 (already removed).

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:
- 26 Jun 2006
- 27 Apr 2006
- 19 Apr 2006
- 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/