Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1314292 > unrolled thread

[PATCH] base: isa: Remove X86_32 dependency

Started byWilliam Breathitt Gray <vilhelm.gray@gmail.com>
First post2016-01-21 17:00 +0100
Last post2016-01-22 09:10 +0100
Articles 6 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] base: isa: Remove X86_32 dependency William Breathitt Gray <vilhelm.gray@gmail.com> - 2016-01-21 17:00 +0100
    Re: [PATCH] base: isa: Remove X86_32 dependency "H. Peter Anvin" <hpa@zytor.com> - 2016-01-21 20:50 +0100
      Re: [PATCH] base: isa: Remove X86_32 dependency William Breathitt Gray <vilhelm.gray@gmail.com> - 2016-01-22 00:50 +0100
        Re: [PATCH] base: isa: Remove X86_32 dependency "H. Peter Anvin" <hpa@zytor.com> - 2016-01-22 00:50 +0100
          Re: [PATCH] base: isa: Remove X86_32 dependency William Breathitt Gray <vilhelm.gray@gmail.com> - 2016-01-22 01:10 +0100
            Re: [PATCH] base: isa: Remove X86_32 dependency Thomas Gleixner <tglx@linutronix.de> - 2016-01-22 09:10 +0100

#1314292 — [PATCH] base: isa: Remove X86_32 dependency

FromWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Date2016-01-21 17:00 +0100
Subject[PATCH] base: isa: Remove X86_32 dependency
Message-ID<qTpOq-7iT-3@gated-at.bofh.it>
Many motherboards utilize a LPC to ISA bridge in order to decode
ISA-style port-mapped I/O addresses. This is particularly true for
embedded motherboards supporting the PC/104 bus (a bus specification
derived from ISA).

These motherboards are now commonly running 64-bit x86 processors. The
X86_32 dependency should be removed from the ISA configuration option in
order to support these newer motherboards.

Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
---
 arch/x86/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 4a10ba9..d82b4b1 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2443,8 +2443,6 @@ config ISA_DMA_API
 	  Enables ISA-style DMA support for devices requiring such controllers.
 	  If unsure, say Y.
 
-if X86_32
-
 config ISA
 	bool "ISA support"
 	---help---
@@ -2454,6 +2452,8 @@ config ISA
 	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
 	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
 
+if X86_32
+
 config EISA
 	bool "EISA support"
 	depends on ISA
-- 
2.4.10

[toc] | [next] | [standalone]


#1314467

From"H. Peter Anvin" <hpa@zytor.com>
Date2016-01-21 20:50 +0100
Message-ID<qTtp0-1qg-5@gated-at.bofh.it>
In reply to#1314292
On 01/21/16 07:56, William Breathitt Gray wrote:
> Many motherboards utilize a LPC to ISA bridge in order to decode
> ISA-style port-mapped I/O addresses. This is particularly true for
> embedded motherboards supporting the PC/104 bus (a bus specification
> derived from ISA).
> 
> These motherboards are now commonly running 64-bit x86 processors. The
> X86_32 dependency should be removed from the ISA configuration option in
> order to support these newer motherboards.
> 
> Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>

CONFIG_ISA is mainly used to exclude drivers that are for ISA-specific
devices.

However, PC/104 is indeed an actual ISA parallel bus, and as you say
widely used in embedded systems.  However, I would like to see if there
are anything hidden with !CONFIG_ISA which makes sense in PC104 systems.

	-hpa

[toc] | [prev] | [next] | [standalone]


#1314647

FromWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Date2016-01-22 00:50 +0100
Message-ID<qTx9g-3Wh-9@gated-at.bofh.it>
In reply to#1314467
On 01/21/2016 02:40 PM, H. Peter Anvin wrote:
> CONFIG_ISA is mainly used to exclude drivers that are for ISA-specific
> devices.
> 
> However, PC/104 is indeed an actual ISA parallel bus, and as you say
> widely used in embedded systems.  However, I would like to see if there
> are anything hidden with !CONFIG_ISA which makes sense in PC104 systems.

My ultimate objective is to be able to use the ISA bus driver
(drivers/base/isa.c). This driver is conditionally compiled based on
CONFIG_ISA, which in turn depends on CONFIG_X86_32. Up until now, I've
been using platform_driver for my non-hotpluggable PC/104 devices, but
it appears that isa_driver is more appropriate; unfortunately, I have
CONFIG_X86_64 set, which prevents the compilation of drivers/base/isa.c
due to the CONFIG_X86_32 dependency.

