Re: [PATCH v5 2/5] i2c: piix4: Depends on X86

From: Hans de Goede
Date: Tue Jun 10 2025 - 10:53:54 EST


Hi,

On 10-Jun-25 16:12, Mario Limonciello wrote:
> On 6/10/2025 2:24 AM, Huacai Chen wrote:
>> On Tue, Jun 10, 2025 at 5:16 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>>>
>>> Hi Mario,
>>>
>>> CC mips, loongarch
>>>
>>> On Wed, 23 Apr 2025 at 01:49, Mario Limonciello <superm1@xxxxxxxxxx> wrote:
>>>> From: Mario Limonciello <mario.limonciello@xxxxxxx>
>>>>
>>>> PIIX4 and compatible controllers are only for X86. As some headers are
>>>> being moved into x86 specific headers PIIX4 won't compile on non-x86.
>>>>
>>>> Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx>
>>>> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
>>>
>>> Thanks for your patch, which is now commit 7e173eb82ae97175
>>> ("i2c: piix4: Make CONFIG_I2C_PIIX4 dependent on CONFIG_X86")
>>> in v6.16-rc1.
>>>
>>>> --- a/drivers/i2c/busses/Kconfig
>>>> +++ b/drivers/i2c/busses/Kconfig
>>>> @@ -200,7 +200,7 @@ config I2C_ISMT
>>>>
>>>>   config I2C_PIIX4
>>>>          tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
>>>> -       depends on PCI && HAS_IOPORT
>>>> +       depends on PCI && HAS_IOPORT && X86
>>>
>>> Are you sure this south-bridge is not used on non-x86 platforms?
>>> It is enabled in several non-x86 defconfigs:
>>>
>>>      arch/loongarch/configs/loongson3_defconfig:CONFIG_I2C_PIIX4=y
>>>      arch/mips/configs/ip27_defconfig:CONFIG_I2C_PIIX4=m
>>>      arch/mips/configs/loongson2k_defconfig:CONFIG_I2C_PIIX4=y
>>>      arch/mips/configs/loongson3_defconfig:CONFIG_I2C_PIIX4=y
>>>
>>> The loongarch and loongson entries are probably bogus, but I wouldn't
>>> be surprised if the SGI Onyx and Origin do use Intel south-bridges.
>> Loongson can use AMD SB700/SB800 south bridges, which have I2C_PIIX4.
>
> Well we could revert this patch, but it's going to be a compile failure because of 624b0d5696a89b138408d385899dd35372db324b and other patches that go on top of that.
>
> My current leaning is we make a dummy fch.h header for these archs with #defines for 0.

Move "fch.h" to include/linux/platform/x86/ so that it is available on all arches
and if necessary ifdef out anything x86 specific in the C-code referencing it ?

Regards,

Hans