Thunderbolt Kbuild fixes
cover Thunderbolt Kbuild fixes
Dear Ingo,
please consider applying the following two patches to efi/core for 4.10, based on the discussion with Arnd:
The first one fixes a build breakage for certain configs on arm and arm64, the second one excludes thunderbolt from the build on non-x86 except for compile tests.
Feel free to squash the first one with the existing commit 79f9cd35b05e ("thunderbolt, efi: Fix Kconfig dependencies") on this branch, or squash both with c9cc3aaa0281 ("thunderbolt: Use Device ROM retrieved from EFI") if you want.
Thank you!
Lukas
Lukas Wunner (2):
thunderbolt, efi: Fix Kconfig dependencies harder
thunderbolt: Compile on x86 only
drivers/thunderbolt/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Signature · 1 line
2.10.1
PATCH 1/2 thunderbolt, efi: Fix Kconfig dependencies harder
Since commit c9cc3aaa0281 ("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 79f9cd35b05e ("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.
--- drivers/thunderbolt/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/thunderbolt/Kconfig +1 -1
@@ -1,7 +1,7 @@ menuconfig THUNDERBOLT tristate "Thunderbolt support for Apple devices" depends on PCI - select APPLE_PROPERTIES if EFI_STUB + select APPLE_PROPERTIES if EFI_STUB && X86 select CRC32 help Cactus Ridge Thunderbolt Controller driver
Signature · 1 line
2.10.1
tip-bot for Lukas Wunner
merge bot[tip:efi/core] thunderbolt, efi: Fix Kconfig dependencies harder
thunderbolt, efi: Fix Kconfig dependencies harder
Commit-ID: 5fbc89d37bb312c700dfa8121b02241a92b5df13 Gitweb: http://git.kernel.org/tip/5fbc89d37bb312c700dfa8121b02241a92b5df13 Author: Lukas Wunner <[email protected]> AuthorDate: Fri, 18 Nov 2016 09:22:59 +0100 Committer: Ingo Molnar <[email protected]> CommitDate: Fri, 18 Nov 2016 09:42:53 +0100
thunderbolt, efi: Fix Kconfig dependencies harder
Since commit c9cc3aaa0281 ("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 79f9cd35b05e ("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.
--- drivers/thunderbolt/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/thunderbolt/Kconfig +1 -1
@@ -1,7 +1,7 @@ menuconfig THUNDERBOLT tristate "Thunderbolt support for Apple devices" depends on PCI - select APPLE_PROPERTIES if EFI_STUB + select APPLE_PROPERTIES if EFI_STUB && X86 select CRC32 help Cactus Ridge Thunderbolt Controller driver
PATCH 2/2 thunderbolt: Compile on x86 only
In reply to Lukas WunnerSo far Thunderbolt is (unfortunately) an Intel proprietary technology that is only available on x86, so compiling on other arches is pointless except for testing purposes. Amend Kconfig accordingly.
--- drivers/thunderbolt/Kconfig | 1 + 1 file changed, 1 insertion(+)
drivers/thunderbolt/Kconfig +1 -0
@@ -1,6 +1,7 @@ menuconfig THUNDERBOLT tristate "Thunderbolt support for Apple devices" depends on PCI + depends on X86 || COMPILE_TEST select APPLE_PROPERTIES if EFI_STUB && X86 select CRC32 help
Signature · 1 line
2.10.1
tip-bot for Lukas Wunner
merge bot[tip:efi/core] thunderbolt: Compile on x86 only
thunderbolt: Compile on x86 only
Commit-ID: b2c74191f4672c4b3265d0335910792b4f72026b Gitweb: http://git.kernel.org/tip/b2c74191f4672c4b3265d0335910792b4f72026b Author: Lukas Wunner <[email protected]> AuthorDate: Fri, 18 Nov 2016 09:22:59 +0100 Committer: Ingo Molnar <[email protected]> CommitDate: Fri, 18 Nov 2016 09:42:59 +0100
thunderbolt: Compile on x86 only
So far Thunderbolt is (unfortunately) an Intel proprietary technology that is only available on x86, so compiling on other arches is pointless except for testing purposes. Amend Kconfig accordingly.
--- drivers/thunderbolt/Kconfig | 1 + 1 file changed, 1 insertion(+)
drivers/thunderbolt/Kconfig +1 -0
@@ -1,6 +1,7 @@ menuconfig THUNDERBOLT tristate "Thunderbolt support for Apple devices" depends on PCI + depends on X86 || COMPILE_TEST select APPLE_PROPERTIES if EFI_STUB && X86 select CRC32 help
Quoted 5 lines · CET Lukas Wunner
Dear Ingo,
please consider applying the following two patches to efi/core for 4.10, based on the discussion with Arnd:
Quoted 8 lines
The first one fixes a build breakage for certain configs on arm and arm64, the second one excludes thunderbolt from the build on non-x86 except for compile tests.
Feel free to squash the first one with the existing commit
79f9cd35b05e("thunderbolt, efi: FixKconfigdependencies") on this branch, or squash both withc9cc3aaa0281("thunderbolt: Use Device ROM retrieved from EFI") if you want.
Both patches
Thanks for following up,
Arnd