]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: stm32: dcmipp: avoid naming clock if only one is needed
authorAlain Volmat <alain.volmat@foss.st.com>
Mon, 15 Dec 2025 12:10:19 +0000 (13:10 +0100)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Fri, 16 Jan 2026 13:08:52 +0000 (14:08 +0100)
When DCMIPP requires only a single clock (kclk), avoid relying on its
name to obtain it. The introduction of MP25 support added the mclk,
which necessitated naming the first clock kclk. However, this breaks
backward compatibility with existing MP13 device trees that do not
specify clock names.

Fixes: 686f27f7ea37 ("media: stm32: dcmipp: add core support for the stm32mp25")
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Cc: Stable@vger.kernel.org # 6.14.x: 7f487562af49 media: stm32: dcmipp: correct ret type in dcmipp_graph_notify_bound
Cc: Stable@vger.kernel.org # 6.14.x: c715dd62da30 media: stm32: dcmipp: add has_csi2 & needs_mclk in match data
Cc: Stable@vger.kernel.org # 6.14.x:
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c

index 1b7bae3266c8db1b095ff1616ca6ae777835d0c1..49398d07776462d1c569dc1fdbf7dc6a3a4e28fc 100644 (file)
@@ -526,7 +526,12 @@ static int dcmipp_probe(struct platform_device *pdev)
                return ret;
        }
 
-       kclk = devm_clk_get(&pdev->dev, "kclk");
+       /*
+        * In case of the DCMIPP has only 1 clock (such as on MP13), the
+        * clock might not be named.
+        */
+       kclk = devm_clk_get(&pdev->dev,
+                           dcmipp->pipe_cfg->needs_mclk ? "kclk" : NULL);
        if (IS_ERR(kclk))
                return dev_err_probe(&pdev->dev, PTR_ERR(kclk),
                                     "Unable to get kclk\n");