[PATCH v6 6/6] spinand: bind UBI block
Alexey Romanov
avromanov at salutedevices.com
Thu Jul 18 07:45:28 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 | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index 54a90ff295..f5ddfbf4b8 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -25,6 +25,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>
@@ -1180,9 +1181,16 @@ static int spinand_bind(struct udevice *dev)
{
if (blk_enabled()) {
struct spinand_plat *plat = dev_get_plat(dev);
+ int ret;
+
+ if (CONFIG_IS_ENABLED(MTD_BLOCK)) {
+ ret = mtd_bind(dev, &plat->mtd);
+ if (ret)
+ return ret;
+ }
- if (CONFIG_IS_ENABLED(MTD_BLOCK))
- return mtd_bind(dev, &plat->mtd);
+ if (CONFIG_IS_ENABLED(UBI_BLOCK))
+ return ubi_bind(dev);
}
return 0;
--
2.34.1
More information about the U-Boot
mailing list