public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
@ 2005-11-07 20:03 Adrian Bunk
  2005-11-10 12:28 ` Andrew Morton
  0 siblings, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2005-11-07 20:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Currently, using an undeclared function gives a compile warning, but it 
can lead to a nasty runtime error if the prototype of the function is 
different from what gcc guessed.

With -Werror-implicit-function-declaration, we are getting an immediate 
compile error instead.

There will be some compile errors in cases where compilation previously
worked because the undefined function wasn't called due to gcc dead code
elimination, but in these cases a proper fix doesnt harm.


This patch also removes some unneeded spaces between two tabs in the 
following line.


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

This patch was already sent on:
- 30 Aug 2005
- 30 Jul 2005

--- linux-2.6.13-rc3-mm3-full/Makefile.old	2005-07-30 13:55:32.000000000 +0200
+++ linux-2.6.13-rc3-mm3-full/Makefile	2005-07-30 13:55:56.000000000 +0200
@@ -351,7 +351,8 @@
 CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
 
 CFLAGS 		:= -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-	  	   -fno-strict-aliasing -fno-common \
+		   -Werror-implicit-function-declaration \
+		   -fno-strict-aliasing -fno-common \
 		   -ffreestanding
 AFLAGS		:= -D__ASSEMBLY__
 


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-07 20:03 [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Adrian Bunk
@ 2005-11-10 12:28 ` Andrew Morton
  2005-11-11  2:12   ` Adrian Bunk
  0 siblings, 1 reply; 78+ messages in thread
From: Andrew Morton @ 2005-11-10 12:28 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel

Adrian Bunk <bunk@stusta.de> wrote:
>
> Currently, using an undeclared function gives a compile warning, but it 
>  can lead to a nasty runtime error if the prototype of the function is 
>  different from what gcc guessed.
> 
>  With -Werror-implicit-function-declaration, we are getting an immediate 
>  compile error instead.
> 
>  There will be some compile errors in cases where compilation previously
>  worked because the undefined function wasn't called due to gcc dead code
>  elimination, but in these cases a proper fix doesnt harm.
> 

Sorry, I need to build allmodconfig kernels on wacky architectures (eg
ppc64) and this patch is killing me.


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-10 12:28 ` Andrew Morton
@ 2005-11-11  2:12   ` Adrian Bunk
  2005-11-11  2:24     ` Andrew Morton
  0 siblings, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2005-11-11  2:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Nov 10, 2005 at 04:28:57AM -0800, Andrew Morton wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > Currently, using an undeclared function gives a compile warning, but it 
> >  can lead to a nasty runtime error if the prototype of the function is 
> >  different from what gcc guessed.
> > 
> >  With -Werror-implicit-function-declaration, we are getting an immediate 
> >  compile error instead.
> > 
> >  There will be some compile errors in cases where compilation previously
> >  worked because the undefined function wasn't called due to gcc dead code
> >  elimination, but in these cases a proper fix doesnt harm.
> > 
> 
> Sorry, I need to build allmodconfig kernels on wacky architectures (eg
> ppc64) and this patch is killing me.

Can you send me the list of compile errors so that I can work on fixing 
them?

TIA
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-11  2:12   ` Adrian Bunk
@ 2005-11-11  2:24     ` Andrew Morton
  2005-11-11  3:45       ` Randy.Dunlap
  2005-11-11 20:18       ` Adrian Bunk
  0 siblings, 2 replies; 78+ messages in thread
From: Andrew Morton @ 2005-11-11  2:24 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel

Adrian Bunk <bunk@stusta.de> wrote:
>
> On Thu, Nov 10, 2005 at 04:28:57AM -0800, Andrew Morton wrote:
> > Adrian Bunk <bunk@stusta.de> wrote:
> > >
> > > Currently, using an undeclared function gives a compile warning, but it 
> > >  can lead to a nasty runtime error if the prototype of the function is 
> > >  different from what gcc guessed.
> > > 
> > >  With -Werror-implicit-function-declaration, we are getting an immediate 
> > >  compile error instead.
> > > 
> > >  There will be some compile errors in cases where compilation previously
> > >  worked because the undefined function wasn't called due to gcc dead code
> > >  elimination, but in these cases a proper fix doesnt harm.
> > > 
> > 
> > Sorry, I need to build allmodconfig kernels on wacky architectures (eg
> > ppc64) and this patch is killing me.
> 
> Can you send me the list of compile errors so that I can work on fixing 
> them?
> 

No handily, sorry.   Missing virt_to_bus() is the typical problem.

The cross-tools at http://developer.osdl.org/dev/plm/cross_compile/ are
quite simple to install.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-11  2:24     ` Andrew Morton
@ 2005-11-11  3:45       ` Randy.Dunlap
  2005-11-11 20:18       ` Adrian Bunk
  1 sibling, 0 replies; 78+ messages in thread
From: Randy.Dunlap @ 2005-11-11  3:45 UTC (permalink / raw)
  To: Andrew Morton; +Cc: bunk, linux-kernel

On Thu, 10 Nov 2005 18:24:43 -0800 Andrew Morton wrote:

> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > On Thu, Nov 10, 2005 at 04:28:57AM -0800, Andrew Morton wrote:
> > > Adrian Bunk <bunk@stusta.de> wrote:
> > > >
> > > > Currently, using an undeclared function gives a compile warning, but it 
> > > >  can lead to a nasty runtime error if the prototype of the function is 
> > > >  different from what gcc guessed.
> > > > 
> > > >  With -Werror-implicit-function-declaration, we are getting an immediate 
> > > >  compile error instead.
> > > > 
> > > >  There will be some compile errors in cases where compilation previously
> > > >  worked because the undefined function wasn't called due to gcc dead code
> > > >  elimination, but in these cases a proper fix doesnt harm.
> > > > 
> > > 
> > > Sorry, I need to build allmodconfig kernels on wacky architectures (eg
> > > ppc64) and this patch is killing me.
> > 
> > Can you send me the list of compile errors so that I can work on fixing 
> > them?
> > 
> 
> No handily, sorry.   Missing virt_to_bus() is the typical problem.
> 
> The cross-tools at http://developer.osdl.org/dev/plm/cross_compile/ are
> quite simple to install.

Ack that.  Those are the ones I use.

---
~Randy

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-11  2:24     ` Andrew Morton
  2005-11-11  3:45       ` Randy.Dunlap
@ 2005-11-11 20:18       ` Adrian Bunk
  2005-11-11 20:20         ` Adrian Bunk
                           ` (2 more replies)
  1 sibling, 3 replies; 78+ messages in thread
From: Adrian Bunk @ 2005-11-11 20:18 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, paulus, anton, linuxppc64-dev

On Thu, Nov 10, 2005 at 06:24:43PM -0800, Andrew Morton wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > On Thu, Nov 10, 2005 at 04:28:57AM -0800, Andrew Morton wrote:
> > > Adrian Bunk <bunk@stusta.de> wrote:
> > > >
> > > > Currently, using an undeclared function gives a compile warning, but it 
> > > >  can lead to a nasty runtime error if the prototype of the function is 
> > > >  different from what gcc guessed.
> > > > 
> > > >  With -Werror-implicit-function-declaration, we are getting an immediate 
> > > >  compile error instead.
> > > > 
> > > >  There will be some compile errors in cases where compilation previously
> > > >  worked because the undefined function wasn't called due to gcc dead code
> > > >  elimination, but in these cases a proper fix doesnt harm.
> > > > 
> > > 
> > > Sorry, I need to build allmodconfig kernels on wacky architectures (eg
> > > ppc64) and this patch is killing me.
> > 
> > Can you send me the list of compile errors so that I can work on fixing 
> > them?
> > 
> 
> No handily, sorry.   Missing virt_to_bus() is the typical problem.
>

But in this case -Werror-implicit-function-declaration doesn't create 
new compile errors, it only moves compile errors from compile time to 
link or depmod time - which is IMHO not a bad change.

If you really want to keep the status quo, you can still steal the 
following from sparc64:
  extern unsigned long virt_to_bus_not_defined_use_pci_map(volatile void *addr);
  #define virt_to_bus virt_to_bus_not_defined_use_pci_map
  extern unsigned long bus_to_virt_not_defined_use_pci_map(volatile void *addr);
  #define bus_to_virt bus_to_virt_not_defined_use_pci_map

Would a patch to mark the ISA legacy functions as __deprecated be OK?

This might give some motivation for people to convert drivers and would 
avoid new code like the recently introduced kexec to use this obsolete 
API.

> The cross-tools at http://developer.osdl.org/dev/plm/cross_compile/ are
> quite simple to install.

Thanks, I've tried it.

Other problems I found until I gave up on compiling:
- a problem in sk98lin indirectly corrected by my SkPciWriteCfgDWord() 
  patch