I can alternatively create a patch to introduce a CONFIG_PC104 option.
This would allow the compilation of the ISA bus driver on either
CONFIG_ISA or CONFIG_PC104, thus allowing CONFIG_ISA to remain dependent
on CONFIG_X86_32. However, if the CONFIG_X86_32 dependency was
arbitrarily added to simply hide ISA functionality from newer
motherboards, perhaps the dependency should be removed.

William Breathitt Gray

[toc] | [prev] | [next] | [standalone]


#1314648

From"H. Peter Anvin" <hpa@zytor.com>
Date2016-01-22 00:50 +0100
Message-ID<qTx9g-3Wh-15@gated-at.bofh.it>
In reply to#1314647
On 01/21/16 15:43, William Breathitt Gray wrote:
> On 01/21/2016 02:40 PM, H. Peter Anvin wrote:
>> CONFIG_ISA is mainly used to exclude drivers that are for ISA-specific
>> devices.
>>
>> However, PC/104 is indeed an actual ISA parallel bus, and as you say
>> widely used in embedded systems.  However, I would like to see if there
>> are anything hidden with !CONFIG_ISA which makes sense in PC104 systems.
> 
> My ultimate objective is to be able to use the ISA bus driver
> (drivers/base/isa.c). This driver is conditionally compiled based on
> CONFIG_ISA, which in turn depends on CONFIG_X86_32. Up until now, I've
> been using platform_driver for my non-hotpluggable PC/104 devices, but
> it appears that isa_driver is more appropriate; unfortunately, I have
> CONFIG_X86_64 set, which prevents the compilation of drivers/base/isa.c
> due to the CONFIG_X86_32 dependency.
> 
> I can alternatively create a patch to introduce a CONFIG_PC104 option.
> This would allow the compilation of the ISA bus driver on either
> CONFIG_ISA or CONFIG_PC104, thus allowing CONFIG_ISA to remain dependent
> on CONFIG_X86_32. However, if the CONFIG_X86_32 dependency was
> arbitrarily added to simply hide ISA functionality from newer
> motherboards, perhaps the dependency should be removed.
> 

Well, and as you can see from the build robot because a lot of those
drivers simply don't compile on 64-bit systems.  If nothing else you
would have to push the 32-bit tests downward in the config dependency tree.

	-hpa

[toc] | [prev] | [next] | [standalone]


#1314656

FromWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Date2016-01-22 01:10 +0100
Message-ID<qTxsD-4iV-29@gated-at.bofh.it>
In reply to#1314648
On 01/21/2016 06:47 PM, H. Peter Anvin wrote:
> Well, and as you can see from the build robot because a lot of those
> drivers simply don't compile on 64-bit systems.  If nothing else you
> would have to push the 32-bit tests downward in the config dependency tree.
> 
> 	-hpa

Yes, you're right. There doesn't appear to be anything 32-bit specific in the ISA bus driver itself, so these build failures must be due to configs relying on the 32-bit dependency from CONFIG_ISA. It should be possible to decouple the 32-bit dependency, so I'll work through the config dependency tree and fix the build errors with explicit CONFIG_X86_32 dependencies. I'll submit a new patch with those changes when complete.

William Breathitt Gray

[toc] | [prev] | [next] | [standalone]


#1314822

FromThomas Gleixner <tglx@linutronix.de>
Date2016-01-22 09:10 +0100
Message-ID<qTEX9-1ic-21@gated-at.bofh.it>
In reply to#1314656
On Thu, 21 Jan 2016, William Breathitt Gray wrote:
> On 01/21/2016 06:47 PM, H. Peter Anvin wrote:
> > Well, and as you can see from the build robot because a lot of those
> > drivers simply don't compile on 64-bit systems.  If nothing else you
> > would have to push the 32-bit tests downward in the config dependency tree.
> 
> Yes, you're right. There doesn't appear to be anything 32-bit specific in
> the ISA bus driver itself, so these build failures must be due to configs
> relying on the 32-bit dependency from CONFIG_ISA. It should be possible to
> decouple the 32-bit dependency, so I'll work through the config dependency
> tree and fix the build errors with explicit CONFIG_X86_32 dependencies. I'll
> submit a new patch with those changes when complete.

Make drivers/bus/isa.c depend on CONFIG_ISA_BUS and select that from
CONFIG_ISA.

That gives you the bus driver alone w/o touching any of the things which
depend on x32.

Thanks,

	tglx

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web