[PATCH v5 6/6] spinand: bind UBI block
Alexey Romanov
avromanov at salutedevices.com
Wed Jun 26 12:45:27 CEST 2024
UBI block is virtual block device, which is an abstraction
over MTD layer. Therefore it is logical to use it in combination
with MTD drivers.
Signed-off-by: Alexey Romanov <avromanov at salutedevices.com>
Reviewed-by: Frieder Schrempf <frieder.schrempf at kontron.de>
---
drivers/mtd/nand/spi/core.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index 8edb468aed..f6d8c66b1c 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -26,6 +26,7 @@
#include <watchdog.h>
#include <spi.h>
#include <spi-mem.h>
+#include <ubi_uboot.h>
#include <dm/device_compat.h>
#include <dm/devres.h>
#include <linux/bitops.h>
@@ -1181,8 +1182,14 @@ static int spinand_bind(struct udevice *dev)
{
if (blk_enabled()) {
struct spinand_plat *plat = dev_get_plat(dev);
+ int ret;
+
+ ret = mtd_bind(dev, &plat->mtd);
+ if (ret)
+ return ret;
- return mtd_bind(dev, &plat->mtd);
+ if (CONFIG_IS_ENABLED(MTD_UBI))
+ return ubi_bind(dev);
}
return 0;
--
2.34.1
More information about the U-Boot
mailing list