2017-12-29 20:13:19

by William Breathitt Gray

[permalink] [raw]
Subject: [PATCH v2 0/5] Change ISA_BUS_API dependency to selection

Changes in v2:
- Remove select ISA_BUS_API line from ISA_BUS Kconfig option
- Update ISA_BUS help text to reflect updated use
- Add explicit EXPERT dependency for PC104 Kconfig option

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 (5):
iio: Change ISA_BUS_API dependency to selection
watchdog: Change ISA_BUS_API dependency to selection
gpio: Change ISA_BUS_API dependency to selection
isa: Remove ISA_BUS_API selection for ISA_BUS
pc104: Add EXPERT dependency for PC104 Kconfig option

arch/x86/Kconfig | 10 ++++++----
drivers/gpio/Kconfig | 14 +++++++++-----
drivers/iio/adc/Kconfig | 3 ++-
drivers/iio/counter/Kconfig | 3 ++-
drivers/iio/dac/Kconfig | 3 ++-
drivers/watchdog/Kconfig | 3 ++-
init/Kconfig | 2 +-
7 files changed, 24 insertions(+), 14 deletions(-)

--
2.15.1


2017-12-29 20:13:33

by William Breathitt Gray

[permalink] [raw]
Subject: [PATCH v2 1/5] 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 <[email protected]>
Cc: Peter Meerwald-Stadler <[email protected]>
Signed-off-by: William Breathitt Gray <[email protected]>
---
drivers/iio/adc/Kconfig | 3 ++-
drivers/iio/counter/Kconfig | 3 ++-
drivers/iio/dac/Kconfig | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index ef86296b8b0d..7c00e5858693 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -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
diff --git a/drivers/iio/counter/Kconfig b/drivers/iio/counter/Kconfig
index 474e1ac4e7c0..bf1e559ad7cd 100644
--- a/drivers/iio/counter/Kconfig
+++ b/drivers/iio/counter/Kconfig
@@ -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).
diff --git a/drivers/iio/dac/Kconfig b/drivers/iio/dac/Kconfig
index 965d5c0d2468..76db0768e454 100644
--- a/drivers/iio/dac/Kconfig
+++ b/drivers/iio/dac/Kconfig
@@ -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
--
2.15.1

2017-12-29 20:13:45

by William Breathitt Gray

[permalink] [raw]
Subject: [PATCH v2 2/5] watchdog: 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: Wim Van Sebroeck <[email protected]>
Acked-by: Guenter Roeck <[email protected]>
Signed-off-by: William Breathitt Gray <[email protected]>
---
drivers/watchdog/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index ca200d1f310a..c05d5d20eebf 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -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
--
2.15.1

2017-12-29 20:13:56

by William Breathitt Gray

[permalink] [raw]
Subject: [PATCH v2 3/5] gpio: 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: Linus Walleij <[email protected]>
Signed-off-by: William Breathitt Gray <[email protected]>
---
drivers/gpio/Kconfig | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 395669bfcc26..36ad9ce3dc58 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -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
--
2.15.1

2017-12-29 20:14:56

by William Breathitt Gray

[permalink] [raw]
Subject: [PATCH v2 4/5] isa: Remove ISA_BUS_API selection for ISA_BUS

ISA_BUS_API is selected by drivers themselves when necessary. The
ISA_BUS Kconfig option is now simply a mask for true ISA device drivers
and relevant configuration. For now, the ISA_BUS Kconfig option is only
available for X86, but may be added for other arch builds in the future
if the need arises.

Signed-off-by: William Breathitt Gray <[email protected]>
---
arch/x86/Kconfig | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 8eed3f94bfc7..5478c5beb302 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2608,11 +2608,13 @@ config PCI_CNB20LE_QUIRK
source "drivers/pci/Kconfig"

config ISA_BUS
- bool "ISA-style bus support on modern systems" if EXPERT
- select ISA_BUS_API
+ bool "ISA bus support on modern systems" if EXPERT
help
- Enables ISA-style drivers on modern systems. This is necessary to
- support PC/104 devices on X86_64 platforms.
+ Expose ISA bus device drivers and options available for selection and
+ configuration. Enable this option if your target machine has an ISA
+ bus. ISA is an older system, displaced by PCI and newer bus
+ architectures -- if your target machine is modern, it probably does
+ not have an ISA bus.

If unsure, say N.

--
2.15.1

2017-12-29 20:15:10

by William Breathitt Gray

[permalink] [raw]
Subject: [PATCH v2 5/5] pc104: Add EXPERT dependency for PC104 Kconfig option

PC/104 device driver Kconfig options previously had an implicit EXPERT
dependency by way of an explicit ISA_BUS_API dependency. Now that these
driver Kconfig options select ISA_BUS_API rather than depend on it, the
PC104 Kconfig option should have an explicit EXPERT dependency.

The PC/104 form factor and bus architecture are common in embedded
and specialized systems, but uncommon in typical desktop setups. For
this reason, it is best to mask these devices and configurations via the
EXPERT Kconfig option because the majority of users will never need to
concern themselves with PC/104.

Signed-off-by: William Breathitt Gray <[email protected]>
---
init/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/init/Kconfig b/init/Kconfig
index 2934249fba46..227ca1300d1b 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1420,7 +1420,7 @@ config PERF_USE_VMALLOC
See tools/perf/design.txt for details

config PC104
- bool "PC/104 support"
+ bool "PC/104 support" if EXPERT
help
Expose PC/104 form factor device drivers and options available for
selection and configuration. Enable this option if your target
--
2.15.1

2018-01-01 09:55:32

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2 1/5] iio: Change ISA_BUS_API dependency to selection

On Fri, 29 Dec 2017 15:13:19 -0500
William Breathitt Gray <[email protected]> wrote:

> 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 <[email protected]>
> Cc: Peter Meerwald-Stadler <[email protected]>
> Signed-off-by: William Breathitt Gray <[email protected]>
Acked-by: Jonathan Cameron <[email protected]>
> ---
> drivers/iio/adc/Kconfig | 3 ++-
> drivers/iio/counter/Kconfig | 3 ++-
> drivers/iio/dac/Kconfig | 3 ++-
> 3 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
> index ef86296b8b0d..7c00e5858693 100644
> --- a/drivers/iio/adc/Kconfig
> +++ b/drivers/iio/adc/Kconfig
> @@ -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
> diff --git a/drivers/iio/counter/Kconfig b/drivers/iio/counter/Kconfig
> index 474e1ac4e7c0..bf1e559ad7cd 100644
> --- a/drivers/iio/counter/Kconfig
> +++ b/drivers/iio/counter/Kconfig
> @@ -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).
> diff --git a/drivers/iio/dac/Kconfig b/drivers/iio/dac/Kconfig
> index 965d5c0d2468..76db0768e454 100644
> --- a/drivers/iio/dac/Kconfig
> +++ b/drivers/iio/dac/Kconfig
> @@ -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

2018-01-02 09:29:34

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] Change ISA_BUS_API dependency to selection

On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
<[email protected]> wrote:

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

OK I just need a bunch of ACKs so giving subsystem maintainers some
days to come back on this.

Yours,
Linus Walleij

2018-01-31 02:46:00

by William Breathitt Gray

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] Change ISA_BUS_API dependency to selection

On Tue, Jan 02, 2018 at 10:29:30AM +0100, Linus Walleij wrote:
>On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
><[email protected]> wrote:
>
>> 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.
>
>OK I just need a bunch of ACKs so giving subsystem maintainers some
>days to come back on this.
>
>Yours,
>Linus Walleij

Hi Linus,

Do you have any objections to picking up this patchset now; or would you
prefer to wait for some more input from the other maintainers?

William Breathitt Gray

2018-02-19 14:48:52

by Maciej S. Szmigiero

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] Change ISA_BUS_API dependency to selection

Hi all,

On 31.01.2018 03:22, William Breathitt Gray wrote:
> On Tue, Jan 02, 2018 at 10:29:30AM +0100, Linus Walleij wrote:
>> On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
>> <[email protected]> wrote:
>>
>>> 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.
>>
>> OK I just need a bunch of ACKs so giving subsystem maintainers some
>> days to come back on this.
>>
>> Yours,
>> Linus Walleij
>
> Hi Linus,
>
> Do you have any objections to picking up this patchset now; or would you
> prefer to wait for some more input from the other maintainers?
>
> William Breathitt Gray
>

