Skip to contentSkip to conversation

Thunderbolt Kbuild fixes

PATCH In review Lukas Wunner 3 participants 6 messages Nov 18, 2016 Thunderbolt driver

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index bb0318c..de5d27e 100644
@@ -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
#2 lore raw

[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
index bb0318c..de5d27e 100644
@@ -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
#3 lore raw

PATCH 2/2 thunderbolt: Compile on x86 only

In reply to Lukas Wunner

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
index de5d27e..d35db16 100644
@@ -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
#4 lore raw

[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
index de5d27e..d35db16 100644
@@ -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
Acked-by on the v1 series
#5 lore raw
In reply to Lukas Wunner
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: Fix Kconfig dependencies") on this branch, or squash both with c9cc3aaa0281 ("thunderbolt: Use Device ROM retrieved from EFI") if you want.

Both patches

Thanks for following up,

Arnd