Re: [PATCH v3 02/38] ata: add HAS_IOPORT dependencies

Damien Le Moal
2023-03-15T23:58:25Z

On 2023/03/15 20:36, Geert Uytterhoeven wrote:
> Hi Damien,
>
> On Wed, Mar 15, 2023 at 10:12 AM Damien Le Moal
> <damien.lemoal@opensource.wdc.com> wrote:
>> On 3/15/23 17:39, Geert Uytterhoeven wrote:
>>> On Tue, Mar 14, 2023 at 1:12 PM Niklas Schnelle <schnelle@linux.ibm.com> wrote:
>>>> In a future patch HAS_IOPORT=n will result in inb()/outb() and friends
>>>> not being declared. We thus need to add HAS_IOPORT as dependency for
>>>> those drivers using them.
>>>>
>>>> Co-developed-by: Arnd Bergmann <arnd@kernel.org>
>>>> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
>>>
>>> Thanks for your patch!
>>>
>>>> --- a/drivers/ata/Kconfig
>>>> +++ b/drivers/ata/Kconfig
>>>> @@ -342,6 +342,7 @@ endif # HAS_DMA
>>>>
>>>> config ATA_SFF
>>>> bool "ATA SFF support (for legacy IDE and PATA)"
>>>> + depends on HAS_IOPORT
>>>> default y
>>>> help
>>>> This option adds support for ATA controllers with SFF
>>>
>>> ATA_SFF is a dependency for lots of (S)ATA drivers.
>>> (at least) The following don't use I/O port access:
>>>
>>> CONFIG_SATA_RCAR (arm/arm64)
>>> CONFIG_PATA_FALCON (m68k/atari and m68k/q40)
>>> CONFIG_PATA_GAYLE (m68k/amiga)
>>> CONFIG_PATA_BUDDHA (m68k/amiga)
>>>
>>> (at least) The following can use either MMIO or I/O port accesses:
>>>
>>> CONFIG_PATA_PLATFORM (m68k/mac)
>>
>> But for these arch/platforms, would there be any reason to not have HAS_IOPORT ?
>> It is supported right now, so we should have HAS_IOPORT for them.
>
> That's the point: on Amiga and Atari, HAS_IOPORT is optional, and
> not related to IDE support. On Mac, it is never present.

Ah. OK. I see now. So indeed, applying the dependency on the entire ATA_SFF
group of drivers is very coarse.

Niklas,

Can you change this to apply the dependency per driver ?

--
Damien Le Moal
Western Digital Research