From: William Breathitt Gray <william.gray@linaro.org>
To: David Laight <David.Laight@aculab.com>
Cc: 'Linus Walleij' <linus.walleij@linaro.org>,
Niklas Schnelle <schnelle@linux.ibm.com>,
Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
Arnd Bergmann <arnd@kernel.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>
Subject: Re: [RFC v2 10/39] gpio: add HAS_IOPORT dependencies
Date: Tue, 3 May 2022 10:03:39 -0400 [thread overview]
Message-ID: <YnE2OxAsXmXSB87L@fedora> (raw)
In-Reply-To: <c3a3cdd99d4645e2bbbe082808cbb2a5@AcuMS.aculab.com>
[-- Attachment #1: Type: text/plain, Size: 2826 bytes --]
On Tue, May 03, 2022 at 01:08:04PM +0000, David Laight wrote:
> From: Linus Walleij
> > Sent: 01 May 2022 22:56
> >
> > On Fri, Apr 29, 2022 at 5:37 PM William Breathitt Gray
> > <william.gray@linaro.org> wrote:
> > > On Fri, Apr 29, 2022 at 04:46:00PM +0200, Niklas Schnelle wrote:
> >
> > > > Good question. As far as I can see most (all?) of these have "select
> > > > ISA_BUS_API" which is "def_bool ISA". Now "config ISA" seems to
> > > > currently be repeated in architectures and doesn't have an explicit
> > > > HAS_IOPORT dependency (it maybe should have one). But it does only make
> > > > sense on architectures with HAS_IOPORT set.
> > >
> > > There is such a thing as ISA DMA, but you'll still need to initialize
> > > the device via the IO Port bus first, so perhaps setting HAS_IOPORT for
> > > "config ISA" is the right thing to do: all ISA devices are expected to
> > > communicate in some way via ioport.
> >
> > Adding that dependency seems like the right solution to me.
>
> I think it all depends on what HAS_IOPORT is meant to mean and
> how portable kernel binaries need to be.
>
> x86 is (probably) the only architecture that actually has 'in'
> and 'out' instructions - but that doesn't mean that some other
> cpu (and I mean cpu+pcb not architecture) have the ability to
> generate 'IO' bus cycles on a specific physical bus.
>
> While the obvious case is a physical address window that generates
> PCI(e) IO cycles from normal memory cycles it isn't the only one.
>
> I've used sparc cpu systems that have pcmcia card slots.
> These are pretty much ISA and the drivers might expect to
> access port 0x300 (etc) - certainly that would be right on x86.
>
> In this case is isn't so much that the ISA_BUS depends on support
> for in/out but that presence of the ISA bus provides the required
> in/out support.
That's true, it does seem somewhat backwards to have a depends on line
when the bus is really just providing the support for devices that want
to use it rather than requiring it. Do you think a HAVE_IOPORT line
should be added independently for each driver instead of adding it to
ISA_BUS?
> Now, maybe, the drivers should be using some ioremap variant and
> then calling ioread8() rather than directly calling inb().
> But that seems orthogonal to this changeset.
>
> David
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)
Using ioremap() does have the benefit of making it easier to reuse the
code for some of these PC104 drivers with their PCI device variants; the
ioread8() calls and such can stay the same and we just initialize to the
proper address during probe. I plan to look into this in the future
then.
William Breathitt Gray
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2022-05-03 14:03 UTC|newest]
Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-29 13:49 [RFC v2 00/39] Kconfig: Introduce HAS_IOPORT config option Niklas Schnelle
2022-04-29 13:49 ` [RFC v2 01/39] Kconfig: introduce HAS_IOPORT option and select it as necessary Niklas Schnelle
2022-05-01 22:40 ` Maciej W. Rozycki
2022-05-04 21:08 ` Bjorn Helgaas
2022-05-04 21:31 ` Arnd Bergmann
2022-05-05 8:10 ` Niklas Schnelle
2022-05-05 16:10 ` Bjorn Helgaas
2022-05-05 17:39 ` Arnd Bergmann
2022-05-05 19:53 ` Bjorn Helgaas
2022-05-06 9:12 ` Finn Thain
2022-05-06 11:18 ` Niklas Schnelle
2022-05-07 0:01 ` Finn Thain
2022-05-07 13:14 ` Arnd Bergmann
2022-05-07 23:59 ` Finn Thain
2022-05-08 0:15 ` Finn Thain
2022-05-06 9:38 ` Niklas Schnelle
2022-05-06 11:07 ` John Garry
2022-05-06 10:20 ` Maciej W. Rozycki
2022-05-06 11:33 ` Arnd Bergmann
2022-05-06 12:27 ` Maciej W. Rozycki
2022-05-06 12:53 ` David Laight
2022-05-06 13:08 ` Geert Uytterhoeven
2022-05-06 13:40 ` Maciej W. Rozycki
2022-05-06 14:03 ` David Laight
2022-05-06 15:02 ` Geert Uytterhoeven
2022-05-06 13:15 ` Maciej W. Rozycki
2022-05-06 13:28 ` David Laight
2022-05-06 14:44 ` Maciej W. Rozycki
2022-05-06 14:56 ` Geert Uytterhoeven
2022-05-06 15:03 ` Maciej W. Rozycki
2022-05-06 12:53 ` Arnd Bergmann
2022-05-06 13:15 ` Niklas Schnelle
2022-05-06 13:16 ` Maciej W. Rozycki
2022-05-06 12:55 ` Niklas Schnelle
2022-05-06 12:42 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 02/39] ACPI: add dependency on HAS_IOPORT Niklas Schnelle
2022-05-04 13:23 ` Rafael J. Wysocki
2022-05-04 17:53 ` Bjorn Helgaas
2022-05-04 19:58 ` Arnd Bergmann
2022-05-05 8:20 ` Niklas Schnelle
2022-05-05 19:36 ` Bjorn Helgaas
2022-04-29 13:50 ` [PATCH 02/37] ata: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 14:27 ` Niklas Schnelle
2022-04-29 13:50 ` [PATCH 03/37] ACPI: add dependency on HAS_IOPORT Niklas Schnelle
2022-04-29 14:28 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 03/39] ata: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 04/39] char: impi, tpm: depend on HAS_IOPORT Niklas Schnelle
2022-04-29 14:23 ` Niklas Schnelle
2022-04-29 14:33 ` Ahmad Fatoum
2022-05-02 14:34 ` Niklas Schnelle
2022-04-29 13:50 ` [PATCH 04/37] parport: PC style parport depends " Niklas Schnelle
2022-04-29 14:28 ` Niklas Schnelle
2022-04-29 13:50 ` [PATCH 05/37] char: impi, tpm: depend " Niklas Schnelle
2022-04-29 14:02 ` Ahmad Fatoum
2022-04-29 13:50 ` [RFC v2 05/39] comedi: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 06/39] counter: " Niklas Schnelle
2022-04-29 13:50 ` [PATCH 06/37] speakup: add HAS_IOPORT dependency for SPEAKUP_SERIALIO Niklas Schnelle
2022-04-29 14:28 ` Samuel Thibault
2022-04-29 14:28 ` Niklas Schnelle
2022-04-29 14:29 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 07/39] /dev/port: don't compile file operations without CONFIG_DEVPORT Niklas Schnelle
2022-04-29 13:50 ` [PATCH 07/37] Input: gameport: add ISA and HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 14:29 ` Niklas Schnelle
2022-04-29 13:50 ` [PATCH 08/37] comedi: add " Niklas Schnelle
2022-04-29 14:30 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 08/39] drm: handle " Niklas Schnelle
2022-04-29 13:50 ` [PATCH 09/37] counter: add " Niklas Schnelle
2022-04-29 14:30 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 09/39] firmware: dmi-sysfs: handle HAS_IOPORT=n Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 10/39] gpio: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 14:32 ` William Breathitt Gray
2022-04-29 14:46 ` Niklas Schnelle
2022-04-29 15:37 ` William Breathitt Gray
2022-05-01 21:55 ` Linus Walleij
2022-05-02 12:53 ` Niklas Schnelle
2022-05-03 13:08 ` David Laight
2022-05-03 14:03 ` William Breathitt Gray [this message]
2022-05-04 11:46 ` Maciej W. Rozycki
2022-05-04 12:45 ` David Laight
2022-05-04 13:02 ` Maciej W. Rozycki
2022-05-02 13:21 ` Maciej W. Rozycki
2022-04-29 13:50 ` [RFC v2 11/39] hwmon: " Niklas Schnelle
2022-04-30 0:37 ` Guenter Roeck
2022-04-29 13:50 ` [PATCH 11/37] sound: " Niklas Schnelle
2022-04-29 14:30 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 12/39] i2c: " Niklas Schnelle
2022-05-14 14:06 ` Wolfram Sang
2022-04-29 13:50 ` [RFC v2 13/39] iio: adc: Kconfig: " Niklas Schnelle
2022-05-01 16:51 ` Jonathan Cameron
2022-04-29 13:50 ` [PATCH 13/37] Input: " Niklas Schnelle
2022-04-29 14:31 ` Niklas Schnelle
2022-04-29 13:50 ` [PATCH 14/37] iio: adc: Kconfig: " Niklas Schnelle
2022-04-29 14:31 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 14/39] Input: " Niklas Schnelle
2022-04-29 13:50 ` [PATCH 15/37] hwmon: " Niklas Schnelle
2022-04-29 14:31 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 15/39] Input: gameport: add ISA and " Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 16/39] leds: add " Niklas Schnelle
2022-04-29 18:54 ` Pavel Machek
2022-05-02 8:31 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 17/39] media: " Niklas Schnelle
2022-04-29 15:36 ` Sean Young
2022-04-29 13:50 ` [RFC v2 18/39] misc: " Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 19/39] mISDN: " Niklas Schnelle
2022-04-29 13:50 ` [PATCH 19/37] mpt fusion: " Niklas Schnelle
2022-04-29 14:32 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 20/39] " Niklas Schnelle
2022-04-29 13:50 ` [PATCH 20/37] net: " Niklas Schnelle
2022-04-29 14:33 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 21/39] " Niklas Schnelle
2022-04-29 14:13 ` Marc Kleine-Budde
2022-05-01 22:48 ` Maciej W. Rozycki
2022-05-03 12:45 ` Niklas Schnelle
2022-05-03 13:36 ` Maciej W. Rozycki
2022-04-29 13:50 ` [PATCH 21/37] pcmcia: " Niklas Schnelle
2022-04-29 14:33 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 22/39] parport: PC style parport depends on HAS_IOPORT Niklas Schnelle
2022-04-29 13:50 ` [PATCH 22/37] platform: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 14:33 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 23/39] PCI: make quirk using inw() depend on HAS_IOPORT Niklas Schnelle
2022-06-08 18:30 ` Bjorn Helgaas
2022-04-29 13:50 ` [PATCH 23/37] pnp: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 14:34 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 24/39] PCI/sysfs: make I/O resource depend on HAS_IOPORT Niklas Schnelle
2022-06-08 18:32 ` Bjorn Helgaas
2022-04-29 13:50 ` [PATCH 24/37] power: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 14:34 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 25/39] pcmcia: " Niklas Schnelle
2022-05-03 23:38 ` Bjorn Helgaas
2022-05-04 10:33 ` Arnd Bergmann
2022-05-04 12:38 ` Maciej W. Rozycki
2022-05-04 14:07 ` Arnd Bergmann
2022-05-04 14:24 ` Maciej W. Rozycki
2022-05-04 17:22 ` Bjorn Helgaas
2022-05-05 8:45 ` Maciej W. Rozycki
2022-05-05 19:38 ` Bjorn Helgaas
2022-05-04 14:44 ` David Laight
2022-05-05 12:03 ` Maciej W. Rozycki
2022-05-04 14:59 ` Niklas Schnelle
2022-04-29 13:50 ` [PATCH 25/37] video: handle " Niklas Schnelle
2022-04-29 14:35 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 26/39] platform: add " Niklas Schnelle
2022-04-29 13:50 ` [PATCH 26/37] rtc: " Niklas Schnelle
2022-04-29 14:46 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 27/39] pnp: " Niklas Schnelle
2022-04-29 13:50 ` [PATCH 27/37] scsi: " Niklas Schnelle
2022-04-29 14:46 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 28/39] power: " Niklas Schnelle
2022-04-29 13:50 ` [PATCH 28/37] staging: sm750fb: " Niklas Schnelle
2022-04-29 14:47 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 29/39] rtc: " Niklas Schnelle
2022-05-17 22:15 ` Alexandre Belloni
2022-05-18 13:47 ` Niklas Schnelle
2022-06-01 12:25 ` Maciej W. Rozycki
2022-04-29 13:50 ` [PATCH 29/37] tty: serial: " Niklas Schnelle
2022-04-29 14:47 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 30/39] scsi: " Niklas Schnelle
2022-05-04 20:42 ` Bjorn Helgaas
2022-05-04 21:34 ` Arnd Bergmann
2022-05-05 16:06 ` Bjorn Helgaas
2022-04-29 13:50 ` [PATCH 30/37] watchdog: " Niklas Schnelle
2022-04-29 14:47 ` Niklas Schnelle
2022-04-29 13:50 ` [PATCH 31/37] drm: handle " Niklas Schnelle
2022-04-29 14:47 ` Niklas Schnelle
2022-04-29 13:50 ` [RFC v2 31/39] sound: add " Niklas Schnelle
2022-05-09 8:53 ` Takashi Iwai
2022-05-09 9:20 ` Arnd Bergmann
2022-05-09 10:07 ` Takashi Iwai
2022-05-09 12:14 ` Niklas Schnelle
2022-04-29 13:50 ` [PATCH 32/37] PCI/sysfs: make I/O resource depend on HAS_IOPORT Niklas Schnelle
2022-04-29 14:48 ` Niklas Schnelle
2022-05-05 21:41 ` Bjorn Helgaas
2022-04-29 13:50 ` [RFC v2 32/39] speakup: add HAS_IOPORT dependency for SPEAKUP_SERIALIO Niklas Schnelle
2022-04-29 13:50 ` [PATCH 33/37] PCI: make quirk using inw() depend on HAS_IOPORT Niklas Schnelle
2022-04-29 14:48 ` Niklas Schnelle
2022-05-05 21:44 ` Bjorn Helgaas
2022-04-29 13:50 ` [RFC v2 33/39] staging: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-29 13:50 ` [PATCH 34/37] firmware: dmi-sysfs: handle HAS_IOPORT=n Niklas Schnelle
2022-04-29 14:48 ` Niklas Schnelle
2022-04-29 13:51 ` [RFC v2 34/39] tty: serial: add HAS_IOPORT dependencies Niklas Schnelle
2022-05-02 9:15 ` Maciej W. Rozycki
2022-04-29 13:51 ` [PATCH 35/37] /dev/port: don't compile file operations without CONFIG_DEVPORT Niklas Schnelle
2022-04-29 14:49 ` Niklas Schnelle
2022-04-29 13:51 ` [RFC v2 35/39] usb: handle HAS_IOPORT dependencies Niklas Schnelle
2022-04-30 12:56 ` Alan Stern
2022-05-02 8:26 ` Niklas Schnelle
2022-04-29 13:51 ` [PATCH 36/37] " Niklas Schnelle
2022-04-29 14:49 ` Niklas Schnelle
2022-04-29 13:51 ` [RFC v2 36/39] video: " Niklas Schnelle
2022-04-29 13:51 ` [PATCH 37/37] asm-generic/io.h: drop inb() etc for HAS_IOPORT=n Niklas Schnelle
2022-04-29 14:49 ` Niklas Schnelle
2022-04-29 13:51 ` [RFC v2 37/39] watchdog: add HAS_IOPORT dependencies Niklas Schnelle
2022-04-30 0:38 ` Guenter Roeck
2022-04-29 13:51 ` [RFC v2 38/39] wireless: " Niklas Schnelle
2022-04-29 14:40 ` Kalle Valo
2022-04-29 13:51 ` [RFC v2 39/39] asm-generic/io.h: drop inb() etc for HAS_IOPORT=n Niklas Schnelle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YnE2OxAsXmXSB87L@fedora \
--to=william.gray@linaro.org \
--cc=David.Laight@aculab.com \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=brgl@bgdev.pl \
--cc=gregkh@linuxfoundation.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=schnelle@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox