| From 2690570c815a78e07cf7e7e935eb83d753873d65 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 27 May 2021 17:23:52 +0200 |
| Subject: tpm_tis_spi: add missing SPI device ID entries |
| |
| From: Javier Martinez Canillas <javierm@redhat.com> |
| |
| [ Upstream commit c46ed2281bbe4b84e6f3d4bdfb0e4e9ab813fa9d ] |
| |
| The SPI core always reports a "MODALIAS=spi:<foo>", even if the device was |
| registered via OF. This means that this module won't auto-load if a DT has |
| for example has a node with a compatible "infineon,slb9670" string. |
| |
| In that case kmod will expect a "MODALIAS=of:N*T*Cinfineon,slb9670" uevent |
| but instead will get a "MODALIAS=spi:slb9670", which is not present in the |
| kernel module aliases: |
| |
| $ modinfo drivers/char/tpm/tpm_tis_spi.ko | grep alias |
| alias: of:N*T*Cgoogle,cr50C* |
| alias: of:N*T*Cgoogle,cr50 |
| alias: of:N*T*Ctcg,tpm_tis-spiC* |
| alias: of:N*T*Ctcg,tpm_tis-spi |
| alias: of:N*T*Cinfineon,slb9670C* |
| alias: of:N*T*Cinfineon,slb9670 |
| alias: of:N*T*Cst,st33htpm-spiC* |
| alias: of:N*T*Cst,st33htpm-spi |
| alias: spi:cr50 |
| alias: spi:tpm_tis_spi |
| alias: acpi*:SMO0768:* |
| |
| To workaround this issue, add in the SPI device ID table all the entries |
| that are present in the OF device ID table. |
| |
| Reported-by: Alexander Wellbrock <a.wellbrock@mailbox.org> |
| Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> |
| Tested-by: Peter Robinson <pbrobinson@gmail.com> |
| Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> |
| Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/char/tpm/tpm_tis_spi_main.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/char/tpm/tpm_tis_spi_main.c b/drivers/char/tpm/tpm_tis_spi_main.c |
| index 3856f6ebcb34..de4209003a44 100644 |
| --- a/drivers/char/tpm/tpm_tis_spi_main.c |
| +++ b/drivers/char/tpm/tpm_tis_spi_main.c |
| @@ -260,6 +260,8 @@ static int tpm_tis_spi_remove(struct spi_device *dev) |
| } |
| |
| static const struct spi_device_id tpm_tis_spi_id[] = { |
| + { "st33htpm-spi", (unsigned long)tpm_tis_spi_probe }, |
| + { "slb9670", (unsigned long)tpm_tis_spi_probe }, |
| { "tpm_tis_spi", (unsigned long)tpm_tis_spi_probe }, |
| { "cr50", (unsigned long)cr50_spi_probe }, |
| {} |
| -- |
| 2.30.2 |
| |