- drivers/net/wireless/tiacx/: missing #include <linux/vmalloc.h>'s
  (see my patch) - this seems to be a real bug

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-11 20:18       ` Adrian Bunk
@ 2005-11-11 20:20         ` Adrian Bunk
  2005-11-11 20:36           ` Adrian Bunk
  2005-11-12  4:34           ` [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
  2005-11-11 21:24         ` [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Andrew Morton
  2005-11-12  0:33         ` Adrian Bunk
  2 siblings, 2 replies; 78+ messages in thread
From: Adrian Bunk @ 2005-11-11 20:20 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, paulus, anton, linuxppc64-dev

On Fri, Nov 11, 2005 at 09:18:49PM +0100, Adrian Bunk wrote:
>...
> But in this case -Werror-implicit-function-declaration doesn't create 
> new compile errors, it only moves compile errors from compile time to 
> link or depmod time - which is IMHO not a bad change.
> 
> If you really want to keep the status quo, you can still steal the 
> following from sparc64:
>   extern unsigned long virt_to_bus_not_defined_use_pci_map(volatile void *addr);
>   #define virt_to_bus virt_to_bus_not_defined_use_pci_map
>   extern unsigned long bus_to_virt_not_defined_use_pci_map(volatile void *addr);
>   #define bus_to_virt bus_to_virt_not_defined_use_pci_map
> 
> Would a patch to mark the ISA legacy functions as __deprecated be OK?
>...

Sorry, this were two separate thoughts:

Would a patch to mark both virt_to_bus/bus_to_virt and the ISA legacy 
functions (that cause similar problems) as __deprecated be OK?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-11 20:20         ` Adrian Bunk
@ 2005-11-11 20:36           ` Adrian Bunk
  2005-11-12  4:52             ` [RFC: 2.6 patch] remove ISA legacy functions Adrian Bunk
  2005-11-12  4:34           ` [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
  1 sibling, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2005-11-11 20:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, paulus, anton, linuxppc64-dev

On Fri, Nov 11, 2005 at 09:20:05PM +0100, Adrian Bunk wrote:
> On Fri, Nov 11, 2005 at 09:18:49PM +0100, Adrian Bunk wrote:
> >...
> > But in this case -Werror-implicit-function-declaration doesn't create 
> > new compile errors, it only moves compile errors from compile time to 
> > link or depmod time - which is IMHO not a bad change.
> > 
> > If you really want to keep the status quo, you can still steal the 
> > following from sparc64:
> >   extern unsigned long virt_to_bus_not_defined_use_pci_map(volatile void *addr);
> >   #define virt_to_bus virt_to_bus_not_defined_use_pci_map
> >   extern unsigned long bus_to_virt_not_defined_use_pci_map(volatile void *addr);
> >   #define bus_to_virt bus_to_virt_not_defined_use_pci_map
> > 
> > Would a patch to mark the ISA legacy functions as __deprecated be OK?
> >...
> 
> Sorry, this were two separate thoughts:
> 
> Would a patch to mark both virt_to_bus/bus_to_virt and the ISA legacy 
> functions (that cause similar problems) as __deprecated be OK?

Rethinking about this:
The ISA legacy functions were declared obsolete five years ago.
Since there are not many drivers using them, we could simply mark the 
drivers still using them as BROKEN.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-11 20:18       ` Adrian Bunk
  2005-11-11 20:20         ` Adrian Bunk
@ 2005-11-11 21:24         ` Andrew Morton
  2005-11-11 23:34           ` Sam Ravnborg
  2005-11-12  0:33         ` Adrian Bunk
  2 siblings, 1 reply; 78+ messages in thread
From: Andrew Morton @ 2005-11-11 21:24 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel, paulus, anton, linuxppc64-dev

Adrian Bunk <bunk@stusta.de> wrote:
>
> > > > 
> > > > Sorry, I need to build allmodconfig kernels on wacky architectures (eg
> > > > ppc64) and this patch is killing me.
> > > 
> > > Can you send me the list of compile errors so that I can work on fixing 
> > > them?
> > > 
> > 
> > No handily, sorry.   Missing virt_to_bus() is the typical problem.
> >
> 
> But in this case -Werror-implicit-function-declaration doesn't create 
> new compile errors, it only moves compile errors from compile time to 
> link or depmod time - which is IMHO not a bad change.

It is a quite inconvenient change if you want to get full coverage with
`make allmodconfig'.

Maybe one can do `make -i' and then weed through the noise - I haven't
tried.

> If you really want to keep the status quo, you can still steal the 
> following from sparc64:
>   extern unsigned long virt_to_bus_not_defined_use_pci_map(volatile void *addr);
>   #define virt_to_bus virt_to_bus_not_defined_use_pci_map
>   extern unsigned long bus_to_virt_not_defined_use_pci_map(volatile void *addr);
>   #define bus_to_virt bus_to_virt_not_defined_use_pci_map

Maybe.  There were some other failures.


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-11 21:24         ` [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Andrew Morton
@ 2005-11-11 23:34           ` Sam Ravnborg
  0 siblings, 0 replies; 78+ messages in thread
From: Sam Ravnborg @ 2005-11-11 23:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Adrian Bunk, linux-kernel, paulus, anton, linuxppc64-dev

On Fri, Nov 11, 2005 at 01:24:43PM -0800, Andrew Morton wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > > > > 
> > > > > Sorry, I need to build allmodconfig kernels on wacky architectures (eg
> > > > > ppc64) and this patch is killing me.
> > > > 
> > > > Can you send me the list of compile errors so that I can work on fixing 
> > > > them?
> > > > 
> > > 
> > > No handily, sorry.   Missing virt_to_bus() is the typical problem.
> > >
> > 
> > But in this case -Werror-implicit-function-declaration doesn't create 
> > new compile errors, it only moves compile errors from compile time to 
> > link or depmod time - which is IMHO not a bad change.
> 
> It is a quite inconvenient change if you want to get full coverage with
> `make allmodconfig'.

It could be a Kconfig item if enabled or not.
Then you could use the new mechanishm in kconfig to disable it for your
allmodconfig builds.

cat allmod.config
CONFIG_CC_ERROR_IMPLICIT_FUNCTION_DECLARATION = 0


That should do the trick, but maybe too inconvinient??

	Sam

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
  2005-11-11 20:18       ` Adrian Bunk
  2005-11-11 20:20         ` Adrian Bunk
  2005-11-11 21:24         ` [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Andrew Morton
@ 2005-11-12  0:33         ` Adrian Bunk
  2 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2005-11-12  0:33 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, paulus, anton, linuxppc64-dev

On Fri, Nov 11, 2005 at 09:18:49PM +0100, Adrian Bunk wrote:
>...
> This might give some motivation for people to convert drivers and would 
> avoid new code like the recently introduced kexec to use this obsolete 
> API.
>...

/me sits too long in front of the computer

s/kexec//

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-11 20:20         ` Adrian Bunk
  2005-11-11 20:36           ` Adrian Bunk
@ 2005-11-12  4:34           ` Adrian Bunk
  1 sibling, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2005-11-12  4:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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


Signed-off-by: Adrian Bunk <bunk@stusta.de>

--- 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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* [RFC: 2.6 patch] remove ISA legacy functions
  2005-11-11 20:36           ` Adrian Bunk
@ 2005-11-12  4:52             ` Adrian Bunk
  2005-11-12  5:08               ` Jeff Garzik
  2005-11-12  7:12               ` Christoph Hellwig
  0 siblings, 2 replies; 78+ messages in thread
From: Adrian Bunk @ 2005-11-12  4:52 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-kernel, linux-scsi, netdev, jonathan, tlinux-users,
	Jaroslav Kysela

This patch removes the ISA legacy functions that are deprecated since 
kernel 2.4 and that aren't available on all architectures.

The 7 drivers that were still using this obsolete API are now marked
as BROKEN.


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 Documentation/DocBook/deviceiobook.tmpl |   19 -----
 arch/i386/Kconfig                       |    1 
 drivers/net/Kconfig                     |    6 -
 drivers/net/arcnet/Kconfig              |    4 -
 drivers/scsi/Kconfig                    |    2 
 include/asm-alpha/io.h                  |   83 ------------------------
 include/asm-arm/arch-aaec2000/io.h      |    1 
 include/asm-arm/arch-clps711x/io.h      |    1 
 include/asm-arm/arch-ebsa285/io.h       |    8 --
 include/asm-arm/arch-integrator/io.h    |    1 
 include/asm-arm/arch-iop3xx/io.h        |    1 
 include/asm-arm/arch-l7200/io.h         |    1 
 include/asm-arm/arch-lh7a40x/io.h       |    1 
 include/asm-arm/arch-omap/io.h          |    1 
 include/asm-arm/arch-pxa/io.h           |    1 
 include/asm-arm/arch-realview/io.h      |    1 
 include/asm-arm/arch-sa1100/io.h        |    1 
 include/asm-arm/arch-versatile/io.h     |    1 
 include/asm-arm/io.h                    |   36 ----------
 include/asm-i386/io.h                   |   11 ---
 include/asm-m68k/io.h                   |   21 ++----
 include/asm-mips/io.h                   |   23 ------
 include/asm-parisc/io.h                 |   18 -----
 include/asm-sh/io.h                     |   13 ---
 include/asm-x86_64/io.h                 |   11 ---
 25 files changed, 15 insertions(+), 252 deletions(-)

--- linux-2.6.14-mm2-full/Documentation/DocBook/deviceiobook.tmpl.old	2005-11-11 21:44:08.000000000 +0100
+++ linux-2.6.14-mm2-full/Documentation/DocBook/deviceiobook.tmpl	2005-11-11 21:44:18.000000000 +0100
@@ -270,25 +270,6 @@
       </para>
     </sect1>
 
-    <sect1>
-      <title>ISA legacy functions</title>
-      <para>
-	On older kernels (2.2 and earlier) the ISA bus could be read or
-	written with these functions and without ioremap being used. This is
-	no longer true in Linux 2.4. A set of equivalent functions exist for
-	easy legacy driver porting. The functions available are prefixed
-	with 'isa_' and are <function>isa_readb</function>,
-	<function>isa_writeb</function>, <function>isa_readw</function>, 
-	<function>isa_writew</function>, <function>isa_readl</function>,
-	<function>isa_writel</function>, <function>isa_memcpy_fromio</function>
-	and <function>isa_memcpy_toio</function>
-      </para>
-      <para>
-	These functions should not be used in new drivers, and will
-	eventually be going away.
-      </para>
-    </sect1>
-
   </chapter>
 
   <chapter>
--- linux-2.6.14-mm2-full/include/asm-alpha/io.h.old	2005-11-11 21:39:55.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-alpha/io.h	2005-11-11 21:59:27.000000000 +0100
@@ -534,9 +534,6 @@
 #define eth_io_copy_and_sum(skb,src,len,unused) \
   memcpy_fromio((skb)->data,src,len)
 
-#define isa_eth_io_copy_and_sum(skb,src,len,unused) \
-  isa_memcpy_fromio((skb)->data,src,len)
-
 static inline int
 check_signature(const volatile void __iomem *io_addr,
 		const unsigned char *signature, int length)
@@ -552,86 +549,6 @@
 
 
 /*
- * ISA space is mapped to some machine-specific location on Alpha.
- * Call into the existing hooks to get the address translated.
- */
-
-static inline u8
-isa_readb(unsigned long offset)
-{
-	void __iomem *addr = ioremap(offset, 1);
-	u8 ret = readb(addr);
-	iounmap(addr);
-	return ret;
-}
-
-static inline u16
-isa_readw(unsigned long offset)
-{
-	void __iomem *addr = ioremap(offset, 2);
-	u16 ret = readw(addr);
-	iounmap(addr);
-	return ret;
-}
-
-static inline u32
-isa_readl(unsigned long offset)
-{
-	void __iomem *addr = ioremap(offset, 2);
-	u32 ret = readl(addr);
-	iounmap(addr);
-	return ret;
-}
-
-static inline void
-isa_writeb(u8 b, unsigned long offset)
-{
-	void __iomem *addr = ioremap(offset, 2);
-	writeb(b, addr);
-	iounmap(addr);
-}
-
-static inline void
-isa_writew(u16 w, unsigned long offset)
-{
-	void __iomem *addr = ioremap(offset, 2);
-	writew(w, addr);
-	iounmap(addr);
-}
-
-static inline void
-isa_writel(u32 l, unsigned long offset)
-{
-	void __iomem *addr = ioremap(offset, 2);
-	writel(l, addr);
-	iounmap(addr);
-}
-
-static inline void
-isa_memset_io(unsigned long offset, u8 val, long n)
-{
-	void __iomem *addr = ioremap(offset, n);
-	memset_io(addr, val, n);
-	iounmap(addr);
-}
-
-static inline void
-isa_memcpy_fromio(void *dest, unsigned long offset, long n)
-{
-	void __iomem *addr = ioremap(offset, n);
-	memcpy_fromio(dest, addr, n);
-	iounmap(addr);
-}
-
-static inline void
-isa_memcpy_toio(unsigned long offset, const void *src, long n)
-{
-	void __iomem *addr = ioremap(offset, n);
-	memcpy_toio(addr, src, n);
-	iounmap(addr);
-}
-
-/*
  * The Alpha Jensen hardware for some rather strange reason puts
  * the RTC clock at 0x170 instead of 0x70. Probably due to some
  * misguided idea about using 0x70 for NMI stuff.
--- linux-2.6.14-mm2-full/include/asm-arm/io.h.old	2005-11-11 21:40:42.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/io.h	2005-11-11 21:59:36.000000000 +0100
@@ -215,42 +215,6 @@
 #endif	/* __mem_pci */
 
 /*
- * If this architecture has ISA IO, then define the isa_read/isa_write
- * macros.
- */
-#ifdef __mem_isa
-
-#define isa_readb(addr)			__raw_readb(__mem_isa(addr))
-#define isa_readw(addr)			__raw_readw(__mem_isa(addr))
-#define isa_readl(addr)			__raw_readl(__mem_isa(addr))
-#define isa_writeb(val,addr)		__raw_writeb(val,__mem_isa(addr))
-#define isa_writew(val,addr)		__raw_writew(val,__mem_isa(addr))
-#define isa_writel(val,addr)		__raw_writel(val,__mem_isa(addr))
-#define isa_memset_io(a,b,c)		_memset_io(__mem_isa(a),(b),(c))
-#define isa_memcpy_fromio(a,b,c)	_memcpy_fromio((a),__mem_isa(b),(c))
-#define isa_memcpy_toio(a,b,c)		_memcpy_toio(__mem_isa((a)),(b),(c))
-
-#define isa_eth_io_copy_and_sum(a,b,c,d) \
-				eth_copy_and_sum((a),__mem_isa(b),(c),(d))
-
-#else	/* __mem_isa */
-
-#define isa_readb(addr)			(__readwrite_bug("isa_readb"),0)
-#define isa_readw(addr)			(__readwrite_bug("isa_readw"),0)
-#define isa_readl(addr)			(__readwrite_bug("isa_readl"),0)
-#define isa_writeb(val,addr)		__readwrite_bug("isa_writeb")
-#define isa_writew(val,addr)		__readwrite_bug("isa_writew")
-#define isa_writel(val,addr)		__readwrite_bug("isa_writel")
-#define isa_memset_io(a,b,c)		__readwrite_bug("isa_memset_io")
-#define isa_memcpy_fromio(a,b,c)	__readwrite_bug("isa_memcpy_fromio")
-#define isa_memcpy_toio(a,b,c)		__readwrite_bug("isa_memcpy_toio")
-
-#define isa_eth_io_copy_and_sum(a,b,c,d) \
-				__readwrite_bug("isa_eth_io_copy_and_sum")
-
-#endif	/* __mem_isa */
-
-/*
  * ioremap and friends.
  *
  * ioremap takes a PCI memory address, as specified in
--- linux-2.6.14-mm2-full/include/asm-i386/io.h.old	2005-11-11 21:41:07.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-i386/io.h	2005-11-12 00:37:26.000000000 +0100
@@ -214,23 +214,12 @@
  */
 #define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET))
 
-#define isa_readb(a) readb(__ISA_IO_base + (a))
-#define isa_readw(a) readw(__ISA_IO_base + (a))
-#define isa_readl(a) readl(__ISA_IO_base + (a))
-#define isa_writeb(b,a) writeb(b,__ISA_IO_base + (a))
-#define isa_writew(w,a) writew(w,__ISA_IO_base + (a))
-#define isa_writel(l,a) writel(l,__ISA_IO_base + (a))
-#define isa_memset_io(a,b,c)		memset_io(__ISA_IO_base + (a),(b),(c))
-#define isa_memcpy_fromio(a,b,c)	memcpy_fromio((a),__ISA_IO_base + (b),(c))
-#define isa_memcpy_toio(a,b,c)		memcpy_toio(__ISA_IO_base + (a),(b),(c))
-
 
 /*
  * Again, i386 does not require mem IO specific function.
  */
 
 #define eth_io_copy_and_sum(a,b,c,d)		eth_copy_and_sum((a),(void __force *)(b),(c),(d))
-#define isa_eth_io_copy_and_sum(a,b,c,d)	eth_copy_and_sum((a),(void __force *)(__ISA_IO_base + (b)),(c),(d))
 
 /**
  *	check_signature		-	find BIOS signatures
--- linux-2.6.14-mm2-full/include/asm-mips/io.h.old	2005-11-11 21:41:23.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-mips/io.h	2005-11-11 22:00:31.000000000 +0100
@@ -563,33 +563,10 @@
 extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
 
 /*
- * ISA space is 'always mapped' on currently supported MIPS systems, no need
- * to explicitly ioremap() it. The fact that the ISA IO space is mapped
- * to PAGE_OFFSET is pure coincidence - it does not mean ISA values
- * are physical addresses. The following constant pointer can be
- * used as the IO-area pointer (it can be iounmapped as well, so the
- * analogy with PCI is quite large):
- */
-#define __ISA_IO_base ((char *)(isa_slot_offset))
-
-#define isa_readb(a)		readb(__ISA_IO_base + (a))
-#define isa_readw(a)		readw(__ISA_IO_base + (a))
-#define isa_readl(a)		readl(__ISA_IO_base + (a))
-#define isa_readq(a)		readq(__ISA_IO_base + (a))
-#define isa_writeb(b,a)		writeb(b,__ISA_IO_base + (a))
-#define isa_writew(w,a)		writew(w,__ISA_IO_base + (a))
-#define isa_writel(l,a)		writel(l,__ISA_IO_base + (a))
-#define isa_writeq(q,a)		writeq(q,__ISA_IO_base + (a))
-#define isa_memset_io(a,b,c)	memset_io(__ISA_IO_base + (a),(b),(c))
-#define isa_memcpy_fromio(a,b,c) memcpy_fromio((a),__ISA_IO_base + (b),(c))
-#define isa_memcpy_toio(a,b,c)	memcpy_toio(__ISA_IO_base + (a),(b),(c))
-
-/*
  * We don't have csum_partial_copy_fromio() yet, so we cheat here and
  * just copy it. The net code will then do the checksum later.
  */
 #define eth_io_copy_and_sum(skb,src,len,unused) memcpy_fromio((skb)->data,(src),(len))
-#define isa_eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),(b),(c),(d))
 
 /*
  *     check_signature         -       find BIOS signatures
--- linux-2.6.14-mm2-full/include/asm-parisc/io.h.old	2005-11-11 21:41:44.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-parisc/io.h	2005-11-11 22:01:12.000000000 +0100
@@ -294,22 +294,6 @@
 void memcpy_fromio(void *dst, const volatile void __iomem *src, int count);
 void memcpy_toio(volatile void __iomem *dst, const void *src, int count);
 
-/* Support old drivers which don't ioremap.
- * NB this interface is scheduled to disappear in 2.5
- */
-
-#define __isa_addr(x) (void __iomem *)(F_EXTEND(0xfc000000) | (x))
-#define isa_readb(a) readb(__isa_addr(a))
-#define isa_readw(a) readw(__isa_addr(a))
-#define isa_readl(a) readl(__isa_addr(a))
-#define isa_writeb(b,a) writeb((b), __isa_addr(a))
-#define isa_writew(b,a) writew((b), __isa_addr(a))
-#define isa_writel(b,a) writel((b), __isa_addr(a))
-#define isa_memset_io(a,b,c) memset_io(__isa_addr(a), (b), (c))
-#define isa_memcpy_fromio(a,b,c) memcpy_fromio((a), __isa_addr(b), (c))
-#define isa_memcpy_toio(a,b,c) memcpy_toio(__isa_addr(a), (b), (c))
-
-
 /*
  * XXX - We don't have csum_partial_copy_fromio() yet, so we cheat here and 
  * just copy it. The net code will then do the checksum later. Presently 
@@ -318,8 +302,6 @@
 
 #define eth_io_copy_and_sum(skb,src,len,unused) \
   memcpy_fromio((skb)->data,(src),(len))
-#define isa_eth_io_copy_and_sum(skb,src,len,unused) \
-  isa_memcpy_fromio((skb)->data,(src),(len))
 
 /* Port-space IO */
 
--- linux-2.6.14-mm2-full/include/asm-x86_64/io.h.old	2005-11-11 21:41:58.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-x86_64/io.h	2005-11-12 00:38:07.000000000 +0100
@@ -264,23 +264,12 @@
  */
 #define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET))
 
-#define isa_readb(a) readb(__ISA_IO_base + (a))
-#define isa_readw(a) readw(__ISA_IO_base + (a))
-#define isa_readl(a) readl(__ISA_IO_base + (a))
-#define isa_writeb(b,a) writeb(b,__ISA_IO_base + (a))
-#define isa_writew(w,a) writew(w,__ISA_IO_base + (a))
-#define isa_writel(l,a) writel(l,__ISA_IO_base + (a))
-#define isa_memset_io(a,b,c)		memset_io(__ISA_IO_base + (a),(b),(c))
-#define isa_memcpy_fromio(a,b,c)	memcpy_fromio((a),__ISA_IO_base + (b),(c))
-#define isa_memcpy_toio(a,b,c)		memcpy_toio(__ISA_IO_base + (a),(b),(c))
-
 
 /*
  * Again, x86-64 does not require mem IO specific function.
  */
 
 #define eth_io_copy_and_sum(a,b,c,d)		eth_copy_and_sum((a),(void *)(b),(c),(d))
-#define isa_eth_io_copy_and_sum(a,b,c,d)	eth_copy_and_sum((a),(void *)(__ISA_IO_base + (b)),(c),(d))
 
 /**
  *	check_signature		-	find BIOS signatures
--- linux-2.6.14-mm2-full/include/asm-m68k/io.h.old	2005-11-11 21:49:11.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-m68k/io.h	2005-11-11 21:56:15.000000000 +0100
@@ -191,15 +191,6 @@
 #define isa_outb(val,port) out_8(isa_itb(port),(val))
 #define isa_outw(val,port) (ISA_SEX ? out_be16(isa_itw(port),(val)) : out_le16(isa_itw(port),(val)))
 
-#define isa_readb(p)       in_8(isa_mtb((unsigned long)(p)))
-#define isa_readw(p)       \
-	(ISA_SEX ? in_be16(isa_mtw((unsigned long)(p)))	\
-		 : in_le16(isa_mtw((unsigned long)(p))))
-#define isa_writeb(val,p)  out_8(isa_mtb((unsigned long)(p)),(val))
-#define isa_writew(val,p)  \
-	(ISA_SEX ? out_be16(isa_mtw((unsigned long)(p)),(val))	\
-		 : out_le16(isa_mtw((unsigned long)(p)),(val)))
-
 static inline void isa_delay(void)
 {
   switch(ISA_TYPE)
@@ -254,10 +245,14 @@
 #define insw    isa_insw
 #define outsb   isa_outsb
 #define outsw   isa_outsw
-#define readb   isa_readb
-#define readw   isa_readw
-#define writeb  isa_writeb
-#define writew  isa_writew
+#define readb(p) in_8(isa_mtb((unsigned long)(p)))
+#define readw(p)       \
+	(ISA_SEX ? in_be16(isa_mtw((unsigned long)(p)))	\
+		 : in_le16(isa_mtw((unsigned long)(p))))
+#define writeb(val,p)  out_8(isa_mtb((unsigned long)(p)),(val))
+#define writew(val,p)  \
+	(ISA_SEX ? out_be16(isa_mtw((unsigned long)(p)),(val))	\
+		 : out_le16(isa_mtw((unsigned long)(p)),(val)))
 #endif /* CONFIG_ISA */
 
 #if defined(CONFIG_PCI)
--- linux-2.6.14-mm2-full/include/asm-sh/io.h.old	2005-11-11 21:50:43.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-sh/io.h	2005-11-11 22:01:37.000000000 +0100
@@ -159,19 +159,6 @@
 	generic_io_base = pbase;
 }
 
-#define isa_readb(a) readb(isa_port2addr(a))
-#define isa_readw(a) readw(isa_port2addr(a))
-#define isa_readl(a) readl(isa_port2addr(a))
-#define isa_writeb(b,a) writeb(b,isa_port2addr(a))
-#define isa_writew(w,a) writew(w,isa_port2addr(a))
-#define isa_writel(l,a) writel(l,isa_port2addr(a))
-#define isa_memset_io(a,b,c) \
-  memset((void *)(isa_port2addr((unsigned long)a)),(b),(c))
-#define isa_memcpy_fromio(a,b,c) \
-  memcpy((a),(void *)(isa_port2addr((unsigned long)(b))),(c))
-#define isa_memcpy_toio(a,b,c) \
-  memcpy((void *)(isa_port2addr((unsigned long)(a))),(b),(c))
-
 /* We really want to try and get these to memcpy etc */
 extern void memcpy_fromio(void *, unsigned long, unsigned long);
 extern void memcpy_toio(unsigned long, const void *, unsigned long);
--- linux-2.6.14-mm2-full/arch/i386/Kconfig.old	2005-11-11 21:44:56.000000000 +0100
+++ linux-2.6.14-mm2-full/arch/i386/Kconfig	2005-11-11 21:45:09.000000000 +0100
@@ -307,6 +307,7 @@
 
 config TOSHIBA
 	tristate "Toshiba Laptop support"
+	depends on BROKEN
 	---help---
 	  This adds a driver to safely access the System Management Mode of
 	  the CPU on Toshiba portables with a genuine Toshiba BIOS. It does
--- linux-2.6.14-mm2-full/drivers/net/Kconfig.old	2005-11-11 21:52:55.000000000 +0100
+++ linux-2.6.14-mm2-full/drivers/net/Kconfig	2005-11-11 22:02:32.000000000 +0100
@@ -726,7 +726,7 @@
 
 config LANCE
 	tristate "AMD LANCE and PCnet (AT1500 and NE2100) support"
-	depends on NET_ETHERNET && ISA && ISA_DMA_API
+	depends on NET_ETHERNET && ISA && ISA_DMA_API && BROKEN
 	help
 	  If you have a network (Ethernet) card of this type, say Y and read
 	  the Ethernet-HOWTO, available from
@@ -935,7 +935,7 @@
 
 config HP100
 	tristate "HP 10/100VG PCLAN (ISA, EISA, PCI) support"
-	depends on NET_ETHERNET && (ISA || EISA || PCI)
+	depends on NET_ETHERNET && (ISA || EISA || PCI) && BROKEN
 	help
 	  If you have a network (Ethernet) card of this type, say Y and read
 	  the Ethernet-HOWTO, available from
@@ -1021,7 +1021,7 @@
 
 config HPLAN_PLUS
 	tristate "HP PCLAN+ (27247B and 27252A) support"
-	depends on NET_ISA
+	depends on NET_ISA && BROKEN
 	select CRC32
 	help
 	  If you have a network (Ethernet) card of this type, say Y and read
--- linux-2.6.14-mm2-full/drivers/net/arcnet/Kconfig.old	2005-11-11 21:45:50.000000000 +0100
+++ linux-2.6.14-mm2-full/drivers/net/arcnet/Kconfig	2005-11-11 21:46:22.000000000 +0100
@@ -80,7 +80,7 @@
 
 config ARCNET_COM90xx
 	tristate "ARCnet COM90xx (normal) chipset driver"
-	depends on ARCNET
+	depends on ARCNET && BROKEN
 	help
 	  This is the chipset driver for the standard COM90xx cards. If you
 	  have always used the old ARCnet driver without knowing what type of
@@ -105,7 +105,7 @@
 
 config ARCNET_RIM_I
 	tristate "ARCnet COM90xx (RIM I) chipset driver"
-	depends on ARCNET
+	depends on ARCNET && BROKEN
 	---help---
 	  This is yet another chipset driver for the COM90xx cards, but this
 	  time only using memory-mapped mode, and no IO ports at all. This
--- linux-2.6.14-mm2-full/drivers/scsi/Kconfig.old	2005-11-11 21:47:56.000000000 +0100
+++ linux-2.6.14-mm2-full/drivers/scsi/Kconfig	2005-11-11 21:48:17.000000000 +0100
@@ -474,7 +474,7 @@
 
 config SCSI_IN2000
 	tristate "Always IN2000 SCSI support"
-	depends on ISA && SCSI
+	depends on ISA && SCSI && BROKEN
 	help
 	  This is support for an ISA bus SCSI host adapter.  You'll find more
 	  information in <file:Documentation/scsi/in2000.txt>. If it doesn't work
--- linux-2.6.14-mm2-full/include/asm-arm/arch-aaec2000/io.h.old	2005-11-12 05:46:17.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-aaec2000/io.h	2005-11-12 05:46:35.000000000 +0100
@@ -16,6 +16,5 @@
  */
 #define __io(a)			((void __iomem *)(a))
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 #endif
--- linux-2.6.14-mm2-full/include/asm-arm/arch-clps711x/io.h.old	2005-11-12 05:46:40.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-clps711x/io.h	2005-11-12 05:46:47.000000000 +0100
@@ -26,7 +26,6 @@
 
 #define __io(a)			((void __iomem *)(a))
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 /*
  * We don't support ins[lb]/outs[lb].  Make them fault.
--- linux-2.6.14-mm2-full/include/asm-arm/arch-ebsa285/io.h.old	2005-11-12 05:47:02.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-ebsa285/io.h	2005-11-12 05:47:43.000000000 +0100
@@ -24,7 +24,6 @@
 #define __io(a)			((void __iomem *)(PCIO_BASE + (a)))
 #if 1
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		((a) + PCIMEM_BASE)
 #else
 
 static inline void __iomem *___mem_pci(void __iomem *p)
@@ -34,14 +33,7 @@
 	return p;
 }
 
-static inline void __iomem *___mem_isa(void __iomem *p)
-{
-	unsigned long a = (unsigned long)p;
-	BUG_ON(a >= 16*1048576);
-	return p + PCIMEM_BASE;
-}
 #define __mem_pci(a)		___mem_pci(a)
-#define __mem_isa(a)		___mem_isa(a)
 #endif
 
 #endif
--- linux-2.6.14-mm2-full/include/asm-arm/arch-integrator/io.h.old	2005-11-12 05:48:52.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-integrator/io.h	2005-11-12 05:48:56.000000000 +0100
@@ -32,6 +32,5 @@
 
 #define __io(a)			((void __iomem *)(PCI_IO_VADDR + (a)))
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		((a) + PCI_MEMORY_VADDR)
 
 #endif
--- linux-2.6.14-mm2-full/include/asm-arm/arch-iop3xx/io.h.old	2005-11-12 05:49:04.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-iop3xx/io.h	2005-11-12 05:49:07.000000000 +0100
@@ -17,6 +17,5 @@
 
 #define __io(p)			((void __iomem *)(p))
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 #endif
--- linux-2.6.14-mm2-full/include/asm-arm/arch-l7200/io.h.old	2005-11-12 05:49:23.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-l7200/io.h	2005-11-12 05:49:28.000000000 +0100
@@ -19,7 +19,6 @@
  */
 #define __io_pci(a)		((void __iomem *)(PCIO_BASE + (a)))
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 #define __ioaddr(p)             __io_pci(p)
 
--- linux-2.6.14-mm2-full/include/asm-arm/arch-lh7a40x/io.h.old	2005-11-12 05:49:42.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-lh7a40x/io.h	2005-11-12 05:49:47.000000000 +0100
@@ -18,6 +18,5 @@
 /* No ISA or PCI bus on this machine. */
 #define __io(a)			((void __iomem *)(a))
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 #endif /* __ASM_ARCH_IO_H */
--- linux-2.6.14-mm2-full/include/asm-arm/arch-omap/io.h.old	2005-11-12 05:49:57.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-omap/io.h	2005-11-12 05:50:01.000000000 +0100
@@ -44,7 +44,6 @@
  */
 #define __io(a)			((void __iomem *)(PCIO_BASE + (a)))
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 /*
  * ----------------------------------------------------------------------------
--- linux-2.6.14-mm2-full/include/asm-arm/arch-pxa/io.h.old	2005-11-12 05:50:11.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-pxa/io.h	2005-11-12 05:50:14.000000000 +0100
@@ -16,6 +16,5 @@
  */
 #define __io(a)			((void __iomem *)(a))
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 #endif
--- linux-2.6.14-mm2-full/include/asm-arm/arch-sa1100/io.h.old	2005-11-12 05:50:22.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-sa1100/io.h	2005-11-12 05:50:25.000000000 +0100
@@ -24,6 +24,5 @@
 }
 #define __io(a)			__io(a)
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 #endif
--- linux-2.6.14-mm2-full/include/asm-arm/arch-versatile/io.h.old	2005-11-12 05:50:34.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-versatile/io.h	2005-11-12 05:50:37.000000000 +0100
@@ -28,6 +28,5 @@
 }
 #define __io(a)	__io(a)
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 #endif
--- linux-2.6.14-mm2-full/include/asm-arm/arch-realview/io.h.old	2005-11-12 05:50:45.000000000 +0100
+++ linux-2.6.14-mm2-full/include/asm-arm/arch-realview/io.h	2005-11-12 05:50:48.000000000 +0100
@@ -29,6 +29,5 @@
 
 #define __io(a)			__io(a)
 #define __mem_pci(a)		(a)
-#define __mem_isa(a)		(a)
 
 #endif


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [RFC: 2.6 patch] remove ISA legacy functions
  2005-11-12  4:52             ` [RFC: 2.6 patch] remove ISA legacy functions Adrian Bunk
@ 2005-11-12  5:08               ` Jeff Garzik
  2005-11-12  5:11                 ` Matthew Wilcox
  2005-11-12  7:12               ` Christoph Hellwig
  1 sibling, 1 reply; 78+ messages in thread
From: Jeff Garzik @ 2005-11-12  5:08 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Andrew Morton, linux-kernel, linux-scsi, netdev, jonathan,
	tlinux-users, Jaroslav Kysela

Adrian Bunk wrote:
> This patch removes the ISA legacy functions that are deprecated since 
> kernel 2.4 and that aren't available on all architectures.
> 
> The 7 drivers that were still using this obsolete API are now marked
> as BROKEN.
> 
> 
> Signed-off-by: Adrian Bunk <bunk@stusta.de>

it's not valid to mark working drivers broken, IMO.

Mark them x86-only, perhaps.

	Jeff




^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [RFC: 2.6 patch] remove ISA legacy functions
  2005-11-12  5:08               ` Jeff Garzik
@ 2005-11-12  5:11                 ` Matthew Wilcox
  2005-11-12  5:27                   ` Jeff Garzik
  0 siblings, 1 reply; 78+ messages in thread
From: Matthew Wilcox @ 2005-11-12  5:11 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Adrian Bunk, Andrew Morton, linux-kernel, linux-scsi, netdev,
	jonathan, tlinux-users, Jaroslav Kysela

On Sat, Nov 12, 2005 at 12:08:29AM -0500, Jeff Garzik wrote:
> it's not valid to mark working drivers broken, IMO.
> 
> Mark them x86-only, perhaps.

hp100 works fine on parisc.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [RFC: 2.6 patch] remove ISA legacy functions
  2005-11-12  5:11                 ` Matthew Wilcox
@ 2005-11-12  5:27                   ` Jeff Garzik
  2005-11-12  5:29                     ` Matthew Wilcox
  0 siblings, 1 reply; 78+ messages in thread
From: Jeff Garzik @ 2005-11-12  5:27 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Adrian Bunk, Andrew Morton, linux-kernel, linux-scsi, netdev,
	jonathan, tlinux-users, Jaroslav Kysela

Matthew Wilcox wrote:
> On Sat, Nov 12, 2005 at 12:08:29AM -0500, Jeff Garzik wrote:
> 
>>it's not valid to mark working drivers broken, IMO.
>>
>>Mark them x86-only, perhaps.
> 
> 
> hp100 works fine on parisc.

Certainly.  The point was, don't mark them broken, limit them to the 
arches where they work.

	Jeff




^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [RFC: 2.6 patch] remove ISA legacy functions
  2005-11-12  5:27                   ` Jeff Garzik
@ 2005-11-12  5:29                     ` Matthew Wilcox
  2005-11-12 13:48                       ` Al Viro
  0 siblings, 1 reply; 78+ messages in thread
From: Matthew Wilcox @ 2005-11-12  5:29 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Adrian Bunk, Andrew Morton, linux-kernel, linux-scsi, netdev,
	jonathan, tlinux-users, Jaroslav Kysela

On Sat, Nov 12, 2005 at 12:27:56AM -0500, Jeff Garzik wrote:
> Matthew Wilcox wrote:
> >On Sat, Nov 12, 2005 at 12:08:29AM -0500, Jeff Garzik wrote:
> >
> >>it's not valid to mark working drivers broken, IMO.
> >>
> >>Mark them x86-only, perhaps.
> >
> >
> >hp100 works fine on parisc.
> 
> Certainly.  The point was, don't mark them broken, limit them to the 
> arches where they work.

I think they work fine everywhere.  Adrian wants to remove the API they
use.

I think this is a bad idea.  The drivers should be converted.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [RFC: 2.6 patch] remove ISA legacy functions
  2005-11-12  4:52             ` [RFC: 2.6 patch] remove ISA legacy functions Adrian Bunk
  2005-11-12  5:08               ` Jeff Garzik
@ 2005-11-12  7:12               ` Christoph Hellwig
  1 sibling, 0 replies; 78+ messages in thread
From: Christoph Hellwig @ 2005-11-12  7:12 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Andrew Morton, linux-kernel, linux-scsi, netdev, jonathan,
	tlinux-users, Jaroslav Kysela, viro

On Sat, Nov 12, 2005 at 05:52:16AM +0100, Adrian Bunk wrote:
> This patch removes the ISA legacy functions that are deprecated since 
> kernel 2.4 and that aren't available on all architectures.
> 
> The 7 drivers that were still using this obsolete API are now marked
> as BROKEN.

NACK.  Al has patches pending to convert them to proper APIs, please
wait until after that patchseries has landed.


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [RFC: 2.6 patch] remove ISA legacy functions
  2005-11-12  5:29                     ` Matthew Wilcox
@ 2005-11-12 13:48                       ` Al Viro
  2005-11-16  3:56                         ` Al Viro
  0 siblings, 1 reply; 78+ messages in thread
From: Al Viro @ 2005-11-12 13:48 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Jeff Garzik, Adrian Bunk, Andrew Morton, linux-kernel, linux-scsi,
	netdev, jonathan, tlinux-users, Jaroslav Kysela

On Fri, Nov 11, 2005 at 10:29:18PM -0700, Matthew Wilcox wrote:
> I think they work fine everywhere.  Adrian wants to remove the API they
> use.
> 
> I think this is a bad idea.  The drivers should be converted.

They are - I'll send patches later today...

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [RFC: 2.6 patch] remove ISA legacy functions
  2005-11-12 13:48                       ` Al Viro
@ 2005-11-16  3:56                         ` Al Viro
  0 siblings, 0 replies; 78+ messages in thread
From: Al Viro @ 2005-11-16  3:56 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Jeff Garzik, Adrian Bunk, Andrew Morton, linux-kernel, linux-scsi,
	netdev, jonathan, tlinux-users, Jaroslav Kysela

On Sat, Nov 12, 2005 at 01:48:20PM +0000, Al Viro wrote:
> On Fri, Nov 11, 2005 at 10:29:18PM -0700, Matthew Wilcox wrote:
> > I think they work fine everywhere.  Adrian wants to remove the API they
> > use.
> > 
> > I think this is a bad idea.  The drivers should be converted.
> 
> They are - I'll send patches later today...

NB: never say these words on a Friday night or you'll get a visit from
Murphy.

Apologies for delay, patches sent.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2005-11-18  1:40 Adrian Bunk
  2005-11-18  1:50 ` Andrew Morton
  0 siblings, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2005-11-18  1:40 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

This patch was already sent on:
- 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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  1:40 [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
@ 2005-11-18  1:50 ` Andrew Morton
  2005-11-18  2:06   ` Adrian Bunk
  2005-11-19 13:44   ` Jesper Juhl
  0 siblings, 2 replies; 78+ messages in thread
From: Andrew Morton @ 2005-11-18  1:50 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel

Adrian Bunk <bunk@stusta.de> wrote:
>
> virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated 
> on i386.
> 

Problem is, nobody's fixing these things.  There's no point in adding spam
to the kernel build unless it actually gets us some action, and I haven't
seen any evidence that it does.

Stick it under CONFIG_I_AM_A_DEVELOPER_WHO_HAS_TIME_TO_FIX_STUFF.


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  1:50 ` Andrew Morton
@ 2005-11-18  2:06   ` Adrian Bunk
  2005-11-18  2:20     ` Andrew Morton
  2005-11-19 13:44   ` Jesper Juhl
  1 sibling, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2005-11-18  2:06 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Nov 17, 2005 at 05:50:15PM -0800, Andrew Morton wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated 
> > on i386.
> > 
> 
> Problem is, nobody's fixing these things.  There's no point in adding spam
> to the kernel build unless it actually gets us some action, and I haven't
> seen any evidence that it does.
> 
> Stick it under CONFIG_I_AM_A_DEVELOPER_WHO_HAS_TIME_TO_FIX_STUFF.

I'm used to the fact that every single BROKEN_ON_SMP driver generates 
tons of such warnings that I don't see why these warnings should be any 
bad...

If you dislike the warnings, you could move the whole __deprecated und a 
config option.

In the case of virt_to_bus/bus_to_virt I had the hope that e.g. the ATM 
drivers that seem to have an active maintainer might get fixed.

But I'm not religious regarding this issue as long as you accept my 
-Werror-implicit-function-declaration patch...

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  2:06   ` Adrian Bunk
@ 2005-11-18  2:20     ` Andrew Morton
  2005-11-18  2:44       ` Adrian Bunk
  0 siblings, 1 reply; 78+ messages in thread
From: Andrew Morton @ 2005-11-18  2:20 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel

Adrian Bunk <bunk@stusta.de> wrote:
>
> On Thu, Nov 17, 2005 at 05:50:15PM -0800, Andrew Morton wrote:
> > Adrian Bunk <bunk@stusta.de> wrote:
> > >
> > > virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated 
> > > on i386.
> > > 
> > 
> > Problem is, nobody's fixing these things.  There's no point in adding spam
> > to the kernel build unless it actually gets us some action, and I haven't
> > seen any evidence that it does.
> > 
> > Stick it under CONFIG_I_AM_A_DEVELOPER_WHO_HAS_TIME_TO_FIX_STUFF.
> 
> I'm used to the fact that every single BROKEN_ON_SMP driver generates 
> tons of such warnings that I don't see why these warnings should be any 
> bad...

I frequently (daily) get patches which spit new warnings.  Sometimes
(~weekly) those warnings indicate real bugs in the patch.

I believe that the main reason for this is that the developers simply don't
notice the new warning amongst all the noise.

> If you dislike the warnings, you could move the whole __deprecated und a 
> config option.
> 
> In the case of virt_to_bus/bus_to_virt I had the hope that e.g. the ATM 
> drivers that seem to have an active maintainer might get fixed.

That would be good - but perhaps a better approach would be to send pointed
emails to the maintainer.  Or to merge lameo patches to remove
virt_to_bus() so he has to fix it for real ;)

> But I'm not religious regarding this issue as long as you accept my 
> -Werror-implicit-function-declaration patch...

Problem is, I'm the sucker who takes the brunt of that change.  It'd be
best to fix up the warnings _before_ adding the make-it-break patch.


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  2:20     ` Andrew Morton
@ 2005-11-18  2:44       ` Adrian Bunk
  2005-11-18  2:55         ` Andrew Morton
  0 siblings, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2005-11-18  2:44 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Nov 17, 2005 at 06:20:47PM -0800, Andrew Morton wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > On Thu, Nov 17, 2005 at 05:50:15PM -0800, Andrew Morton wrote:
> > > Adrian Bunk <bunk@stusta.de> wrote:
> > > >
> > > > virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated 
> > > > on i386.
> > > > 
> > > 
> > > Problem is, nobody's fixing these things.  There's no point in adding spam
> > > to the kernel build unless it actually gets us some action, and I haven't
> > > seen any evidence that it does.
> > > 
> > > Stick it under CONFIG_I_AM_A_DEVELOPER_WHO_HAS_TIME_TO_FIX_STUFF.
> > 
> > I'm used to the fact that every single BROKEN_ON_SMP driver generates 
> > tons of such warnings that I don't see why these warnings should be any 
> > bad...
> 
> I frequently (daily) get patches which spit new warnings.  Sometimes
> (~weekly) those warnings indicate real bugs in the patch.
> 
> I believe that the main reason for this is that the developers simply don't
> notice the new warning amongst all the noise.

There are few areas in the kernel that spit that many warnings that you 
might not see new ones .

The developers not noticing the warnings might often be the same 
developers who send patches that don't compile...

> > If you dislike the warnings, you could move the whole __deprecated und a 
> > config option.
> > 
> > In the case of virt_to_bus/bus_to_virt I had the hope that e.g. the ATM 
> > drivers that seem to have an active maintainer might get fixed.
> 
> That would be good - but perhaps a better approach would be to send pointed
> emails to the maintainer.  Or to merge lameo patches to remove
> virt_to_bus() so he has to fix it for real ;)

In the case of virt_to_bus/bus_to_virt there are stil many places in the 
kernel using it, and several of them are well maintained.

IMHO the warnings are the best solution for getting a vast amount fixed, 
and then it's time to think about the rest.

> > But I'm not religious regarding this issue as long as you accept my 
> > -Werror-implicit-function-declaration patch...
> 
> Problem is, I'm the sucker who takes the brunt of that change.  It'd be
> best to fix up the warnings _before_ adding the make-it-break patch.

-Werror-implicit-function-declaration doesn't add new warnings, it turns 
a specific kind of warnings that can indicate nasty runtime errors into 
compile errors.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  2:44       ` Adrian Bunk
@ 2005-11-18  2:55         ` Andrew Morton
  2005-11-18  3:17           ` Dave Jones
  0 siblings, 1 reply; 78+ messages in thread
From: Andrew Morton @ 2005-11-18  2:55 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel

Adrian Bunk <bunk@stusta.de> wrote:
>
> > 
> > I believe that the main reason for this is that the developers simply don't
> > notice the new warning amongst all the noise.
> 
> There are few areas in the kernel that spit that many warnings that you 
> might not see new ones .
> 
> The developers not noticing the warnings might often be the same 
> developers who send patches that don't compile...

Some architectures generate a lot more warnings than x86.

> > > If you dislike the warnings, you could move the whole __deprecated und a 
> > > config option.
> > > 
> > > In the case of virt_to_bus/bus_to_virt I had the hope that e.g. the ATM 
> > > drivers that seem to have an active maintainer might get fixed.
> > 
> > That would be good - but perhaps a better approach would be to send pointed
> > emails to the maintainer.  Or to merge lameo patches to remove
> > virt_to_bus() so he has to fix it for real ;)
> 
> In the case of virt_to_bus/bus_to_virt there are stil many places in the 
> kernel using it, and several of them are well maintained.
> 
> IMHO the warnings are the best solution for getting a vast amount fixed, 
> and then it's time to think about the rest.

But the warnings don't *work*.  I'm *still* staring at stupid pm_register
and intermodule_foo warnings.  How long has that been?

> > > But I'm not religious regarding this issue as long as you accept my 
> > > -Werror-implicit-function-declaration patch...
> > 
> > Problem is, I'm the sucker who takes the brunt of that change.  It'd be
> > best to fix up the warnings _before_ adding the make-it-break patch.
> 
> -Werror-implicit-function-declaration doesn't add new warnings, it turns 
> a specific kind of warnings that can indicate nasty runtime errors into 
> compile errors.

I know, that's why the patch hurts so much.  As I say, we'd be better off
fixing up all the warnings we can before turning them into build errors.


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  2:55         ` Andrew Morton
@ 2005-11-18  3:17           ` Dave Jones
  2005-11-18  3:42             ` David S. Miller
  0 siblings, 1 reply; 78+ messages in thread
From: Dave Jones @ 2005-11-18  3:17 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Adrian Bunk, linux-kernel

On Thu, Nov 17, 2005 at 06:55:29PM -0800, Andrew Morton wrote:

 > > IMHO the warnings are the best solution for getting a vast amount fixed, 
 > > and then it's time to think about the rest.
 > 
 > But the warnings don't *work*.  I'm *still* staring at stupid pm_register
 > and intermodule_foo warnings.  How long has that been?

Too long.  I think the mtd stuff won't ever get fixed until after that
function gets removed.

		Dave

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  3:17           ` Dave Jones
@ 2005-11-18  3:42             ` David S. Miller
  2005-11-18  4:03               ` Andrew Morton
  0 siblings, 1 reply; 78+ messages in thread
From: David S. Miller @ 2005-11-18  3:42 UTC (permalink / raw)
  To: davej; +Cc: akpm, bunk, linux-kernel

From: Dave Jones <davej@redhat.com>
Date: Thu, 17 Nov 2005 22:17:51 -0500

> On Thu, Nov 17, 2005 at 06:55:29PM -0800, Andrew Morton wrote:
> 
>  > > IMHO the warnings are the best solution for getting a vast amount fixed, 
>  > > and then it's time to think about the rest.
>  > 
>  > But the warnings don't *work*.  I'm *still* staring at stupid pm_register
>  > and intermodule_foo warnings.  How long has that been?
> 
> Too long.  I think the mtd stuff won't ever get fixed until after that
> function gets removed.

That's unfortunate considering we did cure the DRM cases :-)

My only thought is that virt_to_bus() and friends are a special case
because they mean compilation failure on most non-x86 platforms.

And frankly, __deprecated serves a different purpose as far as I'm
concerned.  It let's people working on stuff outside the tree know
that "oops you shouldn't be using that interface".

The deprecated warnings are so easy to filter out, so I don't think
noise is a good argument.  I see them all the time too.

The whole DMA API we have today was added 4+ years ago specifically
to get rid of virt_to_bus() and friends.  It's been mostly successful,
but one last nudge like this deprecation marking might help get us over
the edge and finally delete the thing for good. :-)

Anyways, my 2cents.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  3:42             ` David S. Miller
@ 2005-11-18  4:03               ` Andrew Morton
  2005-11-18  4:11                 ` Dave Jones
  2005-11-19  0:34                 ` Sam Ravnborg
  0 siblings, 2 replies; 78+ messages in thread
From: Andrew Morton @ 2005-11-18  4:03 UTC (permalink / raw)
  To: David S. Miller; +Cc: davej, bunk, linux-kernel

"David S. Miller" <davem@davemloft.net> wrote:
>
> The deprecated warnings are so easy to filter out, so I don't think
>  noise is a good argument.  I see them all the time too.

That works for you and me.  But how to train all those people who write
warny patches?


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  4:03               ` Andrew Morton
@ 2005-11-18  4:11                 ` Dave Jones
  2005-11-19  0:34                 ` Sam Ravnborg
  1 sibling, 0 replies; 78+ messages in thread
From: Dave Jones @ 2005-11-18  4:11 UTC (permalink / raw)
  To: Andrew Morton; +Cc: David S. Miller, bunk, linux-kernel

On Thu, Nov 17, 2005 at 08:03:54PM -0800, Andrew Morton wrote:
 > "David S. Miller" <davem@davemloft.net> wrote:
 > >
 > > The deprecated warnings are so easy to filter out, so I don't think
 > >  noise is a good argument.  I see them all the time too.
 > 
 > That works for you and me.  But how to train all those people who write
 > warny patches?

Lots of poking with pointy sticks.  And -Werror.
(Just kidding, except for the bit about the sticks).

Seriously, you've caught me out pretty quickly after I've introduced
warnings in cpufreq/agpgart, for which I'm thankful. This does put
extra pressure on you though, and you've got better things to be
doing than sending nag emails.

		Dave


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  4:03               ` Andrew Morton
  2005-11-18  4:11                 ` Dave Jones
@ 2005-11-19  0:34                 ` Sam Ravnborg
  2005-11-19  0:39                   ` Dave Jones
                                     ` (3 more replies)
  1 sibling, 4 replies; 78+ messages in thread
From: Sam Ravnborg @ 2005-11-19  0:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: David S. Miller, davej, bunk, linux-kernel

On Thu, Nov 17, 2005 at 08:03:54PM -0800, Andrew Morton wrote:
> "David S. Miller" <davem@davemloft.net> wrote:
> >
> > The deprecated warnings are so easy to filter out, so I don't think
> >  noise is a good argument.  I see them all the time too.
> 
> That works for you and me.  But how to train all those people who write
> warny patches?

Would it work to use -Werror only on some parts of the kernel.
Thinking of teaching kbuild to recursively apply a flags to gcc.

Then we could say that kernel/ should be warning free (to a start).

	Sam

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-19  0:34                 ` Sam Ravnborg
@ 2005-11-19  0:39                   ` Dave Jones
  2005-11-19  1:19                   ` David S. Miller
                                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 78+ messages in thread
From: Dave Jones @ 2005-11-19  0:39 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Andrew Morton, David S. Miller, bunk, linux-kernel

On Sat, Nov 19, 2005 at 01:34:35AM +0100, Sam Ravnborg wrote:
 > On Thu, Nov 17, 2005 at 08:03:54PM -0800, Andrew Morton wrote:
 > > "David S. Miller" <davem@davemloft.net> wrote:
 > > >
 > > > The deprecated warnings are so easy to filter out, so I don't think
 > > >  noise is a good argument.  I see them all the time too.
 > > 
 > > That works for you and me.  But how to train all those people who write
 > > warny patches?
 > 
 > Would it work to use -Werror only on some parts of the kernel.
 > Thinking of teaching kbuild to recursively apply a flags to gcc.

Only if you also add a load of gcc switches to disable some
of the more pointless warnings, and also can live with released
kernels breaking each time a new gcc gets released.

It's an uphill battle, which is why I only suggested it in
a humourous context.

		Dave


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-19  0:34                 ` Sam Ravnborg
  2005-11-19  0:39                   ` Dave Jones
@ 2005-11-19  1:19                   ` David S. Miller
  2005-11-19 20:44                     ` Adrian Bunk
  2005-11-19 20:51                   ` Adrian Bunk
  2005-11-20 23:27                   ` Pavel Machek
  3 siblings, 1 reply; 78+ messages in thread
From: David S. Miller @ 2005-11-19  1:19 UTC (permalink / raw)
  To: sam; +Cc: akpm, davej, bunk, linux-kernel

From: Sam Ravnborg <sam@ravnborg.org>
Date: Sat, 19 Nov 2005 01:34:35 +0100

> On Thu, Nov 17, 2005 at 08:03:54PM -0800, Andrew Morton wrote:
> > "David S. Miller" <davem@davemloft.net> wrote:
> > >
> > > The deprecated warnings are so easy to filter out, so I don't think
> > >  noise is a good argument.  I see them all the time too.
> > 
> > That works for you and me.  But how to train all those people who write
> > warny patches?
> 
> Would it work to use -Werror only on some parts of the kernel.
> Thinking of teaching kbuild to recursively apply a flags to gcc.
> 
> Then we could say that kernel/ should be warning free (to a start).

Many ports already add -Werror to the CFLAGS via their
arch/${ARCH}/* makefiles.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-18  1:50 ` Andrew Morton
  2005-11-18  2:06   ` Adrian Bunk
@ 2005-11-19 13:44   ` Jesper Juhl
  1 sibling, 0 replies; 78+ messages in thread
From: Jesper Juhl @ 2005-11-19 13:44 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Adrian Bunk, linux-kernel

On 11/18/05, Andrew Morton <akpm@osdl.org> wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated
> > on i386.
> >
>
> Problem is, nobody's fixing these things.  There's no point in adding spam
> to the kernel build unless it actually gets us some action, and I haven't
> seen any evidence that it does.
>
I for one was not aware that these functions were considered to be
deprecated, some log "spam" would have alerted me to that fact.

I'll take a look at fixing up some of these, just need to go dig up
some docs on what the replacements are first, so be patient...

--
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-19  1:19                   ` David S. Miller
@ 2005-11-19 20:44                     ` Adrian Bunk
  0 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2005-11-19 20:44 UTC (permalink / raw)
  To: David S. Miller; +Cc: sam, akpm, davej, linux-kernel

On Fri, Nov 18, 2005 at 05:19:43PM -0800, David S. Miller wrote:
> From: Sam Ravnborg <sam@ravnborg.org>
> Date: Sat, 19 Nov 2005 01:34:35 +0100
> 
> > On Thu, Nov 17, 2005 at 08:03:54PM -0800, Andrew Morton wrote:
> > > "David S. Miller" <davem@davemloft.net> wrote:
> > > >
> > > > The deprecated warnings are so easy to filter out, so I don't think
> > > >  noise is a good argument.  I see them all the time too.
> > > 
> > > That works for you and me.  But how to train all those people who write
> > > warny patches?
> > 
> > Would it work to use -Werror only on some parts of the kernel.
> > Thinking of teaching kbuild to recursively apply a flags to gcc.
> > 
> > Then we could say that kernel/ should be warning free (to a start).
> 
> Many ports already add -Werror to the CFLAGS via their
> arch/${ARCH}/* makefiles.

They only add it to EXTRA_CFLAGS for one specifig subdirectory.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-19  0:34                 ` Sam Ravnborg
  2005-11-19  0:39                   ` Dave Jones
  2005-11-19  1:19                   ` David S. Miller
@ 2005-11-19 20:51                   ` Adrian Bunk
  2005-11-19 21:01                     ` Sam Ravnborg
  2005-11-20 23:27                   ` Pavel Machek
  3 siblings, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2005-11-19 20:51 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Andrew Morton, David S. Miller, davej, linux-kernel

On Sat, Nov 19, 2005 at 01:34:35AM +0100, Sam Ravnborg wrote:
> On Thu, Nov 17, 2005 at 08:03:54PM -0800, Andrew Morton wrote:
> > "David S. Miller" <davem@davemloft.net> wrote:
> > >
> > > The deprecated warnings are so easy to filter out, so I don't think
> > >  noise is a good argument.  I see them all the time too.
> > 
> > That works for you and me.  But how to train all those people who write
> > warny patches?
> 
> Would it work to use -Werror only on some parts of the kernel.
> Thinking of teaching kbuild to recursively apply a flags to gcc.
> 
> Then we could say that kernel/ should be warning free (to a start).

We can do better as we do currently, but we cannever get the kernel 100% 
warning free for all supported kernel configurations and all supported 
gcc versions.

E.g. gcc emitting some "unused variable" warnings when compiling with 
CONFIG_PCI=n is quite common, and although they could all be fixed there 
will always be some warnings with unusual kernel configurations.

> 	Sam

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-19 20:51                   ` Adrian Bunk
@ 2005-11-19 21:01                     ` Sam Ravnborg
  0 siblings, 0 replies; 78+ messages in thread
From: Sam Ravnborg @ 2005-11-19 21:01 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, David S. Miller, davej, linux-kernel

On Sat, Nov 19, 2005 at 09:51:20PM +0100, Adrian Bunk wrote:
> On Sat, Nov 19, 2005 at 01:34:35AM +0100, Sam Ravnborg wrote:
> > On Thu, Nov 17, 2005 at 08:03:54PM -0800, Andrew Morton wrote:
> > > "David S. Miller" <davem@davemloft.net> wrote:
> > > >
> > > > The deprecated warnings are so easy to filter out, so I don't think
> > > >  noise is a good argument.  I see them all the time too.
> > > 
> > > That works for you and me.  But how to train all those people who write
> > > warny patches?
> > 
> > Would it work to use -Werror only on some parts of the kernel.
> > Thinking of teaching kbuild to recursively apply a flags to gcc.
> > 
> > Then we could say that kernel/ should be warning free (to a start).
> 
> We can do better as we do currently, but we cannever get the kernel 100% 
> warning free for all supported kernel configurations and all supported 
> gcc versions.
> 
> E.g. gcc emitting some "unused variable" warnings when compiling with 
> CONFIG_PCI=n is quite common, and although they could all be fixed there 
> will always be some warnings with unusual kernel configurations.

I had no issue with adding more gcc flags, but this is a very valid
argument. So I will for now not do it.
>From a kbuild perspective it could be useful in other situations
to have the possibility to add a variable that was set also and only in
sub-directories. But I will not dive into it before a better reason show
up.

	Sam

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-19  0:34                 ` Sam Ravnborg
                                     ` (2 preceding siblings ...)
  2005-11-19 20:51                   ` Adrian Bunk
@ 2005-11-20 23:27                   ` Pavel Machek
  2005-11-21  4:27                     ` David S. Miller
  3 siblings, 1 reply; 78+ messages in thread
From: Pavel Machek @ 2005-11-20 23:27 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Andrew Morton, David S. Miller, davej, bunk, linux-kernel

On Sat 19-11-05 01:34:35, Sam Ravnborg wrote:
> On Thu, Nov 17, 2005 at 08:03:54PM -0800, Andrew Morton wrote:
> > "David S. Miller" <davem@davemloft.net> wrote:
> > >
> > > The deprecated warnings are so easy to filter out, so I don't think
> > >  noise is a good argument.  I see them all the time too.
> > 
> > That works for you and me.  But how to train all those people who write
> > warny patches?
> 
> Would it work to use -Werror only on some parts of the kernel.
> Thinking of teaching kbuild to recursively apply a flags to gcc.
> 
> Then we could say that kernel/ should be warning free (to a start).

Well, please don't do that. -Werror makes development very painful.

							Pavel
-- 
64 bytes from 195.113.31.123: icmp_seq=28 ttl=51 time=448769.1 ms         


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2005-11-20 23:27                   ` Pavel Machek
@ 2005-11-21  4:27                     ` David S. Miller
  0 siblings, 0 replies; 78+ messages in thread
From: David S. Miller @ 2005-11-21  4:27 UTC (permalink / raw)
  To: pavel; +Cc: sam, akpm, davej, bunk, linux-kernel

From: Pavel Machek <pavel@suse.cz>
Date: Sun, 20 Nov 2005 23:27:32 +0000

> Well, please don't do that. -Werror makes development very painful.

I've had all of arch/sparc64 in -Werror mode for more than a year,
and it's anything but painful.  It's prevented me from introducing
numerous bugs inadvertantly.

People miss warnings or flat out ignore them, if the build fails they
will have to fix it up instead before sending in their changes.

Yes, for a spot like kernel/ it's more difficult since it's
compilation is influenced by so many configuration and platform
specific stuff, but that's just too bad.  Getting it warning free is
still something we can and should do.

Saying it's too hard, so we shouldn't even try, is a self-fufilling
prophecy.  I definitely want to add -Werror to net/ very very soon.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2005-11-23 22:34 Adrian Bunk
  0 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2005-11-23 22:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

This patch was already sent on:
- 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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2005-12-13 17:02 Adrian Bunk
  0 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2005-12-13 17:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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.


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

This patch was already sent on:
- 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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2006-01-06 13:27 Adrian Bunk
  2006-01-07  9:51 ` Andrew Morton
  0 siblings, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2006-01-06 13:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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.


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

This patch was already sent on:
- 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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-01-06 13:27 Adrian Bunk
@ 2006-01-07  9:51 ` Andrew Morton
  2006-01-07 10:53   ` Adrian Bunk
  0 siblings, 1 reply; 78+ messages in thread
From: Andrew Morton @ 2006-01-07  9:51 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel

Adrian Bunk <bunk@stusta.de> wrote:
>
> virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated 
>  on i386.

This spews screenfuls of crap at me.  Crap which nobody is going to fix.

Sorry, nope.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-01-07  9:51 ` Andrew Morton
@ 2006-01-07 10:53   ` Adrian Bunk
  0 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-01-07 10:53 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Sat, Jan 07, 2006 at 01:51:43AM -0800, Andrew Morton wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated 
> >  on i386.
> 
> This spews screenfuls of crap at me.  Crap which nobody is going to fix.
> 
> Sorry, nope.

This is the usual chicken and egg problem:

Without a warning noone will fix the code.

And yes, some of the drivers affected seem to be maintained (and 
49 warnings come from OSS drivers with ALSA replacements another patch 
I sent removes from the kernel).

They might not show up in your all*config builds that set SMP=y, but the 
warnings with my patch aren't worse than the one's BROKEN_ON_SMP drivers 
are spitting.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2006-04-18 22:07 Adrian Bunk
  2006-04-18 22:19 ` Roland Dreier
       [not found] ` <20060419051355.GI4825@rhun.haifa.ibm.com>
  0 siblings, 2 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-04-18 22:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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@stusta.de>

---

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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-04-18 22:07 Adrian Bunk
@ 2006-04-18 22:19 ` Roland Dreier
       [not found] ` <20060419051355.GI4825@rhun.haifa.ibm.com>
  1 sibling, 0 replies; 78+ messages in thread
From: Roland Dreier @ 2006-04-18 22:19 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

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

Ugh, the pathscale guys snuck that one past me in the ipath merge.
I'll see what I can do about it...

 - R.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
       [not found] ` <20060419051355.GI4825@rhun.haifa.ibm.com>
@ 2006-04-19 18:07   ` Adrian Bunk
  2006-04-19 18:21     ` linux-os (Dick Johnson)
       [not found]     ` <20060419184957.GK4825@rhun.haifa.ibm.com>
  0 siblings, 2 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-04-19 18:07 UTC (permalink / raw)
  To: Muli Ben-Yehuda; +Cc: Andrew Morton, linux-kernel

On Wed, Apr 19, 2006 at 08:13:55AM +0300, Muli Ben-Yehuda wrote:
> On Wed, Apr 19, 2006 at 12:07:15AM +0200, Adrian Bunk wrote:
> > virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated 
> > on i386.
> 
> You should probably update Documentation/ while you're at it.

Which file under Documentation/ are you referring to?

> Also, IIRC Xen uses virt_to_phys to return guest physical addresses
> and virt_to_bus to return machine physical addresses, so the
> difference is useful at least in some scenarios.

Solving this should be easy.

And this still doesn't make it right for architecture independent 
drivers to use virt_to_bus/bus_to_virt.

> Cheers,
> Muli

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-04-19 18:07   ` Adrian Bunk
@ 2006-04-19 18:21     ` linux-os (Dick Johnson)
  2006-04-19 19:23       ` Arjan van de Ven
       [not found]     ` <20060419184957.GK4825@rhun.haifa.ibm.com>
  1 sibling, 1 reply; 78+ messages in thread
From: linux-os (Dick Johnson) @ 2006-04-19 18:21 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Muli Ben-Yehuda, Andrew Morton, linux-kernel


On Wed, 19 Apr 2006, Adrian Bunk wrote:

> On Wed, Apr 19, 2006 at 08:13:55AM +0300, Muli Ben-Yehuda wrote:
>> On Wed, Apr 19, 2006 at 12:07:15AM +0200, Adrian Bunk wrote:
>>> virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated
>>> on i386.
>>
>> You should probably update Documentation/ while you're at it.
>
> Which file under Documentation/ are you referring to?
>
>> Also, IIRC Xen uses virt_to_phys to return guest physical addresses
>> and virt_to_bus to return machine physical addresses, so the
>> difference is useful at least in some scenarios.
>
> Solving this should be easy.
>
> And this still doesn't make it right for architecture independent
> drivers to use virt_to_bus/bus_to_virt.

Then what would you use to return the proper bus address to put
into a DMA scatter list and, conversely, how would you convert
those bus addresses into something a virtual mode CPU could
access?  These macros used to be the link that made such driver
coding architecture independent. You cannot just claim that
one can't make such conversions anymore. The CPU uses virtual
addresses and the DMA uses physical (bus) addresses. Do we
throw away DMA altogether?

>
>> Cheers,
>> Muli
>
> cu
> Adrian
>
> --
>
>       "Is there not promise of rain?" Ling Tan asked suddenly out
>        of the darkness. There had been need of rain for many days.
>       "Only a promise," Lao Er said.
>                                       Pearl S. Buck - Dragon Seed
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

Cheers,
Dick Johnson
Penguin : Linux version 2.6.15.4 on an i686 machine (5589.53 BogoMips).
Warning : 98.36% of all statistics are fiction, book release in April.
_
\x1a\x04

****************************************************************
The information transmitted in this message is confidential and may be privileged.  Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited.  If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-04-19 18:21     ` linux-os (Dick Johnson)
@ 2006-04-19 19:23       ` Arjan van de Ven
  0 siblings, 0 replies; 78+ messages in thread
From: Arjan van de Ven @ 2006-04-19 19:23 UTC (permalink / raw)
  To: linux-os (Dick Johnson)
  Cc: Adrian Bunk, Muli Ben-Yehuda, Andrew Morton, linux-kernel

On Wed, 2006-04-19 at 14:21 -0400, linux-os (Dick Johnson) wrote:
> On Wed, 19 Apr 2006, Adrian Bunk wrote:
> 
> > On Wed, Apr 19, 2006 at 08:13:55AM +0300, Muli Ben-Yehuda wrote:
> >> On Wed, Apr 19, 2006 at 12:07:15AM +0200, Adrian Bunk wrote:
> >>> virt_to_bus/bus_to_virt are long deprecated, mark them as __deprecated
> >>> on i386.
> >>
> >> You should probably update Documentation/ while you're at it.
> >
> > Which file under Documentation/ are you referring to?
> >
> >> Also, IIRC Xen uses virt_to_phys to return guest physical addresses
> >> and virt_to_bus to return machine physical addresses, so the
> >> difference is useful at least in some scenarios.
> >
> > Solving this should be easy.
> >
> > And this still doesn't make it right for architecture independent
> > drivers to use virt_to_bus/bus_to_virt.
> 
> Then what would you use to return the proper bus address to put
> into a DMA scatter list and, conversely, how would you convert
> those bus addresses into something a virtual mode CPU could
> access?  These macros used to be the link that made such driver
> coding architecture independent. You cannot just claim that
> one can't make such conversions anymore. The CPU uses virtual
> addresses and the DMA uses physical (bus) addresses. Do we
> throw away DMA altogether?

since a long time the kernel has proper dma mapping API's for this, in
2.4 it's pci specific in 2.6 it's generic and bus agnostic.



^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
       [not found]     ` <20060419184957.GK4825@rhun.haifa.ibm.com>
@ 2006-04-19 22:55       ` Adrian Bunk
  0 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-04-19 22:55 UTC (permalink / raw)
  To: Muli Ben-Yehuda; +Cc: Andrew Morton, linux-kernel

On Wed, Apr 19, 2006 at 09:49:58PM +0300, Muli Ben-Yehuda wrote:
> On Wed, Apr 19, 2006 at 08:07:24PM +0200, Adrian Bunk wrote:
> 
> > Which file under Documentation/ are you referring to?
> 
> virt_to_bus() and bus_to_virt() appear in several files, in particular
> DMA-mapping.txt and IO-mapping.txt.

DMA-mapping.txt exlicitely states it's planned with 
virt_to_bus/bus_to_virt, and IO-mapping.txt starts with:

<--  snip  -->

[ NOTE: The virt_to_bus() and bus_to_virt() functions have been
        superseded by the functionality provided by the PCI DMA
        interface (see Documentation/DMA-mapping.txt).  They continue
        to be documented below for historical purposes, but new code
        must not use them. --davidm 00/12/12 ]

<--  snip  -->

Patches to update Documentation/ are always welcome, but these two files 
already explicitely mention virt_to_bus/bus_to_virt, as deprecated, so I 
still don't see any urgent action required.

> Cheers,
> Muli

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
       [not found] ` <fa.aQp/JAmWqmBjqeleRNK2yrIEx2o@ifi.uio.no>
@ 2006-04-22 21:57   ` Dave Olson
  0 siblings, 0 replies; 78+ messages in thread
From: Dave Olson @ 2006-04-22 21:57 UTC (permalink / raw)
  To: Roland Dreier; +Cc: Adrian Bunk, Andrew Morton, linux-kernel

On Tue, 18 Apr 2006, Roland Dreier wrote:

|     Adrian> As an example, the only usage of bus_to_virt() in the
|     Adrian> infiniband code was added in 2.6.17-rc1 (sic).
| 
| Ugh, the pathscale guys snuck that one past me in the ipath merge.
| I'll see what I can do about it...

Already fixed in our current code, with patches headed off to you
(Roland) very soon now...

Dave Olson
olson@pathscale.com
olson@unixfolk.com
http://www.unixfolk.com/dave

^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2006-04-27 20:33 Adrian Bunk
  0 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-04-27 20:33 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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.

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@stusta.de>

---

This patch was already sent on:
- 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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2006-06-26 15:10 Adrian Bunk
  2006-06-26 15:38 ` Dave Jones
  2006-06-26 15:48 ` Alan Cox
  0 siblings, 2 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-06-26 15:10 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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 ctches 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@stusta.de>

---

This patch was already sent on:
- 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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-26 15:10 Adrian Bunk
@ 2006-06-26 15:38 ` Dave Jones
  2006-06-26 15:46   ` Arjan van de Ven
  2006-06-26 16:14   ` Adrian Bunk
  2006-06-26 15:48 ` Alan Cox
  1 sibling, 2 replies; 78+ messages in thread
From: Dave Jones @ 2006-06-26 15:38 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

On Mon, Jun 26, 2006 at 05:10:12PM +0200, Adrian Bunk wrote:
 > 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 deprecating pm_send_all, cli, sti, restore_flags, check_region yadayada
has really been a great success at motivating people to fix those up too.

How about we fix up some of the existing noise before we add more?
A build log of a fedora kernel I had handy shows 165 deprecated warnings
that have been there forever.  Your proposal will add over 500 warnings
in drivers/ alone.

		Dave

-- 
http://www.codemonkey.org.uk

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-26 15:38 ` Dave Jones
@ 2006-06-26 15:46   ` Arjan van de Ven
  2006-06-26 15:54     ` Dave Jones
  2006-06-26 16:14   ` Adrian Bunk
  1 sibling, 1 reply; 78+ messages in thread
From: Arjan van de Ven @ 2006-06-26 15:46 UTC (permalink / raw)
  To: Dave Jones; +Cc: Adrian Bunk, Andrew Morton, linux-kernel

On Mon, 2006-06-26 at 11:38 -0400, Dave Jones wrote:
> On Mon, Jun 26, 2006 at 05:10:12PM +0200, Adrian Bunk wrote:
>  > 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 deprecating pm_send_all, cli, sti, restore_flags, check_region yadayada
> has really been a great success at motivating people to fix those up too.

cli/sti should just be removed, or at least have those drivers marked
BROKEN... nobody is apparently using them anyway...


Maybe depreciation needs to go together with a "will mark users broken
in X days, and will remove entirely in X+Y days".. and then stick to
it. 


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-26 15:10 Adrian Bunk
  2006-06-26 15:38 ` Dave Jones
@ 2006-06-26 15:48 ` Alan Cox
  1 sibling, 0 replies; 78+ messages in thread
From: Alan Cox @ 2006-06-26 15:48 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

Ar Llu, 2006-06-26 am 17:10 +0200, ysgrifennodd Adrian Bunk:
> 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.

Most of the uses of virt_to_bus/bus_to_virt are hardware that isn't even
available on obscure platforms like PPC64. Would still be good to get
these in and nailed.



^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-26 15:46   ` Arjan van de Ven
@ 2006-06-26 15:54     ` Dave Jones
  2006-06-27 14:27       ` Jan Engelhardt
  0 siblings, 1 reply; 78+ messages in thread
From: Dave Jones @ 2006-06-26 15:54 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Adrian Bunk, Andrew Morton, linux-kernel

On Mon, Jun 26, 2006 at 05:46:55PM +0200, Arjan van de Ven wrote:
 > On Mon, 2006-06-26 at 11:38 -0400, Dave Jones wrote:
 > > On Mon, Jun 26, 2006 at 05:10:12PM +0200, Adrian Bunk wrote:
 > >  > 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 deprecating pm_send_all, cli, sti, restore_flags, check_region yadayada
 > > has really been a great success at motivating people to fix those up too.
 > 
 > cli/sti should just be removed, or at least have those drivers marked
 > BROKEN... nobody is apparently using them anyway...

Just ISDN really.

		Dave

-- 
http://www.codemonkey.org.uk

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-26 15:38 ` Dave Jones
  2006-06-26 15:46   ` Arjan van de Ven
@ 2006-06-26 16:14   ` Adrian Bunk
  2006-06-26 16:45     ` Dave Jones
  1 sibling, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2006-06-26 16:14 UTC (permalink / raw)
  To: Dave Jones, Andrew Morton, linux-kernel

On Mon, Jun 26, 2006 at 11:38:35AM -0400, Dave Jones wrote:
> On Mon, Jun 26, 2006 at 05:10:12PM +0200, Adrian Bunk wrote:
>  > 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 deprecating pm_send_all, cli, sti, restore_flags, check_region yadayada
> has really been a great success at motivating people to fix those up too.

It has been a success, look at the numbers:

2.6.0     : 36 options depending on BROKEN_ON_SMP
2.6.17-mm2: 17 options depending on BROKEN_ON_SMP

2.6.7-mm7 : 20 drivers with warnings due to check_region
2.6.17-mm2:  3 drivers with warnings due to check_region

It's not that everything was fixed immediately, but there is definitely 
some progress.

> How about we fix up some of the existing noise before we add more?
> A build log of a fedora kernel I had handy shows 165 deprecated warnings
> that have been there forever.  Your proposal will add over 500 warnings
> in drivers/ alone.

There are few drivers generating many warnings, e.g. stallion+istallion 
alone give 138 __deprecated warnings only for cli/sti/restore_flags 
usage. Most of the code doesn't have any problems.

And my main motivation for getting virt_to_bus/bus_to_virt removed is 
the following:

If the virt_to_bus/bus_to_virt are fixed, Andrew might finally accept my 
patch to add -Werror-implicit-function-declaration to the CFLAGS (which 
he only rejected since it turned link errors into compile errors in his 
ppc64 builds). 

And -Werror-implicit-function-declaration is important since it will 
turn some nasty to debug runtime stack corruptions into compile errors.

> 		Dave

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-26 16:14   ` Adrian Bunk
@ 2006-06-26 16:45     ` Dave Jones
  0 siblings, 0 replies; 78+ messages in thread
From: Dave Jones @ 2006-06-26 16:45 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, linux-kernel

On Mon, Jun 26, 2006 at 06:14:11PM +0200, Adrian Bunk wrote:

 > If the virt_to_bus/bus_to_virt are fixed, Andrew might finally accept my 
 > patch to add -Werror-implicit-function-declaration to the CFLAGS (which 
 > he only rejected since it turned link errors into compile errors in his 
 > ppc64 builds). 

Indeed. That was so useful in fact that I added the same to the Fedora
kernel quite some time back.  Having a build fail in the first few minutes
is much preferable to having it fail after 15 minutes.

I've not encountered any breakage due to that for some time though.
Though perhaps Andrew had config options enabled that we disabled in
our builds.

		Dave

-- 
http://www.codemonkey.org.uk

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-26 15:54     ` Dave Jones
@ 2006-06-27 14:27       ` Jan Engelhardt
  2006-06-27 14:42         ` Arjan van de Ven
  2006-06-27 15:17         ` Alan Cox
  0 siblings, 2 replies; 78+ messages in thread
From: Jan Engelhardt @ 2006-06-27 14:27 UTC (permalink / raw)
  To: Dave Jones; +Cc: Arjan van de Ven, Adrian Bunk, Andrew Morton, linux-kernel

> > cli/sti should just be removed, or at least have those drivers marked
> > BROKEN... nobody is apparently using them anyway...
>
>Just ISDN really.
>
And ISDN is widespread in Germany (besides 56k and DSL(PPPOE)).


Jan Engelhardt
-- 

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-27 14:27       ` Jan Engelhardt
@ 2006-06-27 14:42         ` Arjan van de Ven
  2006-06-27 15:17         ` Alan Cox
  1 sibling, 0 replies; 78+ messages in thread
From: Arjan van de Ven @ 2006-06-27 14:42 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Dave Jones, Adrian Bunk, Andrew Morton, linux-kernel

On Tue, 2006-06-27 at 16:27 +0200, Jan Engelhardt wrote:
> > > cli/sti should just be removed, or at least have those drivers marked
> > > BROKEN... nobody is apparently using them anyway...
> >
> >Just ISDN really.
> >
> And ISDN is widespread in Germany (besides 56k and DSL(PPPOE)).
> 

so it really should be fixed ;-)



^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-27 14:27       ` Jan Engelhardt
  2006-06-27 14:42         ` Arjan van de Ven
@ 2006-06-27 15:17         ` Alan Cox
  2006-06-27 19:09           ` Jan Engelhardt
  1 sibling, 1 reply; 78+ messages in thread
From: Alan Cox @ 2006-06-27 15:17 UTC (permalink / raw)
  To: Jan Engelhardt
  Cc: Dave Jones, Arjan van de Ven, Adrian Bunk, Andrew Morton,
	linux-kernel

Ar Maw, 2006-06-27 am 16:27 +0200, ysgrifennodd Jan Engelhardt:
> > > cli/sti should just be removed, or at least have those drivers marked
> > > BROKEN... nobody is apparently using them anyway...
> >
> >Just ISDN really.
> >
> And ISDN is widespread in Germany (besides 56k and DSL(PPPOE)).

Then there should be lots of Germans eager to fix it when it gets dealt
with.

Alan


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-27 15:17         ` Alan Cox
@ 2006-06-27 19:09           ` Jan Engelhardt
  2006-06-27 19:17             ` Arjan van de Ven
  0 siblings, 1 reply; 78+ messages in thread
From: Jan Engelhardt @ 2006-06-27 19:09 UTC (permalink / raw)
  To: Alan Cox
  Cc: Dave Jones, Arjan van de Ven, Adrian Bunk, Andrew Morton,
	linux-kernel

>> > > cli/sti should just be removed, or at least have those drivers marked
>> > > BROKEN... nobody is apparently using them anyway...
>> >
>> >Just ISDN really.
>> >
>> And ISDN is widespread in Germany (besides 56k and DSL(PPPOE)).
>
>Then there should be lots of Germans eager to fix it when it gets dealt
>with.
>

/* Heh, heh */

So what do I need to replace cli/sti with?

Oh btw:
(linux-2.6.17)
21:05 shanghai:../drivers/isdn > grep cli'()'  -lr .
./hardware/avm/t1isa.c
./hysdn/boardergo.c
./hysdn/hysdn_proclog.c
./hysdn/hysdn_sched.c
./isdnloop/isdnloop.c

There does not really seem to be a lot of places (yes, isdnloop is full of 
it) to change. Especially HISAX has no cli/stis anymore as it seems, 
which, among AVM stuff, is commonly in use. I am running this one:
  00:0a.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN 
  interface (PCI, CONFIG_HISAX_NETJET)
previously I had a Teledat 100 (ISA, CONFIG_HISAX_SEDLBAUER) but had to 
replace that when I got a new motherboard with no ISA slots.


Have a nice day,
Jan Engelhardt
-- 

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-06-27 19:09           ` Jan Engelhardt
@ 2006-06-27 19:17             ` Arjan van de Ven
  0 siblings, 0 replies; 78+ messages in thread
From: Arjan van de Ven @ 2006-06-27 19:17 UTC (permalink / raw)
  To: Jan Engelhardt
  Cc: Alan Cox, Dave Jones, Adrian Bunk, Andrew Morton, linux-kernel

On Tue, 2006-06-27 at 21:09 +0200, Jan Engelhardt wrote:
> >> > > cli/sti should just be removed, or at least have those drivers marked
> >> > > BROKEN... nobody is apparently using them anyway...
> >> >
> >> >Just ISDN really.
> >> >
> >> And ISDN is widespread in Germany (besides 56k and DSL(PPPOE)).
> >
> >Then there should be lots of Germans eager to fix it when it gets dealt
> >with.
> >
> 
> /* Heh, heh */
> 
> So what do I need to replace cli/sti with?

proper spinlocks ;)

cli/sti assumed to disable interrupts on all processors, and so when an
old driver uses cli/sti it's sort of a lock against any interrupt
handler (yes this is locking code not data!). In general you need to
find out what data the author wanted to protect, and just create proper
locking for that data.  

yes this is not a mechanical transformation.. if it was it would have
been done already :)



