media: v4l2-common: Always register clock with device-specific name

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>
This commit is contained in:
Paul Cercueil
2026-03-31 10:43:40 +02:00
committed by Hans Verkuil
parent caced3578b
commit 0b42657bea

View 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);