[PATCH] char: tpm: Keep TPM_INF_IO_PORT define for HAS_IOPORT=n

Niklas Schnelle posted 1 patch 1 year, 9 months ago
drivers/char/tpm/Kconfig        | 2 +-
drivers/char/tpm/tpm_infineon.c | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
[PATCH] char: tpm: Keep TPM_INF_IO_PORT define for HAS_IOPORT=n
Posted by Niklas Schnelle 1 year, 9 months ago
The recent change to handle HAS_IOPORT removed the TPM_INF_IO_PORT
define for the HAS_IOPORT=n case despite the define being used in
sections of code not covered by the same ifdef check. This was missed
because at the moment TCG_INFINEON indirectly depends on HAS_IOPORT via
PNP which depends on ACPI || ISA. As TCG_INFINEON does in principle
support MMIO only use add it for COMPILE_TEST to cover the HAS_IOPORT=n
case.

Link: https://lore.kernel.org/lkml/9d9fa267-067e-421b-9a39-aa178b913298@app.fastmail.com/
Fixes: dab56f80e7f9 ("char: tpm: handle HAS_IOPORT dependencies")
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
Note 0: I compile tested this with allyesconfig on s390 using my branch with
        compile-time disabled in*()/out*() and verified that TCG_INFINEON was
        built
Note 1: The SHA of the fixed commit is from linux-next

 drivers/char/tpm/Kconfig        | 2 +-
 drivers/char/tpm/tpm_infineon.c | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/char/tpm/Kconfig b/drivers/char/tpm/Kconfig
index 418c9ed59ffd..852bb9344788 100644
--- a/drivers/char/tpm/Kconfig
+++ b/drivers/char/tpm/Kconfig
@@ -157,7 +157,7 @@ config TCG_ATMEL
 
 config TCG_INFINEON
 	tristate "Infineon Technologies TPM Interface"
-	depends on PNP
+	depends on PNP || COMPILE_TEST
 	help
 	  If you have a TPM security chip from Infineon Technologies
 	  (either SLD 9630 TT 1.1 or SLB 9635 TT 1.2) say Yes and it
diff --git a/drivers/char/tpm/tpm_infineon.c b/drivers/char/tpm/tpm_infineon.c
index 99c6e565ec8d..2d2ae37153ba 100644
--- a/drivers/char/tpm/tpm_infineon.c
+++ b/drivers/char/tpm/tpm_infineon.c
@@ -26,9 +26,7 @@
 #define	TPM_MAX_TRIES		5000
 #define	TPM_INFINEON_DEV_VEN_VALUE	0x15D1
 
-#ifdef CONFIG_HAS_IOPORT
 #define TPM_INF_IO_PORT		0x0
-#endif
 #define TPM_INF_IO_MEM		0x1
 
 #define TPM_INF_ADDR		0x0
-- 
2.40.1
Re: [PATCH] char: tpm: Keep TPM_INF_IO_PORT define for HAS_IOPORT=n
Posted by Jarkko Sakkinen 1 year, 9 months ago
On Mon Apr 22, 2024 at 3:37 PM EEST, Niklas Schnelle wrote:
> The recent change to handle HAS_IOPORT removed the TPM_INF_IO_PORT
> define for the HAS_IOPORT=n case despite the define being used in
> sections of code not covered by the same ifdef check. This was missed
> because at the moment TCG_INFINEON indirectly depends on HAS_IOPORT via
> PNP which depends on ACPI || ISA. As TCG_INFINEON does in principle
> support MMIO only use add it for COMPILE_TEST to cover the HAS_IOPORT=n
> case.
>
> Link: https://lore.kernel.org/lkml/9d9fa267-067e-421b-9a39-aa178b913298@app.fastmail.com/
> Fixes: dab56f80e7f9 ("char: tpm: handle HAS_IOPORT dependencies")
> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>


Thanks!

Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>

I applied it to my master but for some reason it is not yet reflected
to web ui:

https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/log/

But it is still applied and perhaps also visible when you seee this!

BR, Jarkko