Subject: Re: ipr SATA support is causing problems

From: Brian King <[email-masked]>
Date: Sat, 11 Nov 2006 21:55:03 -0600

Benjamin Herrenschmidt wrote:
> On Sat, 2006-11-11 at 17:56 -0600, Brian King wrote:
>> Paul Mackerras wrote:
>>> How hard would it be to make the SATA bits conditionally compiled in,
>>> depending on CONFIG_ATA?
>> I took a look at doing this. It got a bit messy with a bunch of ifdefs,
>> then I realized that doing this would break module dependencies. If
>> ipr does not depend on CONFIG_ATA, then libata will not automatically
>> get loaded (or built into initrd's) when ipr is needed.
>>
>> The best way I can see to accomplish your desired goal is to do something
>> like the fusion driver did and separate out the sas bits from the scsi
>> bits and essentially end up with multiple ipr modules. Unfortunately,
>> this is not 2.6.19 material, but I could start working on it if you
>> thought it sounded like a reasonable direction.
> 
> Yeah, something like
> 
>                     /--- SATA sub-modules (depends on CONFIG_ATA)
>  - core IPR module /
>                    \
>                     \--- SAS sub-module (depends on CONFIG_SCSI)
>                      \ 
>                       \--- SCSI sub-module (depends on CONFIG_SCSI)
> 
> 
> Or do you need SAS and SATA to be one and only one ?

SAS and SATA need to be one and only one. Splitting them is where
the complication comes in. So that would mean we would have
something like:

                     /--- SCSI sub-module
  - core IPR module /
     (depends on    \
       CONFIG_SCSI)  \--- SAS/SATA sub-module (depends on CONFIG_ATA)

Brian

-- 
Brian King
eServer Storage I/O
IBM Linux Technology Center