linux/drivers/thunderbolt/Kconfig
Lukas Wunner 5fbc89d37b thunderbolt, efi: Fix Kconfig dependencies harder
Since commit c9cc3aaa02 ("thunderbolt: Use Device ROM retrieved from
EFI"), the THUNDERBOLT config option selects APPLE_PROPERTIES.

This broke the build for certain configs because APPLE_PROPERTIES is
located in a menu which depends on EFI:  If EFI is not enabled, the
prerequisites needed for APPLE_PROPERTIES are not selected:  Those are
EFI_DEV_PATH_PARSER and UCS2_STRING.  Additionally EFI_DEV_PATH_PARSER
won't compile unless ACPI is enabled.

Commit 79f9cd35b0 ("thunderbolt, efi: Fix Kconfig dependencies")
sought to fix the breakage by making THUNDERBOLT select APPLE_PROPERTIES
only if EFI_STUB is enabled.  On x86, EFI_STUB depends on EFI and EFI
depends on ACPI, so this fixed the build at least on this architecture.

However on arm and arm64, EFI_STUB does not depend on EFI, so once again
the prerequisites needed for APPLE_PROPERTIES are not selected.
Additionally ACPI is not available on arm and optional on arm64,
therefore EFI_DEV_PATH_PARSER won't compile.

Fix by selecting APPLE_PROPERTIES only on x86.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: Andreas Noever <andreas.noever@gmail.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/5c241cf92eb1dc2421218c1204c6a9d22c9f847b.1479456179.git.lukas@wunner.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-11-18 09:42:53 +01:00

15 lines
433 B
Plaintext

menuconfig THUNDERBOLT
tristate "Thunderbolt support for Apple devices"
depends on PCI
select APPLE_PROPERTIES if EFI_STUB && X86
select CRC32
help
Cactus Ridge Thunderbolt Controller driver
This driver is required if you want to hotplug Thunderbolt devices on
Apple hardware.
Device chaining is currently not supported.
To compile this driver a module, choose M here. The module will be
called thunderbolt.