media: ov5670: Fix probe on ACPI
authorSakari Ailus <sakari.ailus@linux.intel.com>
Wed, 29 Mar 2023 14:57:50 +0000 (15:57 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Tue, 25 Apr 2023 07:30:18 +0000 (08:30 +0100)
devm_clk_get() will return either an error or NULL, which the driver
handles, continuing to use the clock of reading the value of the
clock-frequency property.

However, the value of ov5670->xvclk is left as-is and the other clock
framework functions aren't capable of handling error values.

Use devm_clk_get_optional() to obtain NULL instead of -ENOENT.

Fixes: 8004c91e2095 ("media: i2c: ov5670: Use common clock framework")
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/i2c/ov5670.c

index 24c0631..c026610 100644 (file)
@@ -2691,7 +2691,7 @@ static int ov5670_probe(struct i2c_client *client)
        if (!ov5670)
                return -ENOMEM;
 
-       ov5670->xvclk = devm_clk_get(&client->dev, NULL);
+       ov5670->xvclk = devm_clk_get_optional(&client->dev, NULL);
        if (!IS_ERR_OR_NULL(ov5670->xvclk))
                input_clk = clk_get_rate(ov5670->xvclk);
        else if (!ov5670->xvclk || PTR_ERR(ov5670->xvclk) == -ENOENT)