2016-11-18 08:22:41

by Lukas Wunner

[permalink] [raw]
Subject: [PATCH 0/2] 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(-)

--
2.10.1


2016-11-18 08:23:04

by Lukas Wunner

[permalink] [raw]
Subject: [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.

Suggested-by: Arnd Bergmann <[email protected]>
Cc: Andreas Noever <[email protected]>
Cc: Matt Fleming <[email protected]>
Signed-off-by: Lukas Wunner <[email protected]>
---
drivers/thunderbolt/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thunderbolt/Kconfig b/drivers/thunderbolt/Kconfig
index bb0318c..de5d27e 100644
--- a/drivers/thunderbolt/Kconfig
+++ b/drivers/thunderbolt/Kconfig
@@ -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
--
2.10.1

2016-11-18 08:23:26

by Lukas Wunner

[permalink] [raw]
Subject: [PATCH 2/2] 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.

Suggested-by: Arnd Bergmann <[email protected]>
Cc: Andreas Noever <[email protected]>
Cc: Matt Fleming <[email protected]>
Signed-off-by: Lukas Wunner <[email protected]>
---
drivers/thunderbolt/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/thunderbolt/Kconfig b/drivers/thunderbolt/Kconfig
index de5d27e..d35db16 100644
--- a/drivers/thunderbolt/Kconfig
+++ b/drivers/thunderbolt/Kconfig
@@ -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
--
2.10.1

2016-11-18 08:30:34

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH 0/2] Thunderbolt Kbuild fixes

On Friday, November 18, 2016 9:22:59 AM CET Lukas Wunner wrote:
> 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.

Both patches

Acked-by: Arnd Bergmann <[email protected]>

Thanks for following up,

Arnd

Subject: [tip:efi/core] 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.

Suggested-by: Arnd Bergmann <[email protected]>
Signed-off-by: Lukas Wunner <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Cc: Andreas Noever <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Matt Fleming <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Link: http://lkml.kernel.org/r/5c241cf92eb1dc2421218c1204c6a9d22c9f847b.1479456179.git.lukas@wunner.de
Signed-off-by: Ingo Molnar <[email protected]>
---
drivers/thunderbolt/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thunderbolt/Kconfig b/drivers/thunderbolt/Kconfig
index bb0318c..de5d27e 100644
--- a/drivers/thunderbolt/Kconfig
+++ b/drivers/thunderbolt/Kconfig
@@ -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

Subject: [tip:efi/core] 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.

Suggested-by: Arnd Bergmann <[email protected]>
Signed-off-by: Lukas Wunner <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Cc: Andreas Noever <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Matt Fleming <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Link: http://lkml.kernel.org/r/7dfda728d3ee8a33c80c49b224da7359c6015eea.1479456179.git.lukas@wunner.de
Signed-off-by: Ingo Molnar <[email protected]>
---
drivers/thunderbolt/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/thunderbolt/Kconfig b/drivers/thunderbolt/Kconfig
index de5d27e..d35db16 100644
--- a/drivers/thunderbolt/Kconfig
+++ b/drivers/thunderbolt/Kconfig
@@ -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