]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: v4l2-common: Always register clock with device-specific name
authorPaul Cercueil <paul@crapouillou.net>
Tue, 31 Mar 2026 08:43:40 +0000 (10:43 +0200)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Wed, 6 May 2026 07:17:37 +0000 (09:17 +0200)
If we need to register a dummy fixed-frequency clock, always register it
using a device-specific name.

This supports the use case where a system has two of the same sensor,
meaning two instances of the same driver, which previously both tried
(and failed) to create a clock with the same name.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Mehdi Djait <mehdi.djait@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/v4l2-core/v4l2-common.c

index 55bcd5975d9fcb94120def58432d054b8c22ed58..bceafc4e92c812da4b08a12341d4d539a86699c9 100644 (file)
@@ -793,14 +793,15 @@ struct clk *__devm_v4l2_sensor_clk_get(struct device *dev, const char *id,
        if (ret)
                return ERR_PTR(ret == -EINVAL ? -EPROBE_DEFER : ret);
 
-       if (!id) {
+       if (id)
+               clk_id = kasprintf(GFP_KERNEL, "clk-%s-%s", dev_name(dev), id);
+       else
                clk_id = kasprintf(GFP_KERNEL, "clk-%s", dev_name(dev));
-               if (!clk_id)
-                       return ERR_PTR(-ENOMEM);
-               id = clk_id;
-       }
 
-       clk_hw = devm_clk_hw_register_fixed_rate(dev, id, NULL, 0, rate);
+       if (!clk_id)
+               return ERR_PTR(-ENOMEM);
+
+       clk_hw = devm_clk_hw_register_fixed_rate(dev, clk_id, NULL, 0, rate);
        if (IS_ERR(clk_hw))
                return ERR_CAST(clk_hw);