]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
bootstd: Add bootflow_iter_check_mmc() helper
authorMattijs Korpershoek <mkorpershoek@baylibre.com>
Wed, 10 Jul 2024 08:40:03 +0000 (10:40 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 18 Jul 2024 19:51:30 +0000 (13:51 -0600)
Some bootflows might be able to only boot from MMC devices.

Add a helper function these bootflows can use.

Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Julien Masson <jmasson@baylibre.com>
Reviewed-by: Guillaume La Roque <glaroque@baylibre.com>
Tested-by: Guillaume La Roque <glaroque@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
boot/bootflow.c
include/bootflow.h

index 9aa3179c388153cbe2ca567238a69122caa6d90e..59d77d2385f4e566911cab792a850319cf16864d 100644 (file)
@@ -575,6 +575,18 @@ int bootflow_iter_check_blk(const struct bootflow_iter *iter)
        return -ENOTSUPP;
 }
 
+int bootflow_iter_check_mmc(const struct bootflow_iter *iter)
+{
+       const struct udevice *media = dev_get_parent(iter->dev);
+       enum uclass_id id = device_get_uclass_id(media);
+
+       log_debug("uclass %d: %s\n", id, uclass_get_name(id));
+       if (id == UCLASS_MMC)
+               return 0;
+
+       return -ENOTSUPP;
+}
+
 int bootflow_iter_check_sf(const struct bootflow_iter *iter)
 {
        const struct udevice *media = dev_get_parent(iter->dev);
index 6affc5e1a4f3a9e02bf373baf140821aabfcf7a2..4d2fc7b69b57c8c22485322b3a0911a2cb4ab85d 100644 (file)
@@ -408,6 +408,15 @@ void bootflow_remove(struct bootflow *bflow);
  */
 int bootflow_iter_check_blk(const struct bootflow_iter *iter);
 
+/**
+ * bootflow_iter_check_mmc() - Check that a bootflow uses a MMC device
+ *
+ * This checks the bootdev in the bootflow to make sure it uses a mmc device
+ *
+ * Return: 0 if OK, -ENOTSUPP if some other device is used (e.g. ethernet)
+ */
+int bootflow_iter_check_mmc(const struct bootflow_iter *iter);
+
 /**
  * bootflow_iter_check_sf() - Check that a bootflow uses SPI FLASH
  *