From: Hans de Goede <hdego...@redhat.com>

media: ov08x40: Get clock on ACPI platforms too

upstream status: Accepted in media subsystem co-maintainer tree:
https://git.linuxtv.org/sailus/media_tree.git/log/drivers/media/i2c/ov08x40.c?h=devel
(this tree gets rebased before merging so no git hash)

ACPI platforms might also have a clk provider which needs to be controlled,
always try to get a clk using clk_get_optional() and when that fails fall
back to getting the xvclk frequency from the "clock-frequency" property.

Tested-by: Bryan O'Donoghue <bryan.odonog...@linaro.org>
Signed-off-by: Hans de Goede <hdego...@redhat.com>
Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>

diff --git a/drivers/media/i2c/ov08x40.c b/drivers/media/i2c/ov08x40.c
index blahblah..blahblah 100644
--- a/drivers/media/i2c/ov08x40.c
+++ b/drivers/media/i2c/ov08x40.c
@@ -2175,15 +2175,13 @@ static int ov08x40_check_hwcfg(struct ov08x40 *ov08x, 
struct device *dev)
        if (ret)
                goto out_err;
 
-       if (!is_acpi_node(fwnode)) {
-               ov08x->xvclk = devm_clk_get(dev, NULL);
-               if (IS_ERR(ov08x->xvclk)) {
-                       dev_err(dev, "could not get xvclk clock (%pe)\n",
-                               ov08x->xvclk);
-                       ret = PTR_ERR(ov08x->xvclk);
-                       goto out_err;
-               }
-
+       ov08x->xvclk = devm_clk_get_optional(dev, NULL);
+       if (IS_ERR(ov08x->xvclk)) {
+               ret = dev_err_probe(dev, PTR_ERR(ov08x->xvclk),
+                                   "getting xvclk\n");
+               goto out_err;
+       }
+       if (ov08x->xvclk) {
                xvclk_rate = clk_get_rate(ov08x->xvclk);
        } else {
                ret = fwnode_property_read_u32(dev_fwnode(dev), 
"clock-frequency",

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3671

-- 
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to