mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-16 23:36:09 -05:00
media: i2c: ov8856: Use the v4l2 helper for obtaining the clock
devm_clk_get() fails on ACPI-based platforms, where firmware does not provide a direct reference to the clock producer. Replace devm_clk_get() with the new v4l2 helper devm_v4l2_sensor_clk_get() that works on both DT- and ACPI-based platforms to retrieve a reference to the clock producer from firmware. Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mehdi Djait <mehdi.djait@linux.intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
committed by
Hans Verkuil
parent
f3c4ae2733
commit
4be64122c8
@@ -2274,12 +2274,10 @@ static int ov8856_get_hwcfg(struct ov8856 *ov8856, struct device *dev)
|
||||
return ret;
|
||||
|
||||
if (!is_acpi_node(fwnode)) {
|
||||
ov8856->xvclk = devm_clk_get(dev, "xvclk");
|
||||
if (IS_ERR(ov8856->xvclk)) {
|
||||
dev_err_probe(dev, PTR_ERR(ov8856->xvclk),
|
||||
"could not get xvclk clock\n");
|
||||
return PTR_ERR(ov8856->xvclk);
|
||||
}
|
||||
ov8856->xvclk = devm_v4l2_sensor_clk_get(dev, "xvclk");
|
||||
if (IS_ERR(ov8856->xvclk))
|
||||
return dev_err_probe(dev, PTR_ERR(ov8856->xvclk),
|
||||
"could not get xvclk clock\n");
|
||||
|
||||
clk_set_rate(ov8856->xvclk, xvclk_rate);
|
||||
xvclk_rate = clk_get_rate(ov8856->xvclk);
|
||||
|
||||
Reference in New Issue
Block a user