Commit 24644035 authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab

[media] smiapp: Return correct return value in smiapp_registered()

Prepare for supporting systems using the Device tree. Should the resources
not be available at the time of driver probe(), the EPROBE_DEFER error code
must be also returned from its probe function.
Signed-off-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 9945374e
......@@ -2358,14 +2358,14 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
sensor->vana = devm_regulator_get(&client->dev, "vana");
if (IS_ERR(sensor->vana)) {
dev_err(&client->dev, "could not get regulator for vana\n");
return -ENODEV;
return PTR_ERR(sensor->vana);
}
if (!sensor->platform_data->set_xclk) {
sensor->ext_clk = devm_clk_get(&client->dev, "ext_clk");
if (IS_ERR(sensor->ext_clk)) {
dev_err(&client->dev, "could not get clock\n");
return -ENODEV;
return PTR_ERR(sensor->ext_clk);
}
rval = clk_set_rate(sensor->ext_clk,
......@@ -2374,18 +2374,19 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
dev_err(&client->dev,
"unable to set clock freq to %u\n",
sensor->platform_data->ext_clk);
return -ENODEV;
return rval;
}
}
if (gpio_is_valid(sensor->platform_data->xshutdown)) {
if (devm_gpio_request_one(&client->dev,
sensor->platform_data->xshutdown, 0,
"SMIA++ xshutdown") != 0) {
rval = devm_gpio_request_one(
&client->dev, sensor->platform_data->xshutdown, 0,
"SMIA++ xshutdown");
if (rval < 0) {
dev_err(&client->dev,
"unable to acquire reset gpio %d\n",
sensor->platform_data->xshutdown);
return -ENODEV;
return rval;
}
}
......
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