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

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


Hi,

On 10-Jun-25 16:53, Hans de Goede wrote:
> 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 ?

Correction that should be include/linux/platform_data/x86/

Regards,

Hans