All of lore.kernel.org
 help / color / mirror / Atom feed
* [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; 72+ 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] 72+ 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
  -1 siblings, 0 replies; 72+ 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] 72+ messages in thread

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

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] 72+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:22     ` Adrian Bunk
@ 2006-10-03 11:24       ` Alan Cox
  -1 siblings, 0 replies; 72+ 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] 72+ messages in thread

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

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] 72+ 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  9:36             ` Stefan Richter
  -1 siblings, 0 replies; 72+ 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] 72+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
@ 2006-10-03  9:36             ` Stefan Richter
  0 siblings, 0 replies; 72+ messages in thread
From: Stefan Richter @ 2006-10-03  9:36 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Andrew Morton, linuxppc-dev, Judith Lebzelter, 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] 72+ 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
  -1 siblings, 0 replies; 72+ 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] 72+ messages in thread

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

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] 72+ 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
  -1 siblings, 0 replies; 72+ 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] 72+ 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
  0 siblings, 0 replies; 72+ messages in thread
From: Andrew Morton @ 2006-10-03  4:55 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Adrian Bunk, linuxppc-dev, Judith Lebzelter, Kernel list, Linux

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] 72+ 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
  -1 siblings, 0 replies; 72+ 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] 72+ 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
  0 siblings, 0 replies; 72+ messages in thread
From: Benjamin Herrenschmidt @ 2006-10-03  4:49 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linuxppc-dev, Judith Lebzelter, 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] 72+ 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
  -1 siblings, 0 replies; 72+ 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] 72+ 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
  0 siblings, 0 replies; 72+ messages in thread
From: Andrew Morton @ 2006-10-03  4:44 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Adrian Bunk, linuxppc-dev, Judith Lebzelter, Kernel list, Linux

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] 72+ 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  4:37         ` Benjamin Herrenschmidt
  -1 siblings, 0 replies; 72+ 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] 72+ 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
  0 siblings, 0 replies; 72+ messages in thread
From: Benjamin Herrenschmidt @ 2006-10-03  4:37 UTC (permalink / raw)
  To: Nicholas Miell; +Cc: linuxppc-dev, Judith Lebzelter, linux-kernel, Adrian Bunk


> 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] 72+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:22     ` Adrian Bunk
@ 2006-10-03  4:37       ` Benjamin Herrenschmidt
  -1 siblings, 0 replies; 72+ 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] 72+ 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
  0 siblings, 0 replies; 72+ messages in thread
From: Benjamin Herrenschmidt @ 2006-10-03  4:37 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linuxppc-dev, Judith Lebzelter, 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] 72+ 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
  -1 siblings, 0 replies; 72+ 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] 72+ messages in thread

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

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] 72+ 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
  -1 siblings, 0 replies; 72+ 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] 72+ 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
  0 siblings, 0 replies; 72+ messages in thread
From: Adrian Bunk @ 2006-10-03  1:58 UTC (permalink / raw)
  To: Nicholas Miell; +Cc: linuxppc-dev, Judith Lebzelter, linux-kernel

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] 72+ messages in thread

* Re: [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386
  2006-10-03  1:22     ` Adrian Bunk
@ 2006-10-03  1:48       ` Nicholas Miell
  -1 siblings, 0 replies; 72+ 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] 72+ 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
  0 siblings, 0 replies; 72+ messages in thread
From: Nicholas Miell @ 2006-10-03  1:48 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linuxppc-dev, Judith Lebzelter, linux-kernel

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] 72+ 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
  0 siblings, 0 replies; 72+ 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] 72+ messages in thread

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

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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ 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; 72+ 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] 72+ messages in thread

* Re: [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
  2005-11-18  2:06   ` Adrian Bunk
  2005-11-19 13:44   ` Jesper Juhl
  0 siblings, 2 replies; 72+ 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] 72+ 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; 72+ 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] 72+ 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-12  4:34           ` Adrian Bunk
  0 siblings, 0 replies; 72+ 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] 72+ messages in thread

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

Thread overview: 72+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-13 17:02 [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk
  -- strict thread matches above, loose matches on Subject: below --
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:22     ` Adrian Bunk
2006-10-03  1:48     ` Nicholas Miell
2006-10-03  1:48       ` Nicholas Miell
2006-10-03  1:58       ` Adrian Bunk
2006-10-03  1:58         ` Adrian Bunk
2006-10-03  2:55         ` Nicholas Miell
2006-10-03  2:55           ` Nicholas Miell
2006-10-03  4:37       ` Benjamin Herrenschmidt
2006-10-03  4:37         ` Benjamin Herrenschmidt
2006-10-03 11:29         ` Alan Cox
2006-10-03 11:29           ` Alan Cox
2006-10-03  4:37     ` Benjamin Herrenschmidt
2006-10-03  4:37       ` Benjamin Herrenschmidt
2006-10-03  4:44       ` Andrew Morton
2006-10-03  4:44         ` Andrew Morton
2006-10-03  4:49         ` Benjamin Herrenschmidt
2006-10-03  4:49           ` Benjamin Herrenschmidt
2006-10-03  4:55           ` Andrew Morton
2006-10-03  4:55             ` Andrew Morton
2006-10-03  5:07             ` Adrian Bunk
2006-10-03  5:07               ` Adrian Bunk
2006-10-03  9:36           ` Stefan Richter
2006-10-03  9:36             ` Stefan Richter
2006-10-03 11:24     ` Alan Cox
2006-10-03 11:24       ` Alan Cox
2006-07-06 22:30 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-04-27 20:33 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-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
2006-01-06 13:27 Adrian Bunk
2006-01-07  9:51 ` Andrew Morton
2006-01-07 10:53   ` Adrian Bunk
2005-11-23 22:34 Adrian Bunk
2005-11-18  1:40 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-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 20:18       ` Adrian Bunk
2005-11-11 20:20         ` Adrian Bunk
2005-11-12  4:34           ` [2.6 patch] mark virt_to_bus/bus_to_virt as __deprecated on i386 Adrian Bunk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.