Anything still blocking this patchset?
It is a pure Kconfig change, however it has been waiting nearly
2 months now...

Maciej

2018-02-22 15:14:47

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] Change ISA_BUS_API dependency to selection

On Wed, Jan 31, 2018 at 3:22 AM, William Breathitt Gray
<[email protected]> wrote:
> On Tue, Jan 02, 2018 at 10:29:30AM +0100, Linus Walleij wrote:
>>On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
>><[email protected]> wrote:
>>
>>> 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.
>>
>>OK I just need a bunch of ACKs so giving subsystem maintainers some
>>days to come back on this.
>>
>>Yours,
>>Linus Walleij
>
> Hi Linus,
>
> Do you have any objections to picking up this patchset now; or would you
> prefer to wait for some more input from the other maintainers?

No I will try to apply it and see what happens :)

Yours,
Linus Walleij

2018-02-22 15:16:17

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 1/5] iio: Change ISA_BUS_API dependency to selection

On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
<[email protected]> wrote:

> 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 <[email protected]>
> Cc: Peter Meerwald-Stadler <[email protected]>
> Signed-off-by: William Breathitt Gray <[email protected]>

Patch applied to the GPIO tree for v4.17.

Yours,
Linus Walleij

2018-02-22 15:17:02

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 2/5] watchdog: Change ISA_BUS_API dependency to selection

On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
<[email protected]> wrote:

> 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]>
> Acked-by: Guenter Roeck <[email protected]>
> Signed-off-by: William Breathitt Gray <[email protected]>

Patch applied to the GPIO tree for v4.17.

Yours,
Linus Walleij

2018-02-22 15:17:50

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] gpio: Change ISA_BUS_API dependency to selection

On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
<[email protected]> wrote:

> 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: Linus Walleij <[email protected]>
> Signed-off-by: William Breathitt Gray <[email protected]>

Patch applied to the GPIO tree for v4.17.

Can you confirm that we don't have any dangling ISA
drivers not using this?

Yours,
Linus Walleij

2018-02-22 15:19:00

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 4/5] isa: Remove ISA_BUS_API selection for ISA_BUS

On Fri, Dec 29, 2017 at 9:14 PM, William Breathitt Gray
<[email protected]> wrote:

> ISA_BUS_API is selected by drivers themselves when necessary. The
> ISA_BUS Kconfig option is now simply a mask for true ISA device drivers
> and relevant configuration. For now, the ISA_BUS Kconfig option is only
> available for X86, but may be added for other arch builds in the future
> if the need arises.
>
> Signed-off-by: William Breathitt Gray <[email protected]>

Patch applied to the GPIO tree for v4.17.

I'd like to have some ACK from some x86 maintainer for this
so it makes me a bit nervous.

Yet again the patch has been sitting since december with no
comments so...

Yours,
Linus Walleij

2018-02-22 15:22:28

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 5/5] pc104: Add EXPERT dependency for PC104 Kconfig option

On Fri, Dec 29, 2017 at 9:14 PM, William Breathitt Gray
<[email protected]> wrote:

> PC/104 device driver Kconfig options previously had an implicit EXPERT
> dependency by way of an explicit ISA_BUS_API dependency. Now that these
> driver Kconfig options select ISA_BUS_API rather than depend on it, the
> PC104 Kconfig option should have an explicit EXPERT dependency.
>
> The PC/104 form factor and bus architecture are common in embedded
> and specialized systems, but uncommon in typical desktop setups. For
> this reason, it is best to mask these devices and configurations via the
> EXPERT Kconfig option because the majority of users will never need to
> concern themselves with PC/104.
>
> Signed-off-by: William Breathitt Gray <[email protected]>

Patch applied to the GPIO tree for v4.17.

I don't know what kind of definition of "expert" really applies here.

Who in their right mind think that novices are using the kernel
configuration interface. Isn't anyone doing kernel compiles
entitled to be called an expert...

Anyways I guess this has already been discussed.

Yours,
Linus Walleij

2018-02-22 20:31:50

by William Breathitt Gray

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] gpio: Change ISA_BUS_API dependency to selection

