Linux ATA/IDE development
 help / color / mirror / Atom feed
* [PATCH] ata: ata_generic: use IS_ENABLED() macro
@ 2024-09-09 20:51 Sergey Shtylyov
  2024-09-10  4:50 ` Damien Le Moal
  0 siblings, 1 reply; 11+ messages in thread
From: Sergey Shtylyov @ 2024-09-09 20:51 UTC (permalink / raw)
  To: linux-ide, Damien Le Moal, Niklas Cassel; +Cc: lvc-project

Replace now gone out of fashion defined(CONFIG_PATA_TOSHIBA[_MODULE])
with the new-fangled IS_ENABLED() macro in the ata_generic[] definition.

Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>

---
This patch is against the for-next branch of the LibATA Group's repo.

 drivers/ata/ata_generic.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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)
 	{ PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1), },
 	{ PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2),  },
 	{ PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_3),  },

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  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
  0 siblings, 1 reply; 11+ messages in thread
From: Damien Le Moal @ 2024-09-10  4:50 UTC (permalink / raw)
  To: Sergey Shtylyov, linux-ide, Niklas Cassel; +Cc: lvc-project

On 9/10/24 5:51 AM, Sergey Shtylyov wrote:
> Replace now gone out of fashion defined(CONFIG_PATA_TOSHIBA[_MODULE])
> 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.

> 
> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
> 
> ---
> This patch is against the for-next branch of the LibATA Group's repo.
> 
>  drivers/ata/ata_generic.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 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...

>  	{ PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1), },
>  	{ PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2),  },
>  	{ PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_3),  },
> 


-- 
Damien Le Moal
Western Digital Research

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  2024-09-10  4:50 ` Damien Le Moal
@ 2024-09-10  8:52   ` Sergey Shtylyov
  2024-09-10 13:09     ` Damien Le Moal
  0 siblings, 1 reply; 11+ messages in thread
From: Sergey Shtylyov @ 2024-09-10  8:52 UTC (permalink / raw)
  To: Damien Le Moal, linux-ide, Niklas Cassel; +Cc: lvc-project

On 9/10/24 7:50 AM, Damien Le Moal wrote:
[...]

>> Replace now gone out of fashion defined(CONFIG_PATA_TOSHIBA[_MODULE])
>> 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...

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

[...]

MBR, Sergey

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  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
  0 siblings, 2 replies; 11+ messages in thread
From: Damien Le Moal @ 2024-09-10 13:09 UTC (permalink / raw)
  To: Sergey Shtylyov, linux-ide, Niklas Cassel; +Cc: lvc-project

On 2024/09/10 17:52, Sergey Shtylyov wrote:
> On 9/10/24 7:50 AM, Damien Le Moal wrote:
> [...]
> 
>>> Replace now gone out of fashion defined(CONFIG_PATA_TOSHIBA[_MODULE])
>>> 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 :)

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

> 
> [...]
> 
> MBR, Sergey
> 

-- 
Damien Le Moal
Western Digital Research


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  2024-09-10 13:09     ` Damien Le Moal
@ 2024-09-10 14:32       ` Sergey Shtylyov
  2024-09-10 14:36       ` Sergey Shtylyov
  1 sibling, 0 replies; 11+ messages in thread
From: Sergey Shtylyov @ 2024-09-10 14:32 UTC (permalink / raw)
  To: Damien Le Moal, linux-ide, Niklas Cassel; +Cc: lvc-project

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), 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.  And obviously, there should be
a little interest now in adding the "new" PATA drivers. :-)
   Any thoughts on the naming confusion?

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

MBR, Sergey

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  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
  1 sibling, 1 reply; 11+ messages in thread
From: Sergey Shtylyov @ 2024-09-10 14:36 UTC (permalink / raw)
  To: Damien Le Moal, linux-ide, Niklas Cassel; +Cc: lvc-project

[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?

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

MBR, Sergey

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  2024-09-10 14:36       ` Sergey Shtylyov
@ 2024-09-10 22:22         ` Damien Le Moal
  2024-09-11 17:14           ` Sergey Shtylyov
  2024-09-14 17:53           ` Sergey Shtylyov
  0 siblings, 2 replies; 11+ messages in thread
From: Damien Le Moal @ 2024-09-10 22:22 UTC (permalink / raw)
  To: Sergey Shtylyov, linux-ide, Niklas Cassel; +Cc: lvc-project

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  2024-09-10 22:22         ` Damien Le Moal
@ 2024-09-11 17:14           ` Sergey Shtylyov
  2024-09-13  6:57             ` Niklas Cassel
  2024-09-14 17:53           ` Sergey Shtylyov
  1 sibling, 1 reply; 11+ messages in thread
From: Sergey Shtylyov @ 2024-09-11 17:14 UTC (permalink / raw)
  To: Damien Le Moal, linux-ide, Niklas Cassel; +Cc: lvc-project

On 9/11/24 1:22 AM, Damien Le Moal wrote:
[...]
>> [Resending after adding the missed test, please ignore the previus reply.)

   Oops, some more typos! :-)

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

   I'm sure I typed BAR5 but apparently B went somewhere with further editing... :-)

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

   If you want to see the original patch:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=33dced2ea5ed03dda10e7f9f41f0910f32e02eaa

   Some fragments of the patch lived thru the drivers/ide/ removal, see e.g.:

https://elixir.bootlin.com/linux/v6.11-rc1/source/drivers/pci/quirks.c#L2319

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

   The interesting fact is that the TC86C001 (GOUKU-S) USB device controller (PCI function #2) is still supported by its own driver (drivers/usb/gadget/udc/goku_udc.c), mereg back in 2004... :-)

>>    Any thoughts on the naming confusion?
> 
> Maybe rename the option to CONFIG_PATA_TOSHIBA_PICCCOLO ?

   Nah, that doesn't make much sense to me; if we rename it, we should match the driver's name, i.e. make it CONFIG_PATA_PICCOLO.  I'm mainly concerned about the
Linux distros which would have to handle such rename somehow, IIUC...

[...[

MBR, Sergey

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  2024-09-11 17:14           ` Sergey Shtylyov
@ 2024-09-13  6:57             ` Niklas Cassel
  2024-09-13 19:36               ` Sergey Shtylyov
  0 siblings, 1 reply; 11+ messages in thread
