8e458e9e86
Backport two commits from Linux 6.3 wiring up device node parents of ubi devices (pointing to their MTD parent) as well as ubiblock devices (poiting to their parent UBI volume). Signed-off-by: Daniel Golle <daniel@makrotopia.org>
50 lines
1.4 KiB
Diff
50 lines
1.4 KiB
Diff
From 05b8773ca33253ea562be145cf3145b05ef19f86 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Golle <daniel@makrotopia.org>
|
|
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 <daniel@makrotopia.org>
|
|
Signed-off-by: Richard Weinberger <richard@nod.at>
|
|
---
|
|
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;
|
|
};
|
|
|
|
/**
|