|
@@ -0,0 +1,49 @@
|
|
|
|
+From 05b8773ca33253ea562be145cf3145b05ef19f86 Mon Sep 17 00:00:00 2001
|
|
|
|
+From: Daniel Golle <[email protected]>
|
|
|
|
+Date: Thu, 22 Dec 2022 19:33:31 +0000
|
|
|
|
+Subject: [PATCH] mtd: ubi: block: wire-up device parent
|
|
|
|
+
|
|
|
|
+ubiblock devices were previously only identifyable by their name, but
|
|
|
|
+not connected to their parent UBI volume device e.g. in sysfs.
|
|
|
|
+Properly parent ubiblock device as descendant of a UBI volume device
|
|
|
|
+to reflect device model hierachy.
|
|
|
|
+
|
|
|
|
+Signed-off-by: Daniel Golle <[email protected]>
|
|
|
|
+Signed-off-by: Richard Weinberger <[email protected]>
|
|
|
|
+---
|
|
|
|
+ drivers/mtd/ubi/block.c | 2 +-
|
|
|
|
+ drivers/mtd/ubi/kapi.c | 1 +
|
|
|
|
+ include/linux/mtd/ubi.h | 1 +
|
|
|
|
+ 3 files changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
+
|
|
|
|
+--- a/drivers/mtd/ubi/block.c
|
|
|
|
++++ b/drivers/mtd/ubi/block.c
|
|
|
|
+@@ -452,7 +452,7 @@ int ubiblock_create(struct ubi_volume_in
|
|
|
|
+ list_add_tail(&dev->list, &ubiblock_devices);
|
|
|
|
+
|
|
|
|
+ /* Must be the last step: anyone can call file ops from now on */
|
|
|
|
+- ret = add_disk(dev->gd);
|
|
|
|
++ ret = device_add_disk(vi->dev, dev->gd, NULL);
|
|
|
|
+ if (ret)
|
|
|
|
+ goto out_destroy_wq;
|
|
|
|
+
|
|
|
|
+--- a/drivers/mtd/ubi/kapi.c
|
|
|
|
++++ b/drivers/mtd/ubi/kapi.c
|
|
|
|
+@@ -79,6 +79,7 @@ void ubi_do_get_volume_info(struct ubi_d
|
|
|
|
+ vi->name_len = vol->name_len;
|
|
|
|
+ vi->name = vol->name;
|
|
|
|
+ vi->cdev = vol->cdev.dev;
|
|
|
|
++ vi->dev = &vol->dev;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+--- a/include/linux/mtd/ubi.h
|
|
|
|
++++ b/include/linux/mtd/ubi.h
|
|
|
|
+@@ -110,6 +110,7 @@ struct ubi_volume_info {
|
|
|
|
+ int name_len;
|
|
|
|
+ const char *name;
|
|
|
|
+ dev_t cdev;
|
|
|
|
++ struct device *dev;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ /**
|