From: Niklas Cassel @ 2024-09-13  6:57 UTC (permalink / raw)
  To: Sergey Shtylyov; +Cc: Damien Le Moal, linux-ide, lvc-project

On Wed, Sep 11, 2024 at 08:14:32PM +0300, Sergey Shtylyov wrote:
> On 9/11/24 1:22 AM, Damien Le Moal wrote:
> > 
> > Maybe rename the option to CONFIG_PATA_TOSHIBA_PICCCOLO ?
> 
>    Nah, that doesn't make much sense to me; if we rename it, we should match the driver's name, i.e. make it CONFIG_PATA_PICCOLO.  I'm mainly concerned about the
> Linux distros which would have to handle such rename somehow, IIUC...

I still remember:
4dd4d3deb502 ("ata: ahci: Rename CONFIG_SATA_LPM_MOBILE_POLICY configuration item")
and
55b014159ee7 ("ata: ahci: Rename CONFIG_SATA_LPM_POLICY configuration item back")

so I also prefer to avoid renaming Kconfigs as far as possible.


Kind regards,
Niklas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  2024-09-13  6:57             ` Niklas Cassel
@ 2024-09-13 19:36               ` Sergey Shtylyov
  0 siblings, 0 replies; 11+ messages in thread
From: Sergey Shtylyov @ 2024-09-13 19:36 UTC (permalink / raw)
  To: Niklas Cassel; +Cc: Damien Le Moal, linux-ide, lvc-project

On 9/13/24 9:57 AM, Niklas Cassel wrote:
[...]

>>> Maybe rename the option to CONFIG_PATA_TOSHIBA_PICCCOLO ?
>>
>>    Nah, that doesn't make much sense to me; if we rename it, we should match the driver's name, i.e. make it CONFIG_PATA_PICCOLO.  I'm mainly concerned about the
>> Linux distros which would have to handle such rename somehow, IIUC...

   I wonder whether they could be using s/th like make allmodconfig...

> I still remember:
> 4dd4d3deb502 ("ata: ahci: Rename CONFIG_SATA_LPM_MOBILE_POLICY configuration item")
> and
> 55b014159ee7 ("ata: ahci: Rename CONFIG_SATA_LPM_POLICY configuration item back")
> 
> so I also prefer to avoid renaming Kconfigs as far as possible.

   Yeah, it does not look very likely ATM that tc86c001 support will be
revived...  Although, could be done pretty easily if I don't try to work
around the infamous limitation #5...

> Kind regards,
> Niklas

MBR, Sergey

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ata: ata_generic: use IS_ENABLED() macro
  2024-09-10 22:22         ` Damien Le Moal
  2024-09-11 17:14           ` Sergey Shtylyov
@ 2024-09-14 17:53           ` Sergey Shtylyov
  1 sibling, 0 replies; 11+ messages in thread
From: Sergey Shtylyov @ 2024-09-14 17:53 UTC (permalink / raw)
  To: Damien Le Moal, linux-ide, Niklas Cassel; +Cc: lvc-project

On 9/11/24 1:22 AM, Damien Le Moal wrote:
[...]

>>>>>> Replace now gone out of fashion defined(CONFIG_PATA_TOSHIBA[_MODULE])
>>
>>    I'll probably rephrase this a bit in v2...
>>
[...]
>>
>>>>>> 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.

   I started respinnig this patch and decided to add the Piccolo comment in
a separate patch, while deferring the Kconfig entry rename until/iff it becomes
truly necessary, as per Niklas' comment).
   Unfortunately, I seem to be late for the coming merge window... :-/

MBR, Sergey

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-09-14 17:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox