lkml.org 
[lkml]   [2016]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v4 0/4] Allow ISA-style drivers on modern systems
Date
Changes in v4:
- Remove unnecessary explicit "default n" from the X86 ISA_BUS Kconfig
option since Kconfig options are disabled by default

Changes in v3:
- Remove redundant X86 dependency from the X86 ISA_BUS Kconfig option

Changes in v2:
- Adjusted preprocessor compilation conditional in include/linux/isa.h
to use CONFIG_ISA_BUS_API in order to link the correct ISA bus
driver function definitions when available
- Move ISA_BUS_API Kconfig option to arch/Kconfig, thus making it
available to all architectures instead of just X86
- X86 ISA_BUS Kconfig option should be disabled by default; ISA
devices typically do not have a way to be probed, so users should
be required to explicitly enable ISA bus driver support, lest a
selected driver be loaded with the misguided expectation of a safe
hardware probe

Several modern devices, such as PC/104 cards, are expected to run on
modern systems via an ISA bus interface. Since ISA is a legacy interface
for most modern architectures, ISA support should remain disabled in
general. Support for ISA-style drivers should be enabled on a per driver
basis.

To allow ISA-style drivers on modern systems, this patchset introduces
the ISA_BUS_API and ISA_BUS Kconfig options. The ISA bus driver will now
build conditionally on the ISA_BUS_API Kconfig option, which defaults to
the legacy ISA Kconfig option. The ISA_BUS Kconfig option allows the
ISA_BUS_API Kconfig option to be selected on architectures which do not
enable ISA (e.g. X86_64).

The ISA_BUS Kconfig option is currently only implemented for X86
architectures. Other architectures may have their own ISA_BUS Kconfig
option added as required.

An earlier attempt to allow the ISA bus driver to build for X86_64 took
an inappropriate approach resulting in legacy ISA drivers becoming
enabled unconditionally on untested and unsupported architectures.
Commit 51e68d055cba ("x86 isa: add back X86_32 dependency on
CONFIG_ISA"), added to restrict the ISA bus driver to only X86_32,
causes several drivers intended for X86_64 to be restricted to X86_32 as
well.

This patchset replaces the ISA Kconfig option dependency of several
drivers to ISA_BUS_API, so that they may build for X86_64 as intended.
The respective drivers are as follows:
* ACCES 104-IDIO-16 GPIO driver
* ACCES 104-IDI-48 GPIO driver
* ACCES 104-DIO-48E GPIO driver
* Apex Embedded Systems STX104 DAC driver
* WinSystems EBC-C384 watchdog timer driver
* WinSystems WS16C48 GPIO driver

William Breathitt Gray (4):
isa: Allow ISA-style drivers on modern systems
gpio: Allow PC/104 devices on X86_64
iio: stx104: Allow build for X86_64
watchdog: ebc-c384_wdt: Allow build for X86_64

arch/Kconfig | 3 +++
arch/x86/Kconfig | 9 +++++++++
drivers/base/Makefile | 2 +-
drivers/gpio/Kconfig | 8 ++++----
drivers/iio/dac/Kconfig | 2 +-
drivers/watchdog/Kconfig | 2 +-
include/linux/isa.h | 2 +-
7 files changed, 20 insertions(+), 8 deletions(-)

--
2.7.3

\
 
 \ /
  Last update: 2016-05-24 02:41    [W:0.231 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site