Commit 88b0c212 authored by Tommaso Merciai's avatar Tommaso Merciai Committed by Mauro Carvalho Chehab

media: ov5693: add support for acpi clock-frequency prop

Add support for ACPI-based platforms that specify the clock frequency by
using the "clock-frequency" property instead of specifying a clock
provider reference
Signed-off-by: default avatarTommaso Merciai <tommaso.merciai@amarulasolutions.com>
Reviewed-by: default avatarJacopo Mondi <jacopo@jmondi.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 8a47d09e
......@@ -1408,13 +1408,25 @@ static int ov5693_probe(struct i2c_client *client)
v4l2_i2c_subdev_init(&ov5693->sd, client, &ov5693_ops);
ov5693->xvclk = devm_clk_get(&client->dev, "xvclk");
if (IS_ERR(ov5693->xvclk)) {
dev_err(&client->dev, "Error getting clock\n");
return PTR_ERR(ov5693->xvclk);
ov5693->xvclk = devm_clk_get_optional(&client->dev, "xvclk");
if (IS_ERR(ov5693->xvclk))
return dev_err_probe(&client->dev, PTR_ERR(ov5693->xvclk),
"failed to get xvclk: %ld\n",
PTR_ERR(ov5693->xvclk));
if (ov5693->xvclk) {
xvclk_rate = clk_get_rate(ov5693->xvclk);
} else {
ret = fwnode_property_read_u32(dev_fwnode(&client->dev),
"clock-frequency",
&xvclk_rate);
if (ret) {
dev_err(&client->dev, "can't get clock frequency");
return ret;
}
}
xvclk_rate = clk_get_rate(ov5693->xvclk);
if (xvclk_rate != OV5693_XVCLK_FREQ)
dev_warn(&client->dev, "Found clk freq %u, expected %u\n",
xvclk_rate, OV5693_XVCLK_FREQ);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment