On Thu 13 Jun 2024 at 16:15, Mattijs Korpershoek <mkorpersh...@baylibre.com> wrote:
> Some bootflows might be able to only boot from MMC devices. > > Add a helper function these bootflows can use. > > Reviewed-by: Igor Opaniuk <igor.opan...@gmail.com> > Signed-off-by: Mattijs Korpershoek <mkorpersh...@baylibre.com> > --- > boot/bootflow.c | 12 ++++++++++++ > include/bootflow.h | 9 +++++++++ > 2 files changed, 21 insertions(+) > > diff --git a/boot/bootflow.c b/boot/bootflow.c > index 9aa3179c3881..59d77d2385f4 100644 > --- a/boot/bootflow.c > +++ b/boot/bootflow.c > @@ -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); > diff --git a/include/bootflow.h b/include/bootflow.h > index 080ee8501225..6058ddd89b16 100644 > --- a/include/bootflow.h > +++ b/include/bootflow.h > @@ -407,6 +407,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 > * > > -- > 2.45.2 > Reviewed-by: Julien Masson <jmas...@baylibre.com> -- Julien Masson