^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2006-07-06 22:30 Adrian Bunk
  0 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-07-06 22:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

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@stusta.de>

---

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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-02 23:44 ` Adrian Bunk
@ 2006-10-03  1:22   ` Adrian Bunk
  2006-10-03  1:48     ` Nicholas Miell
                       ` (2 more replies)
  0 siblings, 3 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-10-03  1:22 UTC (permalink / raw)
  To: Judith Lebzelter; +Cc: linux-kernel, linuxppc-dev

On Tue, Oct 03, 2006 at 01:44:28AM +0200, Adrian Bunk wrote:
> On Mon, Oct 02, 2006 at 02:49:54PM -0700, Judith Lebzelter wrote:
> 
> > Hello:
> 
> Hi Judith,
> 
> > For the automated cross-compile builds at OSDL, powerpc 64-bit 
> > 'allmodconfig' is failing.  The warnings/errors below appear in 
> > the 'modpost' stage of kernel compiles for 2.6.18 and -mm2 kernels.
> 
> known for ages - the drivers need fixing.
> 
> You might want to convince Andrew accepting my patch to make 
> virt_to_bus/bus_to_virt give compile warnings on i386 for making
> people more aware of this problem...
>...

In case anyone is interested, the patch is below.

cu
Adrian


<--  snip  -->


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@stusta.de>

