Skip to content

Allow ISA-style drivers on modern systems

William Breathitt Gray linux-gpio linux-iio linux-next linux-watchdog lkml 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest4 patches 11 repliesIn review
  2. v44 patches 5 repliesSuperseded
  3. v34 patches 1 replySuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v24 patches8 repliesSuperseded
v14 patches3 repliesSuperseded

Changes in v5 from the cover letter

- Add explicit X86 dependency to CONFIG_STX104 and CONFIG_EBC_C384_WDT since these drivers were developed with X86 architectures in mind

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4isa: Allow ISA-style drivers on modern systemsarch/Kconfig arch/x86/Kconfig drivers/base/Makefile +1 more+14 -21 reply
2/4gpio: Allow PC/104 devices on X86_64drivers/gpio/Kconfig+4 -49 replies
3/4iio: stx104: Allow build for X86_64drivers/iio/dac/Kconfig+1 -11 reply
4/4watchdog: ebc-c384_wdt: Allow build for X86_64drivers/watchdog/Kconfig+1 -10 replies

Reviews trailers per patch

All 4 patches have a Reviewed-by or Acked-by.

PatchGuenter RoeckJonathan CameronLinus TorvaldsLinus Walleij
1/4R-b A-b
2/4R-b A-b
3/4R-b A-b
4/4R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v5 thread

Cover letter [PATCH v5 0/4] Allow ISA-style drivers on modern systems

Changes in v5:
- Add explicit X86 dependency to CONFIG_STX104 and CONFIG_EBC_C384_WDT since these drivers were developed with X86 architectures in mind

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(-)
Signature · 1 line
2.7.3