aboutsummaryrefslogtreecommitdiff
path: root/pkgs/patches-linux-5.15/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/patches-linux-5.15/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch')
-rw-r--r--pkgs/patches-linux-5.15/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/patches-linux-5.15/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch b/pkgs/patches-linux-5.15/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
new file mode 100644
index 0000000..266a633
--- /dev/null
+++ b/pkgs/patches-linux-5.15/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
@@ -0,0 +1,34 @@
+From: Daniel Golle <daniel@makrotopia.org>
+Subject: ubi: set ROOT_DEV to ubiblock "rootfs" if unset
+
+Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+---
+ drivers/mtd/ubi/block.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/drivers/mtd/ubi/block.c
++++ b/drivers/mtd/ubi/block.c
+@@ -42,6 +42,7 @@
+ #include <linux/scatterlist.h>
+ #include <linux/idr.h>
+ #include <asm/div64.h>
++#include <linux/root_dev.h>
+
+ #include "ubi-media.h"
+ #include "ubi.h"
+@@ -451,6 +452,15 @@ int ubiblock_create(struct ubi_volume_in
+ dev_info(disk_to_dev(dev->gd), "created from ubi%d:%d(%s)",
+ dev->ubi_num, dev->vol_id, vi->name);
+ mutex_unlock(&devices_mutex);
++
++ if (!strcmp(vi->name, "rootfs") &&
++ IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) &&
++ ROOT_DEV == 0) {
++ pr_notice("ubiblock: device ubiblock%d_%d (%s) set to be root filesystem\n",
++ dev->ubi_num, dev->vol_id, vi->name);
++ ROOT_DEV = MKDEV(gd->major, gd->first_minor);
++ }
++
+ return 0;
+
+ out_remove_minor: