Change ISA_BUS_API dependency to selection
Subsystems (3)
cover Change ISA_BUS_API dependency to selection
The ISA_BUS_API Kconfig option enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. Since ISA_BUS_API has no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.
Originally, when the ISA_BUS_API Kconfig option was introduced, it served a dual-purpose of masking drivers ISA-style devices not commonly found for desktop systems, such as the PC/104 device drivers. This secondary semantic was inappropriate for the ISA_BUS_API option, and proper masking of these device drivers is now accomplished via dedicated Kconfig options such as CONFIG_PC104.
Linus, please pickup this entire patchset through your GPIO subsystem tree; a recursive dependency error is present if these patches are cherry-picked (see https://lkml.org/lkml/2017/12/26/235), so they should be merged together in the same tree.
Maciej, this patchset resolves the recursive dependency issue you encountered, so now you should be able to submit your Winbond GPIO driver with the ISA_BUS_API selection as desired.
William Breathitt Gray (3):
iio: Change ISA_BUS_API dependency to selection
watchdog: Change ISA_BUS_API dependency to selection
gpio: Change ISA_BUS_API dependency to selection
drivers/gpio/Kconfig | 14 +++++++++----- drivers/iio/adc/Kconfig | 3 ++- drivers/iio/counter/Kconfig | 3 ++- drivers/iio/dac/Kconfig | 3 ++- drivers/watchdog/Kconfig | 3 ++- 5 files changed, 17 insertions(+), 9 deletions(-)
Signature · 6 lines
2.15.1 -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 1/3 iio: Change ISA_BUS_API dependency to selection
The ISA_BUS_API Kconfig option enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. Since ISA_BUS_API has no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.
--- drivers/iio/adc/Kconfig | 3 ++- drivers/iio/counter/Kconfig | 3 ++- drivers/iio/dac/Kconfig | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-)
drivers/iio/adc/Kconfig +2 -1
@@ -658,7 +658,8 @@ config STM32_ADC config STX104 tristate "Apex Embedded Systems STX104 driver" - depends on PC104 && X86 && ISA_BUS_API + depends on PC104 && X86 + select ISA_BUS_API select GPIOLIB help Say yes here to build support for the Apex Embedded Systems STX104
drivers/iio/counter/Kconfig +2 -1
@@ -7,7 +7,8 @@ menu "Counters" config 104_QUAD_8 tristate "ACCES 104-QUAD-8 driver" - depends on PC104 && X86 && ISA_BUS_API + depends on PC104 && X86 + select ISA_BUS_API help Say yes here to build support for the ACCES 104-QUAD-8 quadrature encoder counter/interface device family (104-QUAD-8, 104-QUAD-4).
drivers/iio/dac/Kconfig +2 -1
@@ -195,7 +195,8 @@ config AD7303 config CIO_DAC tristate "Measurement Computing CIO-DAC IIO driver" - depends on X86 && ISA_BUS_API + depends on X86 && (ISA_BUS || PC104) + select ISA_BUS_API help Say yes here to build support for the Measurement Computing CIO-DAC analog output device family (CIO-DAC16, CIO-DAC08, PC104-DAC06). The
Signature · 6 lines
2.15.1 -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 2/3 watchdog: Change ISA_BUS_API dependency to selection
In reply to William Breathitt GrayThe ISA_BUS_API Kconfig option enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. Since ISA_BUS_API has no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.
--- drivers/watchdog/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/watchdog/Kconfig +2 -1
@@ -864,7 +864,8 @@ config ALIM7101_WDT config EBC_C384_WDT tristate "WinSystems EBC-C384 Watchdog Timer" - depends on X86 && ISA_BUS_API + depends on X86 + select ISA_BUS_API select WATCHDOG_CORE help Enables watchdog timer support for the watchdog timer on the
Signature · 1 line
2.15.1
Re: [PATCH 2/3] watchdog: Change ISA_BUS_API dependency to selection
Quoted 11 lines · William Breathitt Gray
The
ISA_BUS_APIKconfigoption enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. SinceISA_BUS_APIhas no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.Cc Wim Van Sebroeck <[email protected]>Cc Guenter Roeck <[email protected]>Signed-off-by William Breathitt Gray <[email protected]>
Quoted 19 lines
--- drivers/watchdog/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)drivers/watchdog/Kconfig +2
-1@@ -864,7 +864,8 @@ config ALIM7101_WDT config EBC_C384_WDT tristate "WinSystems EBC-C384 Watchdog Timer" - depends on X86 && ISA_BUS_API + depends on X86 + select ISA_BUS_API select WATCHDOG_CORE help Enables watchdog timer support for the watchdog timer on the
PATCH 3/3 gpio: Change ISA_BUS_API dependency to selection
In reply to William Breathitt GrayThe ISA_BUS_API Kconfig option enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. Since ISA_BUS_API has no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.
--- drivers/gpio/Kconfig | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
drivers/gpio/Kconfig +9 -5
@@ -590,7 +590,8 @@ menu "Port-mapped I/O GPIO drivers" config GPIO_104_DIO_48E tristate "ACCES 104-DIO-48E GPIO support" - depends on PC104 && ISA_BUS_API + depends on PC104 + select ISA_BUS_API select GPIOLIB_IRQCHIP help Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E,
@@ -600,7 +601,8 @@ config GPIO_104_DIO_48E config GPIO_104_IDIO_16 tristate "ACCES 104-IDIO-16 GPIO support" - depends on PC104 && ISA_BUS_API + depends on PC104 + select ISA_BUS_API select GPIOLIB_IRQCHIP help Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16,
@@ -611,7 +613,8 @@ config GPIO_104_IDIO_16 config GPIO_104_IDI_48 tristate "ACCES 104-IDI-48 GPIO support" - depends on PC104 && ISA_BUS_API + depends on PC104 + select ISA_BUS_API select GPIOLIB_IRQCHIP help Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A,
@@ -631,7 +634,8 @@ config GPIO_F7188X config GPIO_GPIO_MM tristate "Diamond Systems GPIO-MM GPIO support" - depends on PC104 && ISA_BUS_API + depends on PC104 + select ISA_BUS_API help Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12.
@@ -700,7 +704,7 @@ config GPIO_TS5500 config GPIO_WS16C48 tristate "WinSystems WS16C48 GPIO support" - depends on ISA_BUS_API + select ISA_BUS_API select GPIOLIB_IRQCHIP help Enables GPIO support for the WinSystems WS16C48. The base port
Signature · 1 line
2.15.1
Re: [PATCH 3/3] gpio: Change ISA_BUS_API dependency to selection
Quoted 10 lines · William Breathitt Gray
The
ISA_BUS_APIKconfigoption enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. SinceISA_BUS_APIhas no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.Cc Linus Walleij <[email protected]>Signed-off-by William Breathitt Gray <[email protected]>
Patch applied.
Yours,
Linus Walleij
Re: [PATCH 3/3] gpio: Change ISA_BUS_API dependency to selection
Quoted 11 lines · Linus Walleij
Quoted 8 lines · William Breathitt Gray
The
ISA_BUS_APIKconfigoption enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. SinceISA_BUS_APIhas no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.
Quoted 4 lines
Quoted 2 lines
Cc Linus Walleij <[email protected]>Signed-off-by William Breathitt Gray <[email protected]>Patch applied.
Ooops there are newer patches, backed it out.
Yours,
Linus Walleij
Guenter Roeck
maintainerQuoted 29 lines · William Breathitt Gray
The
ISA_BUS_APIKconfigoption enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. SinceISA_BUS_APIhas no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.Originally, when the
ISA_BUS_APIKconfigoption was introduced, it served a dual-purpose of masking drivers ISA-style devices not commonly found for desktop systems, such as the PC/104 device drivers. This secondary semantic was inappropriate for theISA_BUS_APIoption, and proper masking of these device drivers is now accomplished via dedicatedKconfigoptions such asCONFIG_PC104.Linus, please pickup this entire patchset through your GPIO subsystem tree; a recursive dependency error is present if these patches are cherry-picked (see https://lkml.org/lkml/2017/12/26/235), so they should be merged together in the same tree.
Maciej, this patchset resolves the recursive dependency issue you encountered, so now you should be able to submit your Winbond GPIO driver with the
ISA_BUS_APIselection as desired.William Breathitt Gray (3):
iio: ChangeISA_BUS_APIdependency to selection
watchdog: ChangeISA_BUS_APIdependency to selection
gpio: ChangeISA_BUS_APIdependency to selection
Quoted 7 lines
drivers/gpio/Kconfig | 14 +++++++++----- drivers/iio/adc/Kconfig | 3 ++- drivers/iio/counter/Kconfig | 3 ++- drivers/iio/dac/Kconfig | 3 ++- drivers/watchdog/Kconfig | 3 ++- 5 files changed, 17 insertions(+), 9 deletions(-)
But why keep "config ISA_BUS" ? Its only purpose is to select ISA_BUS_API.
Guenter
Quoted 30 lines · Guenter Roeck
Quoted 29 lines · William Breathitt Gray
The
ISA_BUS_APIKconfigoption enables the compilation of the ISA bus driver. The ISA bus driver does not perform any hardware interaction, and is instead just a thin layer of software abstraction to eliminate boilerplate code common to ISA-style device drivers. SinceISA_BUS_APIhas no dependencies and does not jeopardize the integrity of the system when enabled, drivers should select it when the ISA bus driver functionality is needed.Originally, when the
ISA_BUS_APIKconfigoption was introduced, it served a dual-purpose of masking drivers ISA-style devices not commonly found for desktop systems, such as the PC/104 device drivers. This secondary semantic was inappropriate for theISA_BUS_APIoption, and proper masking of these device drivers is now accomplished via dedicatedKconfigoptions such asCONFIG_PC104.Linus, please pickup this entire patchset through your GPIO subsystem tree; a recursive dependency error is present if these patches are cherry-picked (see https://lkml.org/lkml/2017/12/26/235), so they should be merged together in the same tree.
Maciej, this patchset resolves the recursive dependency issue you encountered, so now you should be able to submit your Winbond GPIO driver with the
ISA_BUS_APIselection as desired.William Breathitt Gray (3):
iio: ChangeISA_BUS_APIdependency to selection
watchdog: ChangeISA_BUS_APIdependency to selection
gpio: ChangeISA_BUS_APIdependency to selection
Quoted 8 lines
Quoted 7 lines
drivers/gpio/Kconfig | 14 +++++++++----- drivers/iio/adc/Kconfig | 3 ++- drivers/iio/counter/Kconfig | 3 ++- drivers/iio/dac/Kconfig | 3 ++- drivers/watchdog/Kconfig | 3 ++- 5 files changed, 17 insertions(+), 9 deletions(-)But why keep "config
ISA_BUS" ? Its only purpose is to selectISA_BUS_API.
I intend to have CONFIG_ISA_BUS now serve purely as a mask for true ISA device drivers (e.g. CIO_DAC within this patchset). The legacy CONFIG_ISA has a X86_32 dependency which prevents its use for X86_64 builds -- and unfortunately existing drivers depending on CONFIG_ISA expect the X86_32 arch, thus making the task of decoupling that arch dependency difficult. I'm hoping CONFIG_ISA_BUS can therefore supersede the legacy CONFIG_ISA because an ISA bus can physically exist on a non-X86_32 system.
However, there is no longer a need to select ISA_BUS_API, so that should be removed, as well as the help text updated to match the changes. I'll make these updates and submit a version 2 of this patchset some time tomorrow then.
William Breathitt Gray
Quoted 2 lines
Guenter
On 28.12.2017 17:01, William Breathitt Gray wrote:
(..)
Quoted 9 lines
Linus, please pickup this entire patchset through your GPIO subsystem tree; a recursive dependency error is present if these patches are cherry-picked (see https://lkml.org/lkml/2017/12/26/235), so they should be merged together in the same tree.
Maciej, this patchset resolves the recursive dependency issue you encountered, so now you should be able to submit your Winbond GPIO driver with the
ISA_BUS_APIselection as desired.
Thanks for these patches, will submit the driver as soon as I integrate Andy's comments.
Maciej