Re: [PATCH #upstream] libata: implement libata.force module parameter

From: Tejun Heo
Date: Tue Feb 12 2008 - 04:07:49 EST


Jeff Garzik wrote:
> Tejun Heo wrote:
>> This patch implements libata.force module parameter which can
>> selectively override ATA port, link and device configurations
>> including cable type, SATA PHY SPD limit, transfer mode and NCQ.
>>
>> For example, you can say "use 1.5Gbps for all fan-out ports attached
>> to the second port but allow 3.0Gbps for the PMP device itself, oh,
>> the device attached to the third fan-out port chokes on NCQ and
>> shouldn't go over UDMA4" by the following.
>>
>> libata.force=2:1.5g,2.15:3.0g,2.03:noncq,udma4
>>
>> Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
>> ---
>> I guess it's about time we add something like this. More than
>> anything else this should help debugging and can serve as a last
>> resort to work around problems.
>>
>> Thanks.
>>
>> Documentation/kernel-parameters.txt | 35 +++
>> drivers/ata/libata-core.c | 375
>> +++++++++++++++++++++++++++++++++++-
>> drivers/ata/libata-eh.c | 8
>> drivers/ata/libata.h | 1 4 files changed, 415
>> insertions(+), 4 deletions(-)
>
> ACK, but it breaks the build due to section type conflicts:
>
> drivers/ata/libata-core.c:108: error: ata_force_param_buf causes a
> section type conflict
>
> Given that the data is marked __initdata and the code is marked __init,
> I cannot see the problem.

Jeff, this no longer causes build failure whether libata is configured
built-in or as a module. I have no idea what's going on but there
doesn't seem to be a proper solution on the horizon yet. I think we can
go ahead and commit this one and convert it to __initdataconst when it
becomes available.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/