[openwrt/openwrt] kernel: nvmem: correctly assign fwnode to MMC block device
LEDE Commits
lede-commits at lists.infradead.org
Sat Feb 17 19:36:16 PST 2024
dangole pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/3c34a5bf99d46a00f6db5b3c23e9a3b78587a3a4
commit 3c34a5bf99d46a00f6db5b3c23e9a3b78587a3a4
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Sun Feb 18 01:02:46 2024 +0000
kernel: nvmem: correctly assign fwnode to MMC block device
Use device_set_node to make sure OF node gets assigned on block
devices to be used as NVMEM providers. While block partitions were
already working fine as NVMEM providers, bare block devices such as
mmcblk0boot1 will not work without this change.
Fixes: fc153aa8d9 ("kernel: import pending patches adding support for NVMEM on UBI and MMC")
Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
.../patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch | 6 +++---
.../pending-6.1/450-14-mmc-block-set-fwnode-of-disk-devices.patch | 5 +++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/target/linux/bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch
index 693ed2b6d1..a89940dacb 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch
@@ -266,7 +266,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
static inline int mmc_blk_part_switch(struct mmc_card *card,
unsigned int part_type);
static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
-@@ -3049,6 +3056,8 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3050,6 +3057,8 @@ static int mmc_blk_probe(struct mmc_card
{
struct mmc_blk_data *md;
int ret = 0;
@@ -275,7 +275,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
/*
* Check that the card supports the command class(es) we need.
-@@ -3056,7 +3065,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3057,7 +3066,16 @@ static int mmc_blk_probe(struct mmc_card
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
return -ENODEV;
@@ -293,7 +293,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
card->complete_wq = alloc_workqueue("mmc_complete",
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
-@@ -3071,6 +3089,17 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3072,6 +3090,17 @@ static int mmc_blk_probe(struct mmc_card
goto out_free;
}
diff --git a/target/linux/generic/pending-6.1/450-14-mmc-block-set-fwnode-of-disk-devices.patch b/target/linux/generic/pending-6.1/450-14-mmc-block-set-fwnode-of-disk-devices.patch
index d033abb70d..a9e53f1155 100644
--- a/target/linux/generic/pending-6.1/450-14-mmc-block-set-fwnode-of-disk-devices.patch
+++ b/target/linux/generic/pending-6.1/450-14-mmc-block-set-fwnode-of-disk-devices.patch
@@ -23,7 +23,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
struct mmc_blk_data *md;
int devidx, ret;
char cap_str[10];
-@@ -2580,6 +2582,12 @@ static struct mmc_blk_data *mmc_blk_allo
+@@ -2580,6 +2582,13 @@ static struct mmc_blk_data *mmc_blk_allo
blk_queue_write_cache(md->queue.queue, cache_enabled, fua_enabled);
@@ -31,7 +31,8 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+ fwnode = device_get_named_child_node(subname ? md->parent->parent :
+ md->parent,
+ subname ? subname : "block");
-+ ddev->fwnode = fwnode;
++ if (fwnode)
++ device_set_node(ddev, fwnode);
+
string_get_size((u64)size, 512, STRING_UNITS_2,
cap_str, sizeof(cap_str));
More information about the lede-commits
mailing list