Linux ATA/IDE development
 help / color / mirror / Atom feed
From: Damien Le Moal <dlemoal@kernel.org>
To: Sergey Shtylyov <s.shtylyov@omp.ru>,
	linux-ide@vger.kernel.org, Niklas Cassel <cassel@kernel.org>
Cc: lvc-project@linuxtesting.org
Subject: Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
Date: Wed, 11 Sep 2024 07:22:04 +0900	[thread overview]
Message-ID: <9d7e0d4f-1445-4729-9e4d-9058c35db1b2@kernel.org> (raw)
In-Reply-To: <65e70327-62e1-3b1a-7b69-eae765241b5c@omp.ru>

On 9/10/24 23:36, Sergey Shtylyov wrote:
> [Resending after adding the missed test, please ignore the previus reply.)
> 
> On 9/10/24 4:09 PM, Damien Le Moal wrote:
> [...]
> 
>>>>> Replace now gone out of fashion defined(CONFIG_PATA_TOSHIBA[_MODULE])
> 
>    I'll probably rephrase this a bit in v2...
> 
>>>>> with the new-fangled IS_ENABLED() macro in the ata_generic[] definition.
>>>>
>>>> Please mention that CONFIG_PATA_TOSHIBA_MODULE actually does not exist at all
>>>> and so can be removed.
>>>
>>>    Huh? =)
>>>    CONFIG_PATA_TOSHIBA is a tristate option, so CONFIG_PATA_TOSHIBA_MODULE
>>> does exist; else there would be no point in using IS_ENABLED() at all...
>>
>> Oops... Indeed. Got confused with something else :)
> 
>    There's something to be confused about this driver vs its Kconfig option
> naming: the driver is called pata_piccolo.c and its option CONFIG_PATA_TOSHIBA.
> However, Toshiba seemingly has more than one family of the PATA controllers:
> there's also TC86C001 PCI multi-function chip (dubbed GOKU-S by Toshiba) which
> supports up to UDMA66 and doesn't seem compatible with Piccolo, judging by the
> driver code and Toshiba GOKU-S datasheet I have: the timing regs are mapped @
> AR5 and not in the PCI config space, like with the Piccolo chips.
>    If somebody like me (it was me who submitted the reworked Toshiba's TC86C001
> driver for drivers/ide/ back in 2007) added TC86C001 libata driver, the confusion
> would probably worsen... :-/ Luckily, the chip is a bit tricky (I had to somewhat
> abuse drivers/ide/ to work around some "limitations", as Toshiba calls their errata)
> and I don't have access to the chip to properly test the driver anymore.  Obviously, there should be a little interest now in adding the "new" PATA drivers... :-)
>    Any thoughts on the naming confusion?

Maybe rename the option to CONFIG_PATA_TOSHIBA_PICCCOLO ?

> 
>>>>> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
>>>
>>> [...[
>>>
>>>>> Index: linux/drivers/ata/ata_generic.c
>>>>> ===================================================================
>>>>> --- linux.orig/drivers/ata/ata_generic.c
>>>>> +++ linux/drivers/ata/ata_generic.c
>>>>> @@ -220,7 +220,7 @@ static struct pci_device_id ata_generic[
>>>>>  	{ PCI_DEVICE(PCI_VENDOR_ID_OPTI,   PCI_DEVICE_ID_OPTI_82C558), },
>>>>>  	{ PCI_DEVICE(PCI_VENDOR_ID_CENATEK,PCI_DEVICE_ID_CENATEK_IDE),
>>>>>  	  .driver_data = ATA_GEN_FORCE_DMA },
>>>>> -#if !defined(CONFIG_PATA_TOSHIBA) && !defined(CONFIG_PATA_TOSHIBA_MODULE)
>>>>> +#if !IS_ENABLED(CONFIG_PATA_TOSHIBA)
>>>>
>>>> I do not understand the negation here... It seems very wrong. If the driver is
>>>> indeed enabled, we need to add its PCI ID, no ? and the reverse when not defined...
>>>
>>>    The separate driver was added by Alan Cox in 2009, before that
>>> Toshiba Piccolo controllers were handled by this generic driver...
>>
>> OK, makes sense now. Maybe we should add a comment above that IS_ENABLED() to
>> say so ?
> 
>    Makes sense, indeed. Do you think this is acceptable to be done in v2 of this
> patch?

Yep, that is fine and would fit with the config option renaming.

> 
> MBR, Sergey

-- 
Damien Le Moal
Western Digital Research


  reply	other threads:[~2024-09-10 22:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-09 20:51 [PATCH] ata: ata_generic: use IS_ENABLED() macro Sergey Shtylyov
2024-09-10  4:50 ` Damien Le Moal
2024-09-10  8:52   ` Sergey Shtylyov
2024-09-10 13:09     ` Damien Le Moal
2024-09-10 14:32       ` Sergey Shtylyov
2024-09-10 14:36       ` Sergey Shtylyov
2024-09-10 22:22         ` Damien Le Moal [this message]
2024-09-11 17:14           ` Sergey Shtylyov
2024-09-13  6:57             ` Niklas Cassel
2024-09-13 19:36               ` Sergey Shtylyov
2024-09-14 17:53           ` Sergey Shtylyov

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=9d7e0d4f-1445-4729-9e4d-9058c35db1b2@kernel.org \
    --to=dlemoal@kernel.org \
    --cc=cassel@kernel.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=lvc-project@linuxtesting.org \
    --cc=s.shtylyov@omp.ru \
    /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