---

This patch was already sent on:
- 7 Jul 2006
- 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


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:22   ` [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
@ 2006-10-03  1:48     ` Nicholas Miell
  2006-10-03  1:58       ` Adrian Bunk
  2006-10-03  4:37       ` Benjamin Herrenschmidt
  2006-10-03  4:37     ` Benjamin Herrenschmidt
  2006-10-03 11:24     ` Alan Cox
  2 siblings, 2 replies; 78+ messages in thread
From: Nicholas Miell @ 2006-10-03  1:48 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Judith Lebzelter, linux-kernel, linuxppc-dev

On Tue, 2006-10-03 at 03:22 +0200, Adrian Bunk wrote:
> On Tue, Oct 03, 2006 at 01:44:28AM +0200, Adrian Bunk wrote:
> > On Mon, Oct 02, 2006 at 02:49:54PM -0700, Judith Lebzelter wrote:
> > 
> > > Hello:
> > 
> > Hi Judith,
> > 
> > > For the automated cross-compile builds at OSDL, powerpc 64-bit 
> > > 'allmodconfig' is failing.  The warnings/errors below appear in 
> > > the 'modpost' stage of kernel compiles for 2.6.18 and -mm2 kernels.
> > 
> > known for ages - the drivers need fixing.
> > 
> > You might want to convince Andrew accepting my patch to make 
> > virt_to_bus/bus_to_virt give compile warnings on i386 for making
> > people more aware of this problem...
> >...
> 
> In case anyone is interested, the patch is below.
> 
> cu
> Adrian
> 

