[PATCH v2 1/2] clk: eyeq: Use devm_platform_ioremap_resource()

From: Benoît Monin

Date: Mon Sep 14 2026 - 08:37:11 EST


Convert eqc_probe() from the open-coded platform_get_resource() +
ioremap() sequence to devm_platform_ioremap_resource(). Besides less
code, this requests the memory region so the OLB registers are properly
reserved in the iomem_resource tree.

Move devm_platform_ioremap_resource() before checking for device match
data, so OLBs bound without match data also get their memory region
mapped and reserved.

Suggested-by: Vladimir Kondratiev <vladimir.kondratiev@xxxxxxxxxxxx>
Signed-off-by: Benoît Monin <benoit.monin@xxxxxxxxxxx>
---
drivers/clk/clk-eyeq.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/clk/clk-eyeq.c b/drivers/clk/clk-eyeq.c
index cf37feccc734..3662e6990bf7 100644
--- a/drivers/clk/clk-eyeq.c
+++ b/drivers/clk/clk-eyeq.c
@@ -513,21 +513,16 @@ static int eqc_probe(struct platform_device *pdev)
const struct eqc_match_data *data;
struct clk_hw_onecell_data *cells;
unsigned int i, clk_count;
- struct resource *res;
void __iomem *base;
int ret;

+ base = devm_platform_ioremap_resource(pdev, 0);
+ if (IS_ERR(base))
+ return PTR_ERR(base);
+
data = device_get_match_data(dev);
if (!data)
- return 0; /* No clocks nor auxdevs, we are done. */
-
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!res)
- return -ENODEV;
-
- base = ioremap(res->start, resource_size(res));
- if (!base)
- return -ENOMEM;
+ return 0; /* No clocks nor auxdevs, stop here but keep resource reserved */

/* Init optional auxiliary devices. */
eqc_auxdev_create_optional(dev, base, data->reset_auxdev_name);

--
2.55.0