Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+14 −0
Original line number Original line Diff line number Diff line
@@ -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)
	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;
+5 −0
Original line number Original line Diff line number Diff line
@@ -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 {
	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)