Won't this also cause warnings for valid arch-specific usage (i.e. in
linux/arch/{i386,x86_64})?

-- 
Nicholas Miell <nmiell@comcast.net>


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:48     ` Nicholas Miell
@ 2006-10-03  1:58       ` Adrian Bunk
  2006-10-03  2:55         ` Nicholas Miell
  2006-10-03  4:37       ` Benjamin Herrenschmidt
  1 sibling, 1 reply; 78+ messages in thread
From: Adrian Bunk @ 2006-10-03  1:58 UTC (permalink / raw)
  To: Nicholas Miell; +Cc: Judith Lebzelter, linux-kernel, linuxppc-dev

On Mon, Oct 02, 2006 at 06:48:11PM -0700, Nicholas Miell wrote:
> On Tue, 2006-10-03 at 03:22 +0200, Adrian Bunk wrote:
> > On Tue, Oct 03, 2006 at 01:44:28AM +0200, Adrian Bunk wrote:
> > > On Mon, Oct 02, 2006 at 02:49:54PM -0700, Judith Lebzelter wrote:
> > > 
> > > > Hello:
> > > 
> > > Hi Judith,
> > > 
> > > > For the automated cross-compile builds at OSDL, powerpc 64-bit 
> > > > 'allmodconfig' is failing.  The warnings/errors below appear in 
> > > > the 'modpost' stage of kernel compiles for 2.6.18 and -mm2 kernels.
> > > 
> > > known for ages - the drivers need fixing.
> > > 
> > > You might want to convince Andrew accepting my patch to make 
> > > virt_to_bus/bus_to_virt give compile warnings on i386 for making
> > > people more aware of this problem...
> > >...
> > 
> > In case anyone is interested, the patch is below.
> > 
> > cu
> > Adrian
> > 
> 
> Won't this also cause warnings for valid arch-specific usage (i.e. in
> linux/arch/{i386,x86_64})?

