kernel: update NVMEM subsystem to the v6.3
[openwrt/staging/aparcar.git] / target / linux / generic / backport-5.10 / 813-v6.3-0011-nvmem-stm32-fix-OPTEE-dependency.patch
diff --git a/target/linux/generic/backport-5.10/813-v6.3-0011-nvmem-stm32-fix-OPTEE-dependency.patch b/target/linux/generic/backport-5.10/813-v6.3-0011-nvmem-stm32-fix-OPTEE-dependency.patch
new file mode 100644 (file)
index 0000000..dcf704c
--- /dev/null
@@ -0,0 +1,46 @@
+From 1dc7e37bb0ec1c997fac82031332a38c7610352f Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Mon, 6 Feb 2023 13:43:56 +0000
+Subject: [PATCH] nvmem: stm32: fix OPTEE dependency
+
+The stm32 nvmem driver fails to link as built-in when OPTEE
+is a loadable module:
+
+aarch64-linux-ld: drivers/nvmem/stm32-bsec-optee-ta.o: in function `stm32_bsec:
+stm32-bsec-optee-ta.c:(.text+0xc8): undefined reference to `tee_client_open_session'
+aarch64-linux-ld: drivers/nvmem/stm32-bsec-optee-ta.o: in function `stm32_bsec:
+stm32-bsec-optee-ta.c:(.text+0x1fc): undefined reference to `tee_client_open_context'
+
+Change the CONFIG_NVMEM_STM32_ROMEM definition so it can only
+be built-in if OPTEE is either built-in or disabled, and
+make NVMEM_STM32_BSEC_OPTEE_TA a hidden symbol instead.
+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+Link: https://lore.kernel.org/r/20230206134356.839737-23-srinivas.kandagatla@linaro.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/nvmem/Kconfig | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+--- a/drivers/nvmem/Kconfig
++++ b/drivers/nvmem/Kconfig
+@@ -291,8 +291,7 @@ config NVMEM_SPRD_EFUSE
+         will be called nvmem-sprd-efuse.
+ config NVMEM_STM32_BSEC_OPTEE_TA
+-      bool "STM32MP BSEC OP-TEE TA support for nvmem-stm32-romem driver"
+-      depends on OPTEE
++      def_bool NVMEM_STM32_ROMEM && OPTEE
+       help
+         Say y here to enable the accesses to STM32MP SoC OTPs by the OP-TEE
+         trusted application STM32MP BSEC.
+@@ -303,7 +302,7 @@ config NVMEM_STM32_BSEC_OPTEE_TA
+ config NVMEM_STM32_ROMEM
+       tristate "STMicroelectronics STM32 factory-programmed memory support"
+       depends on ARCH_STM32 || COMPILE_TEST
+-      imply NVMEM_STM32_BSEC_OPTEE_TA
++      depends on OPTEE || !OPTEE
+       help
+         Say y here to enable read-only access for STMicroelectronics STM32
+         factory-programmed memory area.