On Thu, Feb 22, 2018 at 04:16:17PM +0100, Linus Walleij wrote:
>On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
><[email protected]> wrote:
>
>> 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: Linus Walleij <[email protected]>
>> Signed-off-by: William Breathitt Gray <[email protected]>
>
>Patch applied to the GPIO tree for v4.17.
>
>Can you confirm that we don't have any dangling ISA
>drivers not using this?
>
>Yours,
>Linus Walleij

Hi Linus,

This patchset should cover all current mainline drivers depending on
ISA_BUS_API.

However, there are existing drivers for ISA compatible devices that
would benefit from utilizing struct isa_driver rather than struct
platform_driver as was done for the Winbond GPIO driver; for example,
a number of the drivers under the "Port-mapped I/O GPIO drivers" menu
are also for Super I/O devices and may benefit from using struct
isa_driver. I thought it best to let the respective maintainers of those
drivers make the changes if they so desire, since the primary benefit of
struct isa_driver over struct platform_driver is code clarity in my
opinion.

I may submit patches myself for some of the low-hanging fruit later this
year if I find the time. Right now implementing the counter subsystem
has been my priority, but perhaps some downtime will be available soon
enough for me to add ISA driver improvements to my plate -- we'll just
have to see how it all goes. :)

William Breathitt Gray

2018-02-22 20:45:24

by Maciej S. Szmigiero

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] gpio: Change ISA_BUS_API dependency to selection

Hi William,
Hi Linus,

On 22.02.2018 21:30, William Breathitt Gray wrote:
> On Thu, Feb 22, 2018 at 04:16:17PM +0100, Linus Walleij wrote:
>> On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
>> <[email protected]> wrote:
>>
>>> 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: Linus Walleij <[email protected]>
>>> Signed-off-by: William Breathitt Gray <[email protected]>
>>
>> Patch applied to the GPIO tree for v4.17.
>>
>> Can you confirm that we don't have any dangling ISA
>> drivers not using this?
>>
>> Yours,
>> Linus Walleij
>
> Hi Linus,
>
> This patchset should cover all current mainline drivers depending on
> ISA_BUS_API.
>

Thanks for merging this series!

Note that gpio-winbond (CONFIG_GPIO_WINBOND) driver was originally
merged using ISA_BUS_API selection as done for other ISA bus gpio drivers
by this patch, then temporary switched to the previous ("depends on")
style by commit 92a8046c9d952a to fix a circular Kconfig dependency.
So now this commit (92...) should be reverted to make gpio-winbond
driver Kconfig dependency / selection consistent with the remaining ISA
bus gpio drivers.

Unfortunately, I can't test the reversion myself because it looks like
Linus didn't push his trees yet to git.kernel.org after applying this
series (or I am not looking at the right place - linusw/linux-gpio.git?).

Best regards,
Maciej

2018-02-22 20:46:24

by William Breathitt Gray

[permalink] [raw]
Subject: Re: [PATCH v2 5/5] pc104: Add EXPERT dependency for PC104 Kconfig option

On Thu, Feb 22, 2018 at 04:20:46PM +0100, Linus Walleij wrote:
>On Fri, Dec 29, 2017 at 9:14 PM, William Breathitt Gray
><[email protected]> wrote:
>
>> PC/104 device driver Kconfig options previously had an implicit EXPERT
>> dependency by way of an explicit ISA_BUS_API dependency. Now that these
>> driver Kconfig options select ISA_BUS_API rather than depend on it, the
>> PC104 Kconfig option should have an explicit EXPERT dependency.
>>
>> The PC/104 form factor and bus architecture are common in embedded
>> and specialized systems, but uncommon in typical desktop setups. For
>> this reason, it is best to mask these devices and configurations via the
>> EXPERT Kconfig option because the majority of users will never need to
>> concern themselves with PC/104.
>>
>> Signed-off-by: William Breathitt Gray <[email protected]>
>
>Patch applied to the GPIO tree for v4.17.
>
>I don't know what kind of definition of "expert" really applies here.
>
>Who in their right mind think that novices are using the kernel
>configuration interface. Isn't anyone doing kernel compiles
>entitled to be called an expert...
>
>Anyways I guess this has already been discussed.
>
>Yours,
>Linus Walleij

