Re: [PATCH 10/11] ahci: Export generic AHCI symbols, turn libahci into a separate module

Jeff Garzik
2010-03-03T18:34:24Z

On 03/03/2010 01:14 PM, Anton Vorontsov wrote:
> On Wed, Mar 03, 2010 at 09:08:34PM +0300, Anton Vorontsov wrote:
>> On Wed, Mar 03, 2010 at 08:53:30PM +0300, Sergei Shtylyov wrote:
>> [...]
>>>> diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
>>>> index 01c52c4..365a9da 100644
>>>> --- a/drivers/ata/Kconfig
>>>> +++ b/drivers/ata/Kconfig
>>>> @@ -59,12 +59,18 @@ config SATA_PMP
>>>> config SATA_AHCI
>>>> tristate "AHCI SATA support"
>>>> - depends on PCI
>>>> help
>>>> This option enables support for AHCI Serial ATA.
>>>> If unsure, say N.
>>>> +config SATA_AHCI_PCI
>>>> + tristate "PCI AHCI SATA support"
>>>> + depends on SATA_AHCI&& PCI
>>>
>>> Perhaps it's worth to turn that into select SATA_AHCI and make
>>> SATA_AHCI invisible to users instead, so that each particular AHCI
>>> implementation could select it.
>>
>> No, we must maintain old .config's semantics. SATA_AHCI is already
>> visible to the users, and if we remove it, we'll break
>> 'make oldconfig'.
>>
>>>> + default y
>>>
>>> Why force the default "y" if the predecessor option SATA_AHCI
>>> didn't do it?
>>
>> For the same reason, to keep old .configs working.
>
> OTOH, we can introduce invisible SATA_LIBAHCI, which is better,
> I think.

There is no need for any Kconfig wrangling. Just do it in the Makefile:

obj-$(SATA_AHCI_EXAMPLE1) += sata_example1.o libahci.o
obj-$(SATA_AHCI_EXAMPLE2) += sata_example2.o libahci.o

Thus,

1) update PCI ahci's Makefile entry
2) add Kconfig and Makefile entry for platform_ahci

No need to touch PCI AHCI's Kconfig bits at all.

Regards,

Jeff