Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.

From: Lan Tianyu
Date: Wed Aug 13 2014 - 03:26:19 EST


On 2014å08æ13æ 15:07, Mika Westerberg wrote:
> On Wed, Aug 13, 2014 at 10:50:32AM +0800, Lan Tianyu wrote:
>> On 2014å08æ13æ 10:03, Wolfram Sang wrote:
>>> On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
>>>> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
>>>>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
>>>>> config) adds a new kernel config I2C_ACPI and make I2C core built in
>>>>> when the config is selected. This is wrong because distributions
>>>>> etc generally compile I2C as a module and the commit broken that.
>>>>> This patch is to make I2C core able to be a module when I2C_ACPI is
>>>>> selected. Original issue the commit da3c6647 tried to avoid will
>>>>> be fixed in ACPICA and it's rarely triggered during unloading module.
>>>>>
>>>>> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx>
>>>>
>>>> I wonder if we can do
>>>>
>>>> depends on I2C=y
>>>>
>>>> here? If I understand it right, then we only build the ACPI_I2C if I2C
>>>> is compiled into the kernel. That way the problem da3c6647 tried to
>>>> solve doens't re-appear.
>>>>
>>>> We can later on relax this once ACPICA has been fixed. Thoughts?
>>>
>>> I had the same idea yet my travel to Chicago interrupted thinking about
>>> it further. Once I get rid of my jetlag, I'll have a closer look. Unless
>>> you already came up with the perfect solution until then, of course ;)
>>>
>>
>> Hi Mika & Wolfram:
>> I have one concern about "depends on I2C=y". If distribution config
>> file selects I2C core as a module, the original code can enumerate I2C
>> slave devices from ACPI table. But now I2C_ACPI depends on I2C core
>> built in, the I2C module can't enumerate devices from ACPI table. This
>> maybe a regression for distribution?
>
> True, but only the I2C OpRegion parts needs to have I2C=y. Does it make
> sense to name ACPI_I2C to ACPI_I2C_OPREGION (or something like that)
> and only enable it when I2C=y? Then we would have ACPI I2C enumeration
> still in place.
>

Yes, this makes sense to me. I will rewrite the patch.

--
Best regards
Tianyu Lan
--
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/