add check for ignored CONFIG_ENV_EXT4_DEVICE_AND_PART definition
authorManuel Reis <mluis.reis@gmail.com>
Wed, 25 Nov 2020 10:16:20 +0000 (10:16 +0000)
committerPatrick Delaunay <patrick.delaunay@foss.st.com>
Wed, 9 Dec 2020 09:57:50 +0000 (10:57 +0100)
Check whether user has explicitly defined device and partition where
environment file will be located before using 'auto' i.e. bootable
partition

Voids the need to set such partition as bootable to work with the
'dev:auto' tuple

Signed-off-by: Manuel Reis <mluis.reis@gmail.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Tested-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
board/st/stm32mp1/stm32mp1.c

index 8a3ce0a..d3cffdd 100644 (file)
@@ -827,11 +827,22 @@ const char *env_ext4_get_intf(void)
 
 const char *env_ext4_get_dev_part(void)
 {
+       static char *const env_dev_part =
+#ifdef CONFIG_ENV_EXT4_DEVICE_AND_PART
+               CONFIG_ENV_EXT4_DEVICE_AND_PART;
+#else
+               "";
+#endif
        static char *const dev_part[] = {"0:auto", "1:auto", "2:auto"};
+
+       if (strlen(env_dev_part) > 0)
+               return env_dev_part;
+
        u32 bootmode = get_bootmode();
 
        return dev_part[(bootmode & TAMP_BOOT_INSTANCE_MASK) - 1];
 }
+
 int mmc_get_env_dev(void)
 {
        u32 bootmode = get_bootmode();