media: ov8856: ignore gpio and regulator for ov8856 with ACPI
For ov8856 working with ACPI, it does not depend on the reset gpio and regulator to do reset and power control, so should get the gpio and regulator for non-ACPI cases only, otherwise it will break ov8856 with ACPI. [Sakari Ailus: Wrap a line over 80 chars.] Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Tianshu Qiu <tian.shu.qiu@intel.com> Cc: Robert Foss <robert.foss@linaro.org> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
0e2b855266
commit
d84a2e4900
@ -2304,25 +2304,26 @@ static int ov8856_get_hwcfg(struct ov8856 *ov8856, struct device *dev)
|
||||
|
||||
clk_set_rate(ov8856->xvclk, xvclk_rate);
|
||||
xvclk_rate = clk_get_rate(ov8856->xvclk);
|
||||
|
||||
ov8856->reset_gpio = devm_gpiod_get_optional(dev, "reset",
|
||||
GPIOD_OUT_LOW);
|
||||
if (IS_ERR(ov8856->reset_gpio))
|
||||
return PTR_ERR(ov8856->reset_gpio);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(ov8856_supply_names); i++)
|
||||
ov8856->supplies[i].supply = ov8856_supply_names[i];
|
||||
|
||||
ret = devm_regulator_bulk_get(dev,
|
||||
ARRAY_SIZE(ov8856_supply_names),
|
||||
ov8856->supplies);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (xvclk_rate != OV8856_XVCLK_19_2)
|
||||
dev_warn(dev, "external clock rate %u is unsupported",
|
||||
xvclk_rate);
|
||||
|
||||
ov8856->reset_gpio = devm_gpiod_get_optional(dev, "reset",
|
||||
GPIOD_OUT_LOW);
|
||||
if (IS_ERR(ov8856->reset_gpio))
|
||||
return PTR_ERR(ov8856->reset_gpio);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(ov8856_supply_names); i++)
|
||||
ov8856->supplies[i].supply = ov8856_supply_names[i];
|
||||
|
||||
ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ov8856_supply_names),
|
||||
ov8856->supplies);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
|
||||
if (!ep)
|
||||
return -ENXIO;
|
||||
|
Loading…
Reference in New Issue
Block a user