Commit ac88fce9 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] mt9v011: add media controller support

Create a source pad and set the media controller type to the sensor.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 0962a763
...@@ -50,6 +50,9 @@ MODULE_PARM_DESC(debug, "Debug level (0-2)"); ...@@ -50,6 +50,9 @@ MODULE_PARM_DESC(debug, "Debug level (0-2)");
struct mt9v011 { struct mt9v011 {
struct v4l2_subdev sd; struct v4l2_subdev sd;
#ifdef CONFIG_MEDIA_CONTROLLER
struct media_pad pad;
#endif
struct v4l2_ctrl_handler ctrls; struct v4l2_ctrl_handler ctrls;
unsigned width, height; unsigned width, height;
unsigned xtal; unsigned xtal;
...@@ -493,6 +496,9 @@ static int mt9v011_probe(struct i2c_client *c, ...@@ -493,6 +496,9 @@ static int mt9v011_probe(struct i2c_client *c,
u16 version; u16 version;
struct mt9v011 *core; struct mt9v011 *core;
struct v4l2_subdev *sd; struct v4l2_subdev *sd;
#ifdef CONFIG_MEDIA_CONTROLLER
int ret;
#endif
/* Check if the adapter supports the needed features */ /* Check if the adapter supports the needed features */
if (!i2c_check_functionality(c->adapter, if (!i2c_check_functionality(c->adapter,
...@@ -506,6 +512,15 @@ static int mt9v011_probe(struct i2c_client *c, ...@@ -506,6 +512,15 @@ static int mt9v011_probe(struct i2c_client *c,
sd = &core->sd; sd = &core->sd;
v4l2_i2c_subdev_init(sd, c, &mt9v011_ops); v4l2_i2c_subdev_init(sd, c, &mt9v011_ops);
#ifdef CONFIG_MEDIA_CONTROLLER
core->pad.flags = MEDIA_PAD_FL_SOURCE;
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
ret = media_entity_pads_init(&sd->entity, 1, &core->pad);
if (ret < 0)
return ret;
#endif
/* Check if the sensor is really a MT9V011 */ /* Check if the sensor is really a MT9V011 */
version = mt9v011_read(sd, R00_MT9V011_CHIP_VERSION); version = mt9v011_read(sd, R00_MT9V011_CHIP_VERSION);
if ((version != MT9V011_VERSION) && if ((version != MT9V011_VERSION) &&
......
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