[media] smiapp: Register async subdev

Register and unregister async sub-device for DT.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Sakari Ailus 2013-11-30 17:51:15 -03:00 committed by Mauro Carvalho Chehab
parent 3d9bb7a620
commit f73108eb8e
1 changed files with 16 additions and 1 deletions

View File

@ -2942,8 +2942,21 @@ static int smiapp_probe(struct i2c_client *client,
sensor->src->sensor = sensor;
sensor->src->pads[0].flags = MEDIA_PAD_FL_SOURCE;
return media_entity_init(&sensor->src->sd.entity, 2,
rval = media_entity_init(&sensor->src->sd.entity, 2,
sensor->src->pads, 0);
if (rval < 0)
return rval;
rval = v4l2_async_register_subdev(&sensor->src->sd);
if (rval < 0)
goto out_media_entity_cleanup;
return 0;
out_media_entity_cleanup:
media_entity_cleanup(&sensor->src->sd.entity);
return rval;
}
static int smiapp_remove(struct i2c_client *client)
@ -2952,6 +2965,8 @@ static int smiapp_remove(struct i2c_client *client)
struct smiapp_sensor *sensor = to_smiapp_sensor(subdev);
unsigned int i;
v4l2_async_unregister_subdev(subdev);
if (sensor->power_count) {
if (gpio_is_valid(sensor->platform_data->xshutdown))
gpio_set_value(sensor->platform_data->xshutdown, 0);