They aren't used under linux/arch/i386/ and my patch doesn't change x86_64.

> Nicholas Miell <nmiell@comcast.net>

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:58       ` Adrian Bunk
@ 2006-10-03  2:55         ` Nicholas Miell
  0 siblings, 0 replies; 78+ messages in thread
From: Nicholas Miell @ 2006-10-03  2:55 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Judith Lebzelter, linux-kernel, linuxppc-dev

On Tue, 2006-10-03 at 03:58 +0200, Adrian Bunk wrote:
> On Mon, Oct 02, 2006 at 06:48:11PM -0700, Nicholas Miell wrote:
> > On Tue, 2006-10-03 at 03:22 +0200, Adrian Bunk wrote:
> > > On Tue, Oct 03, 2006 at 01:44:28AM +0200, Adrian Bunk wrote:
> > > > On Mon, Oct 02, 2006 at 02:49:54PM -0700, Judith Lebzelter wrote:
> > > > 
> > > > > Hello:
> > > > 
> > > > Hi Judith,
> > > > 
> > > > > For the automated cross-compile builds at OSDL, powerpc 64-bit 
> > > > > 'allmodconfig' is failing.  The warnings/errors below appear in 
> > > > > the 'modpost' stage of kernel compiles for 2.6.18 and -mm2 kernels.
> > > > 
> > > > known for ages - the drivers need fixing.
> > > > 
> > > > You might want to convince Andrew accepting my patch to make 
> > > > virt_to_bus/bus_to_virt give compile warnings on i386 for making
> > > > people more aware of this problem...
> > > >...
> > > 
> > > In case anyone is interested, the patch is below.
> > > 
> > > cu
> > > Adrian
> > > 
> > 
> > Won't this also cause warnings for valid arch-specific usage (i.e. in
> > linux/arch/{i386,x86_64})?
> 
> They aren't used under linux/arch/i386/ and my patch doesn't change x86_64.

