linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Q: Kconfig option VIRT_TO_BUS
@ 2012-11-12 16:18 H Hartley Sweeten
  2012-11-12 18:40 ` Bjorn Helgaas
  0 siblings, 1 reply; 14+ messages in thread
From: H Hartley Sweeten @ 2012-11-12 16:18 UTC (permalink / raw)
  To: linux-kernel

Hello all,

Does anyone know what the Kconfig option VIRT_TO_BUS does?
There are a number of "depends on" that option but it does not
seem to directly enable any code in the kernel.

Thanks for any reply.

Regards,
Hartley

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

* Re: Q: Kconfig option VIRT_TO_BUS
  2012-11-12 16:18 Q: Kconfig option VIRT_TO_BUS H Hartley Sweeten
@ 2012-11-12 18:40 ` Bjorn Helgaas
  2012-11-12 21:26   ` [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS Stephen Rothwell
  2012-11-12 23:13   ` Q: Kconfig option VIRT_TO_BUS H Hartley Sweeten
  0 siblings, 2 replies; 14+ messages in thread
From: Bjorn Helgaas @ 2012-11-12 18:40 UTC (permalink / raw)
  To: H Hartley Sweeten; +Cc: linux-kernel, Stephen Rothwell

On Mon, Nov 12, 2012 at 9:18 AM, H Hartley Sweeten
<hartleys@visionengravers.com> wrote:
> Hello all,
>
> Does anyone know what the Kconfig option VIRT_TO_BUS does?
> There are a number of "depends on" that option but it does not
> seem to directly enable any code in the kernel.

virt_to_bus() is a deprecated interface for converting a kernel
virtual address to a bus address.  It's deprecated because it's
impossible to implement correctly when there are multiple bus address
spaces, because you don't know which bus address space the caller has
in mind.

See Documentation/DMA-API-HOWTO.txt and
Documentation/bus-virt-phys-mapping.txt for more details about
virt_to_bus() and its replacements (dma_map_*()).

It looks like f057eac0d7ad967138390a9dd7fd8267e1e39d19 added
CONFIG_VIRT_TO_BUS as a way to prevent drivers that use virt_to_bus()
from being built on architectures that can't support virt_to_bus().

Architectures that can't implement virt_to_bus() set
CONFIG_ARCH_NO_VIRT_TO_BUS.  It looks like powerpc, sh, and sparc
currently set it, but ia64, x86, and probably other arches should also
set it.

Bjorn

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

