Skip to content

Commit

Permalink
kernel: mtd: ubi: avoid attaching "linux,ubi" mtd again
Browse files Browse the repository at this point in the history
"linux,ubi" compatible MTD device can be automatically attached early
since commit fc153aa. Therefore, there is no need to attach MTD
devices named "ubi" or "data" again.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
  • Loading branch information
DragonBluep authored and coolsnowwolf committed Jun 30, 2024
1 parent 9f2db43 commit f3cd013
Showing 1 changed file with 8 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>

--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -1258,6 +1258,74 @@ static struct mtd_notifier ubi_mtd_notif
@@ -1258,6 +1258,80 @@ static struct mtd_notifier ubi_mtd_notif
.remove = ubi_notify_remove,
};

Expand All @@ -21,6 +21,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+{
+ int err;
+ struct mtd_info *mtd;
+ struct device_node *np;
+ loff_t offset = 0;
+ size_t len;
+ char magic[4];
Expand All @@ -33,6 +34,11 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+ if (IS_ERR(mtd))
+ return;
+
+ /* skip "linux,ubi" mtd as it has already been attached */
+ np = mtd_get_of_node(mtd);
+ if (of_device_is_compatible(np, "linux,ubi"))
+ goto cleanup;
+
+ /* get the first not bad block */
+ if (mtd_can_have_bb(mtd))
+ while (mtd_block_isbad(mtd, offset)) {
Expand Down Expand Up @@ -83,7 +89,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
static int __init ubi_init_attach(void)
{
int err, i, k;
@@ -1308,6 +1376,12 @@ static int __init ubi_init_attach(void)
@@ -1308,6 +1382,12 @@ static int __init ubi_init_attach(void)
}
}

Expand Down

0 comments on commit f3cd013

Please sign in to comment.