Sorry, for some reason I thought isa_bus_to_virt and isa_virt_to_bus
were defined in terms of virt_to_bus/bus_to_virt instead of
virt_to_phys/phys_to_virt.


-- 
Nicholas Miell <nmiell@comcast.net>


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:22   ` [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
  2006-10-03  1:48     ` Nicholas Miell
@ 2006-10-03  4:37     ` Benjamin Herrenschmidt
  2006-10-03  4:44       ` Andrew Morton
  2006-10-03 11:24     ` Alan Cox
  2 siblings, 1 reply; 78+ messages in thread
From: Benjamin Herrenschmidt @ 2006-10-03  4:37 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Judith Lebzelter, linuxppc-dev, Linux Kernel list, Adrian Bunk

> > You might want to convince Andrew accepting my patch to make 
> > virt_to_bus/bus_to_virt give compile warnings on i386 for making
> > people more aware of this problem...
> >...

Andrew, is there any reason not to take that patch ?

> <--  snip  -->
> 
> 
> 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@stusta.de>
> 
> ---
> 
> This patch was already sent on:
> - 7 Jul 2006
> - 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
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:48     ` Nicholas Miell
  2006-10-03  1:58       ` Adrian Bunk
@ 2006-10-03  4:37       ` Benjamin Herrenschmidt
  2006-10-03 11:29         ` Alan Cox
  1 sibling, 1 reply; 78+ messages in thread
From: Benjamin Herrenschmidt @ 2006-10-03  4:37 UTC (permalink / raw)
  To: Nicholas Miell; +Cc: Adrian Bunk, linuxppc-dev, Judith Lebzelter, linux-kernel


> Won't this also cause warnings for valid arch-specific usage (i.e. in
> linux/arch/{i386,x86_64})?

I wouldn't cause that usage valid :)

Ben.



^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  4:37     ` Benjamin Herrenschmidt
@ 2006-10-03  4:44       ` Andrew Morton
  2006-10-03  4:49         ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 78+ messages in thread
From: Andrew Morton @ 2006-10-03  4:44 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Judith Lebzelter, linuxppc-dev, Linux Kernel list, Adrian Bunk

On Tue, 03 Oct 2006 14:37:25 +1000
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:

> > > You might want to convince Andrew accepting my patch to make 
> > > virt_to_bus/bus_to_virt give compile warnings on i386 for making
> > > people more aware of this problem...
> > >...
> 
> Andrew, is there any reason not to take that patch ?

It generates lots of warnings from drivers which nobody does any work on.

Net result: lots of new warnings, no fixed bugs.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  4:44       ` Andrew Morton
@ 2006-10-03  4:49         ` Benjamin Herrenschmidt
  2006-10-03  4:55           ` Andrew Morton
  2006-10-03  9:36           ` Stefan Richter
  0 siblings, 2 replies; 78+ messages in thread
From: Benjamin Herrenschmidt @ 2006-10-03  4:49 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Judith Lebzelter, linuxppc-dev, Linux Kernel list, Adrian Bunk

On Mon, 2006-10-02 at 21:44 -0700, Andrew Morton wrote:
> On Tue, 03 Oct 2006 14:37:25 +1000
> Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> 
> > > > You might want to convince Andrew accepting my patch to make 
> > > > virt_to_bus/bus_to_virt give compile warnings on i386 for making
> > > > people more aware of this problem...
> > > >...
> > 
> > Andrew, is there any reason not to take that patch ?
> 
> It generates lots of warnings from drivers which nobody does any work on.
> 
> Net result: lots of new warnings, no fixed bugs.

Are you sure the warnings won't cause somebody like Al to go through
them all and fix them ?

At least they should be marked either CONFIG_BROKEN or X86 only (or
whatever arch they are supposed to be used on).

Ben.



^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  4:49         ` Benjamin Herrenschmidt
@ 2006-10-03  4:55           ` Andrew Morton
  2006-10-03  5:07             ` Adrian Bunk
  2006-10-03  9:36           ` Stefan Richter
  1 sibling, 1 reply; 78+ messages in thread
From: Andrew Morton @ 2006-10-03  4:55 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Judith Lebzelter, linuxppc-dev, Linux Kernel list, Adrian Bunk

On Tue, 03 Oct 2006 14:49:39 +1000
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:

> On Mon, 2006-10-02 at 21:44 -0700, Andrew Morton wrote:
> > On Tue, 03 Oct 2006 14:37:25 +1000
> > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> > 
> > > > > You might want to convince Andrew accepting my patch to make 
> > > > > virt_to_bus/bus_to_virt give compile warnings on i386 for making
> > > > > people more aware of this problem...
> > > > >...
> > > 
> > > Andrew, is there any reason not to take that patch ?
> > 
> > It generates lots of warnings from drivers which nobody does any work on.
> > 
> > Net result: lots of new warnings, no fixed bugs.
> 
> Are you sure the warnings won't cause somebody like Al to go through
> them all and fix them ?

The drivers simply don't link on some architectures, due to missing
virt_to_bus/bus_to_virt.    They aren't hard to find.

> At least they should be marked either CONFIG_BROKEN or X86 only (or
> whatever arch they are supposed to be used on).
> 

Something like that would make sense.  I guess a new config option.

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  4:55           ` Andrew Morton
@ 2006-10-03  5:07             ` Adrian Bunk
  0 siblings, 0 replies; 78+ messages in thread
From: Adrian Bunk @ 2006-10-03  5:07 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Benjamin Herrenschmidt, Judith Lebzelter, linuxppc-dev,
	Linux Kernel list

On Mon, Oct 02, 2006 at 09:55:27PM -0700, Andrew Morton wrote:
> On Tue, 03 Oct 2006 14:49:39 +1000
> Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> 
> > On Mon, 2006-10-02 at 21:44 -0700, Andrew Morton wrote:
> > > On Tue, 03 Oct 2006 14:37:25 +1000
> > > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> > > 
> > > > > > You might want to convince Andrew accepting my patch to make 
> > > > > > virt_to_bus/bus_to_virt give compile warnings on i386 for making
> > > > > > people more aware of this problem...
> > > > > >...
> > > > 
> > > > Andrew, is there any reason not to take that patch ?
> > > 
> > > It generates lots of warnings from drivers which nobody does any work on.
> > > 
> > > Net result: lots of new warnings, no fixed bugs.
> > 
> > Are you sure the warnings won't cause somebody like Al to go through
> > them all and fix them ?
> 
> The drivers simply don't link on some architectures, due to missing
> virt_to_bus/bus_to_virt.    They aren't hard to find.
>...

As my patch description says, there had even been one bus_to_virt() 
accidentally added in 2.6.17-rc1.

Shouldn't people become aware of it as early and as often as possible?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  4:49         ` Benjamin Herrenschmidt
  2006-10-03  4:55           ` Andrew Morton
@ 2006-10-03  9:36           ` Stefan Richter
  1 sibling, 0 replies; 78+ messages in thread
