pinctrl: Don't allow PINCTRL_AMD to be a module
authorMario Limonciello <mario.limonciello@amd.com>
Wed, 13 Jul 2022 17:59:50 +0000 (12:59 -0500)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 18 Jul 2022 10:47:28 +0000 (12:47 +0200)
commit41ef3c1a6bb0fd4a3f81170dd17de3adbff80783
treec68bd764f8600b0497a03bdcef39f998186229bc
parentba9c4745fca70bf773b2d5c602dcd85d1a40b07a
pinctrl: Don't allow PINCTRL_AMD to be a module

It was observed that by allowing pinctrl_amd to be loaded
later in the boot process that interrupts sent to the GPIO
controller early in the boot are not serviced.  The kernel treats
these as a spurious IRQ and disables the IRQ.

This problem was exacerbated because it happened on a system with
an encrypted partition so the kernel object was not accesssible for
an extended period of time while waiting for a passphrase.

To avoid this situation from occurring, stop allowing pinctrl-amd
from being built as a module and instead require it to be built-in
or disabled.

Reported-by: madcatx@atlas.cz
Suggested-by: jwrdegoede@fedoraproject.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216230
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220713175950.964-1-mario.limonciello@amd.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/Kconfig