I'm inclined to agree with you on this point. I believe there is benefit
in masking uncommon hardware configurations such as PC/104 in order to
reduce clutter in the menus, but you are right that "expert" sounds
somewhat of a misnomer for this use case. I considered adding yet
another Kconfig option to mask these options, but since Kconfig code
isn't my forte, I ultimately decided to keep it simple and depend simply
on EXPERT.

The PC104 Kconfig option has been implicitly masked by EXPERT up to this
point, so I thought it best to keep it masked as it has been thus far.
However, since all this masking is essentially just an aesthetic matter,
I'm somewhat indifferent and open to removing the EXPERT dependency
as well; I'll let someone else make that call rather I.

William Breathitt Gray

2018-02-23 13:52:20

by Maciej S. Szmigiero

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] gpio: Change ISA_BUS_API dependency to selection

On 22.02.2018 21:44, Maciej S. Szmigiero wrote:
> Hi William,
> Hi Linus,
>
> On 22.02.2018 21:30, William Breathitt Gray wrote:
>> On Thu, Feb 22, 2018 at 04:16:17PM +0100, Linus Walleij wrote:
>>> On Fri, Dec 29, 2017 at 9:13 PM, William Breathitt Gray
>>> <[email protected]> wrote:
>>>
>>>> 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: Linus Walleij <[email protected]>
>>>> Signed-off-by: William Breathitt Gray <[email protected]>
>>>
>>> Patch applied to the GPIO tree for v4.17.
>>>
>>> Can you confirm that we don't have any dangling ISA
>>> drivers not using this?
>>>
>>> Yours,
>>> Linus Walleij
>>
>> Hi Linus,
>>
>> This patchset should cover all current mainline drivers depending on
>> ISA_BUS_API.
>>
>
> Thanks for merging this series!
>
> Note that gpio-winbond (CONFIG_GPIO_WINBOND) driver was originally
> merged using ISA_BUS_API selection as done for other ISA bus gpio drivers
> by this patch, then temporary switched to the previous ("depends on")
> style by commit 92a8046c9d952a to fix a circular Kconfig dependency.
> So now this commit (92...) should be reverted to make gpio-winbond
> driver Kconfig dependency / selection consistent with the remaining ISA
> bus gpio drivers.
>
> Unfortunately, I can't test the reversion myself because it looks like
> Linus didn't push his trees yet to git.kernel.org after applying this
> series (or I am not looking at the right place - linusw/linux-gpio.git?).

It looks like the series has been pushed to git.kernel.org now.
I have tested the reversion of commit 92a8046c9d952a and can confirm
that the ISA_BUS_API dependency / selection for gpio-winbond works
then as intended (in a way that is consistent with other ISA bus gpio
drivers).

@Linus:
Will you revert that commit or should I submit a patch that does it?

Maciej

2018-02-23 14:10:51

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] gpio: Change ISA_BUS_API dependency to selection

On Fri, Feb 23, 2018 at 2:50 PM, Maciej S. Szmigiero
<[email protected]> wrote:
> On 22.02.2018 21:44, Maciej S. Szmigiero wrote:

>> Note that gpio-winbond (CONFIG_GPIO_WINBOND) driver was originally
>> merged using ISA_BUS_API selection as done for other ISA bus gpio drivers
>> by this patch, then temporary switched to the previous ("depends on")
>> style by commit 92a8046c9d952a to fix a circular Kconfig dependency.
>> So now this commit (92...) should be reverted to make gpio-winbond
>> driver Kconfig dependency / selection consistent with the remaining ISA
>> bus gpio drivers.
>>
>> Unfortunately, I can't test the reversion myself because it looks like
>> Linus didn't push his trees yet to git.kernel.org after applying this
>> series (or I am not looking at the right place - linusw/linux-gpio.git?).
>
> It looks like the series has been pushed to git.kernel.org now.
> I have tested the reversion of commit 92a8046c9d952a and can confirm
> that the ISA_BUS_API dependency / selection for gpio-winbond works
> then as intended (in a way that is consistent with other ISA bus gpio
> drivers).
>
> @Linus:
> Will you revert that commit or should I submit a patch that does it?

Oh send me a patch, that's easiest.

Yours,
Linus Walleij