From: Stefan Richter @ 2006-10-03  9:36 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Andrew Morton, Judith Lebzelter, linuxppc-dev, Linux Kernel list,
	Adrian Bunk

Benjamin Herrenschmidt wrote:
> On Mon, 2006-10-02 at 21:44 -0700, Andrew Morton wrote:
>> Net result: lots of new warnings, no fixed bugs.
> 
> Are you sure the warnings won't cause somebody like Al to go through
> them all and fix them ?

If you mean by "fix" to actually convert to generic DMA mapping, then
this task may turn out to require in-depth knowledge of the driver and
its field of application in some or many of these cases.
-- 
Stefan Richter
-=====-=-==- =-=- ---==
http://arcgraph.de/sr/

^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:22   ` [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
  2006-10-03  1:48     ` Nicholas Miell
  2006-10-03  4:37     ` Benjamin Herrenschmidt
@ 2006-10-03 11:24     ` Alan Cox
  2 siblings, 0 replies; 78+ messages in thread
From: Alan Cox @ 2006-10-03 11:24 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Judith Lebzelter, linux-kernel, linuxppc-dev

Ar Maw, 2006-10-03 am 03:22 +0200, ysgrifennodd Adrian Bunk:
> This patch was already sent on:
> - 7 Jul 2006
> - 26 Jun 2006
> - 27 Apr 2006
> - 19 Apr 2006
> - 6 Jan 2006
> - 13 Dec 2005
> - 23 Nov 2005
> - 18 Nov 2005
> - 12 Nov 2005

This patch was already NAKed on
...

These functions are used internally in the x86 core code correctly and
validly. It's just as easy to find the offenders with grep or building a
PPC tree.


^ permalink raw reply	[flat|nested] 78+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  4:37       ` Benjamin Herrenschmidt
@ 2006-10-03 11:29         ` Alan Cox
  0 siblings, 0 replies; 78+ messages in thread
From: Alan Cox @ 2006-10-03 11:29 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Nicholas Miell, Adrian Bunk, linuxppc-dev, Judith Lebzelter,
	linux-kernel

Ar Maw, 2006-10-03 am 14:37 +1000, ysgrifennodd Benjamin Herrenschmidt:
> > Won't this also cause warnings for valid arch-specific usage (i.e. in
> > linux/arch/{i386,x86_64})?
> 
> I wouldn't cause that usage valid :)

Actually a lot of the older legitimate users (DRM/AGP) have been cleaned
up so it might be worth doing now after all.

Ok I take back the NAK having looked deeper. We appear to have made
sufficient progress along the way.

Acked-by: Alan Cox <alan@redhat.com>



^ permalink raw reply	[flat|nested] 78+ messages in thread

end of thread, other threads:[~2006-10-03 11:07 UTC | newest]

Thread overview: 78+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-07 20:03 [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Adrian Bunk
2005-11-10 12:28 ` Andrew Morton
2005-11-11  2:12   ` Adrian Bunk
2005-11-11  2:24     ` Andrew Morton
2005-11-11  3:45       ` Randy.Dunlap
2005-11-11 20:18       ` Adrian Bunk
2005-11-11 20:20         ` Adrian Bunk
2005-11-11 20:36           ` Adrian Bunk
2005-11-12  4:52             ` [RFC: 2.6 patch] remove ISA legacy functions Adrian Bunk
2005-11-12  5:08               ` Jeff Garzik
2005-11-12  5:11                 ` Matthew Wilcox
2005-11-12  5:27                   ` Jeff Garzik
2005-11-12  5:29                     ` Matthew Wilcox
2005-11-12 13:48                       ` Al Viro
2005-11-16  3:56                         ` Al Viro
2005-11-12  7:12               ` Christoph Hellwig
2005-11-12  4:34           ` [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
2005-11-11 21:24         ` [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Andrew Morton
2005-11-11 23:34           ` Sam Ravnborg
2005-11-12  0:33         ` Adrian Bunk
  -- strict thread matches above, loose matches on Subject: below --
2005-11-18  1:40 [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
2005-11-18  1:50 ` Andrew Morton
2005-11-18  2:06   ` Adrian Bunk
2005-11-18  2:20     ` Andrew Morton
2005-11-18  2:44       ` Adrian Bunk
2005-11-18  2:55         ` Andrew Morton
2005-11-18  3:17           ` Dave Jones
2005-11-18  3:42             ` David S. Miller
2005-11-18  4:03               ` Andrew Morton
2005-11-18  4:11                 ` Dave Jones
2005-11-19  0:34                 ` Sam Ravnborg
2005-11-19  0:39                   ` Dave Jones
2005-11-19  1:19                   ` David S. Miller
2005-11-19 20:44                     ` Adrian Bunk
2005-11-19 20:51                   ` Adrian Bunk
2005-11-19 21:01                     ` Sam Ravnborg
2005-11-20 23:27                   ` Pavel Machek
2005-11-21  4:27                     ` David S. Miller
2005-11-19 13:44   ` Jesper Juhl
2005-11-23 22:34 Adrian Bunk
2005-12-13 17:02 Adrian Bunk
2006-01-06 13:27 Adrian Bunk
2006-01-07  9:51 ` Andrew Morton
2006-01-07 10:53   ` Adrian Bunk
2006-04-18 22:07 Adrian Bunk
2006-04-18 22:19 ` Roland Dreier
     [not found] ` <20060419051355.GI4825@rhun.haifa.ibm.com>
2006-04-19 18:07   ` Adrian Bunk
2006-04-19 18:21     ` linux-os (Dick Johnson)
2006-04-19 19:23       ` Arjan van de Ven
     [not found]     ` <20060419184957.GK4825@rhun.haifa.ibm.com>
2006-04-19 22:55       ` Adrian Bunk
     [not found] <fa.mZJQjHk9A5D4GHpUn7lttlNhH5U@ifi.uio.no>
     [not found] ` <fa.aQp/JAmWqmBjqeleRNK2yrIEx2o@ifi.uio.no>
2006-04-22 21:57   ` Dave Olson
2006-04-27 20:33 Adrian Bunk
2006-06-26 15:10 Adrian Bunk
2006-06-26 15:38 ` Dave Jones
2006-06-26 15:46   ` Arjan van de Ven
2006-06-26 15:54     ` Dave Jones
2006-06-27 14:27       ` Jan Engelhardt
2006-06-27 14:42         ` Arjan van de Ven
2006-06-27 15:17         ` Alan Cox
2006-06-27 19:09           ` Jan Engelhardt
2006-06-27 19:17             ` Arjan van de Ven
2006-06-26 16:14   ` Adrian Bunk
2006-06-26 16:45     ` Dave Jones
2006-06-26 15:48 ` Alan Cox
2006-07-06 22:30 Adrian Bunk
2006-10-02 21:49 Undefined '.bus_to_virt', '.virt_to_bus' causes compile error on Powerpc 64-bit Judith Lebzelter
2006-10-02 23:44 ` Adrian Bunk
2006-10-03  1:22   ` [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
2006-10-03  1:48     ` Nicholas Miell
2006-10-03  1:58       ` Adrian Bunk
2006-10-03  2:55         ` Nicholas Miell
2006-10-03  4:37       ` Benjamin Herrenschmidt
2006-10-03 11:29         ` Alan Cox
2006-10-03  4:37     ` Benjamin Herrenschmidt
2006-10-03  4:44       ` Andrew Morton
2006-10-03  4:49         ` Benjamin Herrenschmidt
2006-10-03  4:55           ` Andrew Morton
2006-10-03  5:07             ` Adrian Bunk
2006-10-03  9:36           ` Stefan Richter
2006-10-03 11:24     ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox