Skip to contentSkip to conversation

Change ISA_BUS_API dependency to selection

PATCH Superseded William Breathitt Gray 4 participants 10 messages Dec 28, 2017 – Jan 2, 2018

Subsystems (3)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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.

Cc Jonathan Cameron <[email protected]>
Cc Hartmut Knaack <[email protected]>
Cc Lars-Peter Clausen <lars-Qo5EllUWu/[email protected]>
Cc Peter Meerwald-Stadler <[email protected]>
---
 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
index ef86296b8b0d..7c00e5858693 100644
@@ -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
index 474e1ac4e7c0..bf1e559ad7cd 100644
@@ -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
index 965d5c0d2468..76db0768e454 100644
@@ -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
#2 lore raw

PATCH 2/3 watchdog: Change ISA_BUS_API dependency to selection

In reply to William Breathitt Gray

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.

Cc Wim Van Sebroeck <[email protected]>
Cc Guenter Roeck <[email protected]>
---
 drivers/watchdog/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/watchdog/Kconfig +2 -1
index ca200d1f310a..c05d5d20eebf 100644
@@ -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
maintainer Acked-by on v1 2/3
#3 lore raw

Re: [PATCH 2/3] watchdog: Change ISA_BUS_API dependency to selection

Quoted 11 lines · William Breathitt Gray

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.

Cc Wim Van Sebroeck <[email protected]>
Cc Guenter Roeck <[email protected]>
Quoted 19 lines
---
  drivers/watchdog/Kconfig | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
drivers/watchdog/Kconfig +2 -1
index ca200d1f310a..c05d5d20eebf 100644
@@ -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
#4 lore raw

PATCH 3/3 gpio: Change ISA_BUS_API dependency to selection

In reply to William Breathitt Gray

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/gpio/Kconfig | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)
drivers/gpio/Kconfig +9 -5
index 395669bfcc26..36ad9ce3dc58 100644
@@ -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
#5 lore raw

Re: [PATCH 3/3] gpio: Change ISA_BUS_API dependency to selection

Quoted 10 lines · William Breathitt Gray

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.

Patch applied.

Yours,
Linus Walleij

#6 lore raw

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_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.

Quoted 4 lines
Quoted 2 lines

Patch applied.

Ooops there are newer patches, backed it out.

Yours,
Linus Walleij

maintainer
#7 lore raw
In reply to William Breathitt Gray
Quoted 29 lines · William Breathitt Gray

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

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

#8 lore raw
Quoted 30 lines · Guenter Roeck
Quoted 29 lines · William Breathitt Gray

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

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 select ISA_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

#9 lore raw
In reply to William Breathitt Gray

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_API selection as desired.

Thanks for these patches, will submit the driver as soon as I integrate Andy's comments.

Maciej