* [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2012-11-12 18:40 ` Bjorn Helgaas
@ 2012-11-12 21:26   ` Stephen Rothwell
  2012-11-12 21:27     ` David Miller
                       ` (4 more replies)
  2012-11-12 23:13   ` Q: Kconfig option VIRT_TO_BUS H Hartley Sweeten
  1 sibling, 5 replies; 14+ messages in thread
From: Stephen Rothwell @ 2012-11-12 21:26 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Bjorn Helgaas, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh

[-- Attachment #1: Type: text/plain, Size: 2664 bytes --]

Make if easier for more architectures to select it and thus disable
drivers that use virt_to_bus().

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/Kconfig         |    7 +++++++
 arch/powerpc/Kconfig |    4 +---
 arch/sh/Kconfig      |    4 +---
 arch/sparc/Kconfig   |    4 +---
 4 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 366ec06..9bc00e7 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -271,6 +271,13 @@ config ARCH_WANT_OLD_COMPAT_IPC
 	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
 	bool
 
+config ARCH_NO_VIRT_TO_BUS
+	bool
+	help
+	  An architecture should select this if it cannot (or will not)
+	  implement virt_to_bus().  All new architectures should probably
+	  select this.
+
 config GENERIC_KERNEL_THREAD
 	bool
 
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index a902a5c..8c8fcba 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -87,9 +87,6 @@ config GENERIC_GPIO
 	help
 	  Generic GPIO API support
 
-config ARCH_NO_VIRT_TO_BUS
-	def_bool PPC64
-
 config PPC
 	bool
 	default y
@@ -101,6 +98,7 @@ config PPC
 	select HAVE_FUNCTION_GRAPH_TRACER
 	select SYSCTL_EXCEPTION_TRACE
 	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARCH_NO_VIRT_TO_BUS if PPC64
 	select HAVE_IDE
 	select HAVE_IOREMAP_PROT
 	select HAVE_EFFICIENT_UNALIGNED_ACCESS
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index babc2b8..9b28793 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -16,6 +16,7 @@ config SUPERH
 	select HAVE_DEBUG_BUGVERBOSE
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
+	select ARCH_NO_VIRT_TO_BUS
 	select PERF_USE_VMALLOC
 	select HAVE_DEBUG_KMEMLEAK
 	select HAVE_KERNEL_GZIP
@@ -150,9 +151,6 @@ config ARCH_HAS_ILOG2_U32
 config ARCH_HAS_ILOG2_U64
 	def_bool n
 
-config ARCH_NO_VIRT_TO_BUS
-	def_bool y
-
 config ARCH_HAS_DEFAULT_IDLE
 	def_bool y
 
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 9f2edb5..594d9bc 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -21,6 +21,7 @@ config SPARC
 	select SYSCTL_EXCEPTION_TRACE
 	select ARCH_WANT_OPTIONAL_GPIOLIB
 	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
+	select ARCH_NO_VIRT_TO_BUS
 	select RTC_CLASS
 	select RTC_DRV_M48T59
 	select HAVE_IRQ_WORK
@@ -143,9 +144,6 @@ config GENERIC_GPIO
 	help
 	  Generic GPIO API support
 
-config ARCH_NO_VIRT_TO_BUS
-	def_bool y
-
 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
 	def_bool y if SPARC64
 
-- 
1.7.10.280.gaa39

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2012-11-12 21:26   ` [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS Stephen Rothwell
@ 2012-11-12 21:27     ` David Miller
  2012-11-13  9:21     ` James Hogan
                       ` (3 subsequent siblings)
  4 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2012-11-12 21:27 UTC (permalink / raw)
  To: sfr
  Cc: akpm, bhelgaas, hartleys, linux-kernel, benh, paulus,
	linuxppc-dev, sparclinux, linux-arch, lethal, linux-sh

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 13 Nov 2012 08:26:15 +1100

> Make if easier for more architectures to select it and thus disable
> drivers that use virt_to_bus().
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Acked-by: David S. Miller <davem@davemloft.net>

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

* RE: Q: Kconfig option VIRT_TO_BUS
  2012-11-12 18:40 ` Bjorn Helgaas
  2012-11-12 21:26   ` [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS Stephen Rothwell
@ 2012-11-12 23:13   ` H Hartley Sweeten
  2012-11-12 23:16     ` Bjorn Helgaas
  1 sibling, 1 reply; 14+ messages in thread
From: H Hartley Sweeten @ 2012-11-12 23:13 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-kernel, Stephen Rothwell

On Monday, November 12, 2012 11:41 AM, Bjorn Helgaas wrote:
> On Mon, Nov 12, 2012 at 9:18 AM, H Hartley Sweeten wrote:
>> Does anyone know what the Kconfig option VIRT_TO_BUS does?
>> There are a number of "depends on" that option but it does not
>> seem to directly enable any code in the kernel.
>
> virt_to_bus() is a deprecated interface for converting a kernel
> virtual address to a bus address.  It's deprecated because it's
> impossible to implement correctly when there are multiple bus address
> spaces, because you don't know which bus address space the caller has
> in mind.

Thanks for the info.

So if a driver does not use virt_to_bus() then the "depends on VIRT_TO_BUS" 
is not necessary. Correct?

Thanks,
Hartley

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

* Re: Q: Kconfig option VIRT_TO_BUS
  2012-11-12 23:13   ` Q: Kconfig option VIRT_TO_BUS H Hartley Sweeten
@ 2012-11-12 23:16     ` Bjorn Helgaas
  0 siblings, 0 replies; 14+ messages in thread
From: Bjorn Helgaas @ 2012-11-12 23:16 UTC (permalink / raw)
  To: H Hartley Sweeten; +Cc: linux-kernel, Stephen Rothwell

On Mon, Nov 12, 2012 at 4:13 PM, H Hartley Sweeten
<hartleys@visionengravers.com> wrote:
> On Monday, November 12, 2012 11:41 AM, Bjorn Helgaas wrote:
>> On Mon, Nov 12, 2012 at 9:18 AM, H Hartley Sweeten wrote:
>>> Does anyone know what the Kconfig option VIRT_TO_BUS does?
>>> There are a number of "depends on" that option but it does not
>>> seem to directly enable any code in the kernel.
>>
>> virt_to_bus() is a deprecated interface for converting a kernel
>> virtual address to a bus address.  It's deprecated because it's
>> impossible to implement correctly when there are multiple bus address
>> spaces, because you don't know which bus address space the caller has
>> in mind.
>
> Thanks for the info.
>
> So if a driver does not use virt_to_bus() then the "depends on VIRT_TO_BUS"
> is not necessary. Correct?

Yes, that's my understanding.

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

* Re: [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2012-11-12 21:26   ` [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS Stephen Rothwell
  2012-11-12 21:27     ` David Miller
@ 2012-11-13  9:21     ` James Hogan
  2012-11-13 10:32     ` Geert Uytterhoeven
                       ` (2 subsequent siblings)
  4 siblings, 0 replies; 14+ messages in thread
From: James Hogan @ 2012-11-13  9:21 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Bjorn Helgaas, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 12/11/12 21:26, Stephen Rothwell wrote:
> Make if easier for more architectures to select it and thus
> disable drivers that use virt_to_bus().
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Reviewed-by: James Hogan <james.hogan@imgtec.com>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJQohD8AAoJEKHZs+irPybf82gP/Az9f+Q5Vn/fGkQwOOpfsxsl
hpZGzIc7P6/ZU6IFWxN8hAKdJjOBH/ko0r+LMoczlQzlhlFd+qpDU+i2tZBqbp/G
S+4w56J/PC5MtZFlUEh68e0H313Mgt9kK8vy4yVnzBTvIgGsJuXjeK4qQSKBm3LP
LguU2AONT8GCfT8DRm9sbdS+WcXnBjRWeUkm8pZ+UX8kEe7ryaccidwvR16aP9l1
zx4HwFW0nCLYxwSOVQg2hi2pQyHD5sqFeLEYNbvEPlGleRKNJtz3bnYWbRdPkO2D
CoRjiSw5/iCd/SghvwEKdkJFkOw4zdONElrBvsYXqn3QsFFpyYal43gyKIgPkSb6
s5OdTJ1ScS3IgtxFpQ1nfj020rS1ieM8eY/bXyuGPEZzwbe0moe+g64Qye9nEutn
7oWKoue1H8uRaJ46WoD22bjG7SezLycDnAlG6ujo75qyxeBcVJ9ZB6DxHPnEU02M
P0sA8FLTFmzigRV2TBKBZbh3NrFGEi/riMA8U9f9XfLkxt7zdXGTvJ45C91U8HjT
3uQffRL/WBOQOILXtEFzf22DSPeoRklvyZmlHBsmNC6AYhSDnOvpUfOThaetQaFe
voiFdDZhtxdk20l0DpReeAUBVUFOjBjh6NzWLZbVdrfgHrpndw7s7jjfy/e5vhDU
wI2jW7slxuwARtv3Q1CV
=XvmD
-----END PGP SIGNATURE-----


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

* Re: [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2012-11-12 21:26   ` [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS Stephen Rothwell
  2012-11-12 21:27     ` David Miller
  2012-11-13  9:21     ` James Hogan
@ 2012-11-13 10:32     ` Geert Uytterhoeven
  2012-11-14 14:53       ` Bjorn Helgaas
  2012-11-14 12:23     ` Arnd Bergmann
  2013-02-11 11:57     ` James Hogan
  4 siblings, 1 reply; 14+ messages in thread
From: Geert Uytterhoeven @ 2012-11-13 10:32 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Bjorn Helgaas, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh

On Mon, Nov 12, 2012 at 10:26 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> diff --git a/arch/Kconfig b/arch/Kconfig
> index 366ec06..9bc00e7 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -271,6 +271,13 @@ config ARCH_WANT_OLD_COMPAT_IPC
>         select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
>         bool
>
> +config ARCH_NO_VIRT_TO_BUS
> +       bool
> +       help
> +         An architecture should select this if it cannot (or will not)
> +         implement virt_to_bus().  All new architectures should probably
> +         select this.

Don't we typically put the burden of selecting Kconfig flags for deprecated
features on the existing architectures that provide the deprecated features?

I.e. shouldn't it be ARCH_HAS_VIRT_TO_BUS, selected by the architectures
that need it, instead?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2012-11-12 21:26   ` [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS Stephen Rothwell
                       ` (2 preceding siblings ...)
  2012-11-13 10:32     ` Geert Uytterhoeven
@ 2012-11-14 12:23     ` Arnd Bergmann
  2013-02-11 11:57     ` James Hogan
  4 siblings, 0 replies; 14+ messages in thread
From: Arnd Bergmann @ 2012-11-14 12:23 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Bjorn Helgaas, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh

On Monday 12 November 2012, Stephen Rothwell wrote:
>   Show Details
>   Make if easier for more architectures to select it and thus disable
> drivers that use virt_to_bus().
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Very nice, I was recently looking into enabling this for ARM
as well, at least for the platforms that are known to not
need virt_to_bus.

Acked-by: Arnd Bergmann <arnd@arndb.de>

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

* Re: [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2012-11-13 10:32     ` Geert Uytterhoeven
@ 2012-11-14 14:53       ` Bjorn Helgaas
  0 siblings, 0 replies; 14+ messages in thread
From: Bjorn Helgaas @ 2012-11-14 14:53 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Stephen Rothwell, Andrew Morton, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh

On Tue, Nov 13, 2012 at 3:32 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Mon, Nov 12, 2012 at 10:26 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>> diff --git a/arch/Kconfig b/arch/Kconfig
>> index 366ec06..9bc00e7 100644
>> --- a/arch/Kconfig
>> +++ b/arch/Kconfig
>> @@ -271,6 +271,13 @@ config ARCH_WANT_OLD_COMPAT_IPC
>>         select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
>>         bool
>>
>> +config ARCH_NO_VIRT_TO_BUS
>> +       bool
>> +       help
>> +         An architecture should select this if it cannot (or will not)
>> +         implement virt_to_bus().  All new architectures should probably
>> +         select this.
>
> Don't we typically put the burden of selecting Kconfig flags for deprecated
> features on the existing architectures that provide the deprecated features?
>
> I.e. shouldn't it be ARCH_HAS_VIRT_TO_BUS, selected by the architectures
> that need it, instead?

I like this idea.

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

* Re: [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2012-11-12 21:26   ` [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS Stephen Rothwell
                       ` (3 preceding siblings ...)
  2012-11-14 12:23     ` Arnd Bergmann
@ 2013-02-11 11:57     ` James Hogan
  2013-02-12  4:40       ` Stephen Rothwell
  4 siblings, 1 reply; 14+ messages in thread
From: James Hogan @ 2013-02-11 11:57 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Bjorn Helgaas, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh,
	Vineet Gupta

[-- Attachment #1: Type: text/plain, Size: 364 bytes --]

Hi Stephen,

On 12/11/12 21:26, Stephen Rothwell wrote:
> Make if easier for more architectures to select it and thus disable
> drivers that use virt_to_bus().
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

I was just wondering what the status of this patch is? It was in -next
for a while but seems to have disappeared.

Cheers
James


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2013-02-11 11:57     ` James Hogan
@ 2013-02-12  4:40       ` Stephen Rothwell
  2013-02-12 11:47         ` Stephen Rothwell
  0 siblings, 1 reply; 14+ messages in thread
From: Stephen Rothwell @ 2013-02-12  4:40 UTC (permalink / raw)
  To: James Hogan
  Cc: Andrew Morton, Bjorn Helgaas, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh,
	Vineet Gupta

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

Hi James,

On Mon, 11 Feb 2013 11:57:28 +0000 James Hogan <james.hogan@imgtec.com> wrote:
>
> On 12/11/12 21:26, Stephen Rothwell wrote:
> > Make if easier for more architectures to select it and thus disable
> > drivers that use virt_to_bus().
> > 
> > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> 
> I was just wondering what the status of this patch is? It was in -next
> for a while but seems to have disappeared.

Yeah, I think Andrew dropped it in favour of a more complete solution
which I haven't written yet.   Let me dig out the emails and have a shot.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2013-02-12  4:40       ` Stephen Rothwell
@ 2013-02-12 11:47         ` Stephen Rothwell
  2013-02-12 12:04           ` James Hogan
  0 siblings, 1 reply; 14+ messages in thread
From: Stephen Rothwell @ 2013-02-12 11:47 UTC (permalink / raw)
  To: Andrew Morton
  Cc: James Hogan, Bjorn Helgaas, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh,
	Vineet Gupta

[-- Attachment #1: Type: text/plain, Size: 11133 bytes --]

Change it to CONFIG_HAVE_VIRT_TO_BUS and set it in all architecures
that already provide virt_to_bus().

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/Kconfig            | 7 +++++++
 arch/alpha/Kconfig      | 1 +
 arch/arm/Kconfig        | 1 +
 arch/avr32/Kconfig      | 1 +
 arch/blackfin/Kconfig   | 1 +
 arch/cris/Kconfig       | 1 +
 arch/frv/Kconfig        | 1 +
 arch/h8300/Kconfig      | 1 +
 arch/ia64/Kconfig       | 1 +
 arch/m32r/Kconfig       | 1 +
 arch/m68k/Kconfig       | 1 +
 arch/microblaze/Kconfig | 1 +
 arch/mips/Kconfig       | 1 +
 arch/mn10300/Kconfig    | 1 +
 arch/openrisc/Kconfig   | 1 +
 arch/parisc/Kconfig     | 1 +
 arch/powerpc/Kconfig    | 4 +---
 arch/s390/Kconfig       | 1 +
 arch/score/Kconfig      | 1 +
 arch/sh/Kconfig         | 3 ---
 arch/sparc/Kconfig      | 3 ---
 arch/tile/Kconfig       | 1 +
 arch/unicore32/Kconfig  | 1 +
 arch/x86/Kconfig        | 1 +
 arch/xtensa/Kconfig     | 1 +
 mm/Kconfig              | 2 +-
 26 files changed, 30 insertions(+), 10 deletions(-)

This is based on v3.8-rc7. I think I got them all (apart from arc and metag).

diff --git a/arch/Kconfig b/arch/Kconfig
index 7f8f281..7721b40 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -291,6 +291,13 @@ config ARCH_WANT_OLD_COMPAT_IPC
 	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
 	bool
 
+config HAVE_VIRT_TO_BUS
+	bool
+	help
+	  An architecture should select this if it implements the
+	  deprecated interface virt_to_bus().  All new architectures
+	  should probably not select this.
+
 config HAVE_ARCH_SECCOMP_FILTER
 	bool
 	help
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 9d5904c..63f49b1 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -10,6 +10,7 @@ config ALPHA
 	select HAVE_PERF_EVENTS
 	select HAVE_DMA_ATTRS
 	select HAVE_GENERIC_HARDIRQS
+	select HAVE_VIRT_TO_BUS
 	select GENERIC_IRQ_PROBE
 	select AUTO_IRQ_AFFINITY if SMP
 	select GENERIC_IRQ_SHOW
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 67874b8..23f99e1 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -49,6 +49,7 @@ config ARM
 	select HAVE_REGS_AND_STACK_ACCESS_API
 	select HAVE_SYSCALL_TRACEPOINTS
 	select HAVE_UID16
+	select HAVE_VIRT_TO_BUS
 	select KTIME_SCALAR
 	select PERF_USE_VMALLOC
 	select RTC_LIB
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index 2ae6591..9b89257 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -7,6 +7,7 @@ config AVR32
 	select HAVE_OPROFILE
 	select HAVE_KPROBES
 	select HAVE_GENERIC_HARDIRQS
+	select HAVE_VIRT_TO_BUS
 	select GENERIC_IRQ_PROBE
 	select GENERIC_ATOMIC64
 	select HARDIRQS_SW_RESEND
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index b6f3ad5..834a6e3 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -34,6 +34,7 @@ config BLACKFIN
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select ARCH_WANT_OPTIONAL_GPIOLIB
 	select HAVE_UID16
+	select HAVE_VIRT_TO_BUS
 	select ARCH_WANT_IPC_PARSE_VERSION
 	select HAVE_GENERIC_HARDIRQS
 	select GENERIC_ATOMIC64
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
index c59a01d..abe1fd2 100644
--- a/arch/cris/Kconfig
+++ b/arch/cris/Kconfig
@@ -43,6 +43,7 @@ config CRIS
 	select GENERIC_ATOMIC64
 	select HAVE_GENERIC_HARDIRQS
 	select HAVE_UID16
+	select HAVE_VIRT_TO_BUS
 	select ARCH_WANT_IPC_PARSE_VERSION
 	select GENERIC_IRQ_SHOW
 	select GENERIC_IOMAP
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig
index 9d26264..8ca9099 100644
--- a/arch/frv/Kconfig
+++ b/arch/frv/Kconfig
@@ -7,6 +7,7 @@ config FRV
 	select HAVE_PERF_EVENTS
 	select HAVE_UID16
 	select HAVE_GENERIC_HARDIRQS
+	select HAVE_VIRT_TO_BUS
 	select GENERIC_IRQ_SHOW
 	select HAVE_DEBUG_BUGVERBOSE
 	select ARCH_HAVE_NMI_SAFE_CMPXCHG
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index 2d2efb6..ce7c55e 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -5,6 +5,7 @@ config H8300
 	select HAVE_GENERIC_HARDIRQS
 	select GENERIC_ATOMIC64
 	select HAVE_UID16
+	select HAVE_VIRT_TO_BUS
 	select ARCH_WANT_IPC_PARSE_VERSION
 	select GENERIC_IRQ_SHOW
 	select GENERIC_CPU_DEVICES
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 3279646..4c09006 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -26,6 +26,7 @@ config IA64
 	select HAVE_MEMBLOCK
 	select HAVE_MEMBLOCK_NODE_MAP
 	select HAVE_VIRT_CPU_ACCOUNTING
+	select HAVE_VIRT_TO_BUS
 	select ARCH_DISCARD_MEMBLOCK
 	select GENERIC_IRQ_PROBE
 	select GENERIC_PENDING_IRQ if SMP
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index f807721..9262381 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -10,6 +10,7 @@ config M32R
 	select ARCH_WANT_IPC_PARSE_VERSION
 	select HAVE_DEBUG_BUGVERBOSE
 	select HAVE_GENERIC_HARDIRQS
+	select HAVE_VIRT_TO_BUS
 	select GENERIC_IRQ_PROBE
 	select GENERIC_IRQ_SHOW
 	select GENERIC_ATOMIC64
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 6710084..a12199b 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -8,6 +8,7 @@ config M68K
 	select GENERIC_IRQ_SHOW
 	select GENERIC_ATOMIC64
 	select HAVE_UID16
+	select HAVE_VIRT_TO_BUS
 	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
 	select GENERIC_CPU_DEVICES
 	select GENERIC_STRNCPY_FROM_USER if MMU
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index ba3b7c8..7843d11 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -19,6 +19,7 @@ config MICROBLAZE
 	select HAVE_DEBUG_KMEMLEAK
 	select IRQ_DOMAIN
 	select HAVE_GENERIC_HARDIRQS
+	select HAVE_VIRT_TO_BUS
 	select GENERIC_IRQ_PROBE
 	select GENERIC_IRQ_SHOW
 	select GENERIC_PCI_IOMAP
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2ac626a..7013aaa 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -39,6 +39,7 @@ config MIPS
 	select GENERIC_CLOCKEVENTS
 	select GENERIC_CMOS_UPDATE
 	select HAVE_MOD_ARCH_SPECIFIC
+	select HAVE_VIRT_TO_BUS
 	select MODULES_USE_ELF_REL if MODULES
 	select MODULES_USE_ELF_RELA if MODULES && 64BIT
 
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
index e70001c..0d1582d 100644
--- a/arch/mn10300/Kconfig
+++ b/arch/mn10300/Kconfig
@@ -8,6 +8,7 @@ config MN10300
 	select HAVE_ARCH_KGDB
 	select GENERIC_ATOMIC64
 	select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
+	select HAVE_VIRT_TO_BUS
 	select GENERIC_CLOCKEVENTS
 	select MODULES_USE_ELF_RELA
 
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
index 0ac66f6..b62ed01 100644
--- a/arch/openrisc/Kconfig
+++ b/arch/openrisc/Kconfig
@@ -12,6 +12,7 @@ config OPENRISC
 	select ARCH_WANT_OPTIONAL_GPIOLIB
         select HAVE_ARCH_TRACEHOOK
 	select HAVE_GENERIC_HARDIRQS
+	select HAVE_VIRT_TO_BUS
 	select GENERIC_IRQ_CHIP
 	select GENERIC_IRQ_PROBE
 	select GENERIC_IRQ_SHOW
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index b77feff..598cf09 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -21,6 +21,7 @@ config PARISC
 	select GENERIC_SMP_IDLE_THREAD
 	select GENERIC_STRNCPY_FROM_USER
 	select HAVE_MOD_ARCH_SPECIFIC
+	select HAVE_VIRT_TO_BUS
 	select MODULES_USE_ELF_RELA
 	select CLONE_BACKWARDS
 
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 17903f1..f492ad9 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -87,9 +87,6 @@ config GENERIC_GPIO
 	help
 	  Generic GPIO API support
 
-config ARCH_NO_VIRT_TO_BUS
-	def_bool PPC64
-
 config PPC
 	bool
 	default y
@@ -101,6 +98,7 @@ config PPC
 	select HAVE_FUNCTION_GRAPH_TRACER
 	select SYSCTL_EXCEPTION_TRACE
 	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select HAVE_VIRT_TO_BUS if !PPC64
 	select HAVE_IDE
 	select HAVE_IOREMAP_PROT
 	select HAVE_EFFICIENT_UNALIGNED_ACCESS
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index b5ea38c..5d23fa6 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -98,6 +98,7 @@ config S390
 	select HAVE_CMPXCHG_DOUBLE
 	select HAVE_ALIGNED_STRUCT_PAGE if SLUB
 	select HAVE_VIRT_CPU_ACCOUNTING
+	select HAVE_VIRT_TO_BUS
 	select VIRT_CPU_ACCOUNTING
 	select ARCH_DISCARD_MEMBLOCK
 	select BUILDTIME_EXTABLE_SORT
diff --git a/arch/score/Kconfig b/arch/score/Kconfig
index 3b1482e..e569aa1 100644
--- a/arch/score/Kconfig
+++ b/arch/score/Kconfig
@@ -12,6 +12,7 @@ config SCORE
        select GENERIC_CPU_DEVICES
        select GENERIC_CLOCKEVENTS
        select HAVE_MOD_ARCH_SPECIFIC
+	select HAVE_VIRT_TO_BUS
 	select MODULES_USE_ELF_REL
 	select CLONE_BACKWARDS
 
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index babc2b8..efa4c8c 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -150,9 +150,6 @@ config ARCH_HAS_ILOG2_U32
 config ARCH_HAS_ILOG2_U64
 	def_bool n
 
-config ARCH_NO_VIRT_TO_BUS
-	def_bool y
-
 config ARCH_HAS_DEFAULT_IDLE
 	def_bool y
 
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 9f2edb5..aaa20de 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -143,9 +143,6 @@ config GENERIC_GPIO
 	help
 	  Generic GPIO API support
 
-config ARCH_NO_VIRT_TO_BUS
-	def_bool y
-
 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
 	def_bool y if SPARC64
 
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
index 875d008..61a6e59 100644
--- a/arch/tile/Kconfig
+++ b/arch/tile/Kconfig
@@ -17,6 +17,7 @@ config TILE
 	select GENERIC_IRQ_SHOW
 	select HAVE_DEBUG_BUGVERBOSE
 	select HAVE_SYSCALL_WRAPPERS if TILEGX
+	select HAVE_VIRT_TO_BUS
 	select SYS_HYPERVISOR
 	select ARCH_HAVE_NMI_SAFE_CMPXCHG
 	select GENERIC_CLOCKEVENTS
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index 60651df..dc50b15 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -9,6 +9,7 @@ config UNICORE32
 	select GENERIC_ATOMIC64
 	select HAVE_KERNEL_LZO
 	select HAVE_KERNEL_LZMA
+	select HAVE_VIRT_TO_BUS
 	select ARCH_HAVE_CUSTOM_GPIO_H
 	select GENERIC_FIND_FIRST_BIT
 	select GENERIC_IRQ_PROBE
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 225543b..3d3304d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -110,6 +110,7 @@ config X86
 	select GENERIC_STRNLEN_USER
 	select HAVE_CONTEXT_TRACKING if X86_64
 	select HAVE_IRQ_TIME_ACCOUNTING
+	select HAVE_VIRT_TO_BUS
 	select MODULES_USE_ELF_REL if X86_32
 	select MODULES_USE_ELF_RELA if X86_64
 	select CLONE_BACKWARDS if X86_32
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index 5aab1ac..e0c082b 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -9,6 +9,7 @@ config XTENSA
 	select HAVE_IDE
 	select GENERIC_ATOMIC64
 	select HAVE_GENERIC_HARDIRQS
+	select HAVE_VIRT_TO_BUS
 	select GENERIC_IRQ_SHOW
 	select GENERIC_CPU_DEVICES
 	select MODULES_USE_ELF_RELA
diff --git a/mm/Kconfig b/mm/Kconfig
index 278e3ab..6d5996f 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -266,7 +266,7 @@ config NR_QUICK
 
 config VIRT_TO_BUS
 	def_bool y
-	depends on !ARCH_NO_VIRT_TO_BUS
+	depends on HAVE_VIRT_TO_BUS
 
 config MMU_NOTIFIER
 	bool
-- 
1.8.1


-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS
  2013-02-12 11:47         ` Stephen Rothwell
@ 2013-02-12 12:04           ` James Hogan
  0 siblings, 0 replies; 14+ messages in thread
From: James Hogan @ 2013-02-12 12:04 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andrew Morton, Bjorn Helgaas, H Hartley Sweeten, linux-kernel,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	David S. Miller, sparclinux, linux-arch, Paul Mundt, linux-sh,
	Vineet Gupta

[-- Attachment #1: Type: text/plain, Size: 321 bytes --]

On 12/02/13 11:47, Stephen Rothwell wrote:
> Change it to CONFIG_HAVE_VIRT_TO_BUS and set it in all architecures

nit: typo in "architecures"

> that already provide virt_to_bus().
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Reviewed-by: James Hogan <james.hogan@imgtec.com>

Cheers
James


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

end of thread, other threads:[~2013-02-12 12:04 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-12 16:18 Q: Kconfig option VIRT_TO_BUS H Hartley Sweeten
2012-11-12 18:40 ` Bjorn Helgaas
2012-11-12 21:26   ` [PATCH] Centralise CONFIG_ARCH_NO_VIRT_TO_BUS Stephen Rothwell
2012-11-12 21:27     ` David Miller
2012-11-13  9:21     ` James Hogan
2012-11-13 10:32     ` Geert Uytterhoeven
2012-11-14 14:53       ` Bjorn Helgaas
2012-11-14 12:23     ` Arnd Bergmann
2013-02-11 11:57     ` James Hogan
2013-02-12  4:40       ` Stephen Rothwell
2013-02-12 11:47         ` Stephen Rothwell
2013-02-12 12:04           ` James Hogan
2012-11-12 23:13   ` Q: Kconfig option VIRT_TO_BUS H Hartley Sweeten
2012-11-12 23:16     ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).