[media] msp3400: initialize MC data

Add pads and set the device type when used with the media
controller.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Mauro Carvalho Chehab 2016-01-28 08:51:01 -02:00
parent 55606310e7
commit fb49328217
2 changed files with 19 additions and 0 deletions

View File

@ -688,6 +688,9 @@ static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id)
int msp_revision;
int msp_product, msp_prod_hi, msp_prod_lo;
int msp_rom;
#if defined(CONFIG_MEDIA_CONTROLLER)
int ret;
#endif
if (!id)
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)
sd = &state->sd;
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->detected_std = V4L2_STD_ALL;
state->audmode = V4L2_TUNER_MODE_STEREO;

View File

@ -7,6 +7,7 @@
#include <media/drv-intf/msp3400.h>
#include <media/v4l2-device.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-mc.h>
/* ---------------------------------------------------------------------- */
@ -102,6 +103,10 @@ struct msp_state {
wait_queue_head_t wq;
unsigned int restart: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)