summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2025-05-21 23:13:49 +0200
committerArnd Bergmann <arnd@arndb.de>2025-05-21 23:13:50 +0200
commita65dc234cd690adde1949232dc538e6d07b833fb (patch)
tree60eddc572905394896ac89d642599b844b241b08
parent7148b42e85420bd0d8028a5c5c3611e1c59f6e1f (diff)
parent388d0cc33cc6fc876e053644d6af694b9d5c639f (diff)
Merge tag 'memory-controller-drv-6.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers
Memory controller drivers for v6.16, part two Few fixes for STM32 Octo Memory Manager driver introduced for the same cycle in few commits before. These fixes were reported only after wider coverage by bots through linux-next exposure. * tag 'memory-controller-drv-6.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl: memory: stm32_omm: Fix error handling in stm32_omm_disable_child() memory: stm32_omm: Fix NULL vs IS_ERR() check in probe() memory: stm32_omm: Fix error handling in stm32_omm_configure() memory: stm32: Fix spelling mistake "resset" -> "reset" Link: https://lore.kernel.org/r/20250516082415.7871-2-krzysztof.kozlowski@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--drivers/memory/stm32_omm.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/memory/stm32_omm.c b/drivers/memory/stm32_omm.c
index 166baed0738a..79ceb1635698 100644
--- a/drivers/memory/stm32_omm.c
+++ b/drivers/memory/stm32_omm.c
@@ -164,7 +164,7 @@ static int stm32_omm_disable_child(struct device *dev)
u8 i;
ret = stm32_omm_toggle_child_clock(dev, true);
- if (!ret)
+ if (ret)
return ret;
for (i = 0; i < omm->nb_child; i++) {
@@ -173,7 +173,7 @@ static int stm32_omm_disable_child(struct device *dev)
ret = reset_control_acquire(reset);
if (ret) {
stm32_omm_toggle_child_clock(dev, false);
- dev_err(dev, "Can not acquire resset %d\n", ret);
+ dev_err(dev, "Can not acquire reset %d\n", ret);
return ret;
}
@@ -222,6 +222,7 @@ static int stm32_omm_configure(struct device *dev)
clk_rate = clk_get_rate(omm->clk_bulk[i].clk);
if (!clk_rate) {
dev_err(dev, "Invalid clock rate\n");
+ ret = -EINVAL;
goto error;
}
@@ -230,8 +231,10 @@ static int stm32_omm_configure(struct device *dev)
}
rstc = devm_reset_control_get_exclusive(dev, "omm");
- if (IS_ERR(rstc))
- return dev_err_probe(dev, PTR_ERR(rstc), "reset get failed\n");
+ if (IS_ERR(rstc)) {
+ ret = dev_err_probe(dev, PTR_ERR(rstc), "reset get failed\n");
+ goto error;
+ }
reset_control_assert(rstc);
udelay(2);
@@ -317,8 +320,8 @@ static int stm32_omm_probe(struct platform_device *pdev)
return PTR_ERR(omm->io_base);
omm->mm_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "memory_map");
- if (IS_ERR(omm->mm_res))
- return PTR_ERR(omm->mm_res);
+ if (!omm->mm_res)
+ return -ENODEV;
/* check child's access */
for_each_child_of_node_scoped(dev->of_node, child) {