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

[media] msp3400: initialize MC data

Add pads and set the device type when used with the media
controller.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 55606310
...@@ -688,6 +688,9 @@ static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id) ...@@ -688,6 +688,9 @@ static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id)
int msp_revision; int msp_revision;
int msp_product, msp_prod_hi, msp_prod_lo; int msp_product, msp_prod_hi, msp_prod_lo;
int msp_rom; int msp_rom;
#if defined(CONFIG_MEDIA_CONTROLLER)
int ret;
#endif
if (!id) if (!id)
strlcpy(client->name, "msp3400", sizeof(client->name)); strlcpy(client->name, "msp3400", sizeof(client->name));
...@@ -704,6 +707,17 @@ static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id) ...@@ -704,6 +707,17 @@ static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id)
sd = &state->sd; sd = &state->sd;
v4l2_i2c_subdev_init(sd, client, &msp_ops); v4l2_i2c_subdev_init(sd, client, &msp_ops);
#if defined(CONFIG_MEDIA_CONTROLLER)
state->pads[IF_AUD_DEC_PAD_IF_INPUT].flags = MEDIA_PAD_FL_SINK;
state->pads[IF_AUD_DEC_PAD_OUT].flags = MEDIA_PAD_FL_SOURCE;
sd->entity.function = MEDIA_ENT_F_IF_AUD_DECODER;
ret = media_entity_pads_init(&sd->entity, 2, state->pads);
if (ret < 0)
return ret;
#endif
state->v4l2_std = V4L2_STD_NTSC; state->v4l2_std = V4L2_STD_NTSC;
state->detected_std = V4L2_STD_ALL; state->detected_std = V4L2_STD_ALL;
state->audmode = V4L2_TUNER_MODE_STEREO; state->audmode = V4L2_TUNER_MODE_STEREO;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <media/drv-intf/msp3400.h> #include <media/drv-intf/msp3400.h>
#include <media/v4l2-device.h> #include <media/v4l2-device.h>
#include <media/v4l2-ctrls.h> #include <media/v4l2-ctrls.h>
#include <media/v4l2-mc.h>
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
...@@ -102,6 +103,10 @@ struct msp_state { ...@@ -102,6 +103,10 @@ struct msp_state {
wait_queue_head_t wq; wait_queue_head_t wq;
unsigned int restart:1; unsigned int restart:1;
unsigned int watch_stereo:1; unsigned int watch_stereo:1;
#if CONFIG_MEDIA_CONTROLLER
struct media_pad pads[IF_AUD_DEC_PAD_NUM_PADS];
#endif
}; };
static inline struct msp_state *to_state(struct v4l2_subdev *sd) static inline struct msp_state *to_state(struct v4l2_subdev *sd)
......
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