[09/13,media] tvp5150: create the expected number of pads
diff mbox

Message ID 32df4e6a3064a77fddf57a3c9816e3f0e2d0b8b4.1454067262.git.mchehab@osg.samsung.com
State New
Headers show

Commit Message

Mauro Carvalho Chehab Jan. 29, 2016, 12:10 p.m. UTC
The tvp5150 doesn't have just one pad. It has 3 ones:
	- IF input
	- Video output
	- VBI output

Fix it and use the macros for the pad indexes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
---
 drivers/media/i2c/tvp5150.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Comments

Javier Martinez Canillas Jan. 29, 2016, 6:21 p.m. UTC | #1
Hello Mauro,

On 01/29/2016 09:10 AM, Mauro Carvalho Chehab wrote:
> The tvp5150 doesn't have just one pad. It has 3 ones:
> 	- IF input
> 	- Video output
> 	- VBI output
>
> Fix it and use the macros for the pad indexes.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
> ---
>   drivers/media/i2c/tvp5150.c | 11 ++++++++---
>   1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
> index 0ad122fcd632..20428f052506 100644
> --- a/drivers/media/i2c/tvp5150.c
> +++ b/drivers/media/i2c/tvp5150.c
> @@ -16,6 +16,7 @@
>   #include <media/i2c/tvp5150.h>
>   #include <media/v4l2-ctrls.h>
>   #include <media/v4l2-of.h>
> +#include <media/v4l2-mc.h>
>
>   #include "tvp5150_reg.h"
>
> @@ -37,7 +38,9 @@ MODULE_PARM_DESC(debug, "Debug level (0-2)");
>
>   struct tvp5150 {
>   	struct v4l2_subdev sd;
> -	struct media_pad pad;
> +#ifdef CONFIG_MEDIA_CONTROLLER
> +	struct media_pad pads[DEMOD_NUM_PADS];
> +#endif
>   	struct v4l2_ctrl_handler hdl;
>   	struct v4l2_rect rect;
>
> @@ -1313,8 +1316,10 @@ static int tvp5150_probe(struct i2c_client *c,
>   	sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
>
>   #if defined(CONFIG_MEDIA_CONTROLLER)
> -	core->pad.flags = MEDIA_PAD_FL_SOURCE;
> -	res = media_entity_pads_init(&sd->entity, 1, &core->pad);
> +	core->pads[DEMOD_PAD_IF_INPUT].flags = MEDIA_PAD_FL_SINK;
> +	core->pads[DEMOD_PAD_VID_OUT].flags = MEDIA_PAD_FL_SOURCE;
> +	core->pads[DEMOD_PAD_VBI_OUT].flags = MEDIA_PAD_FL_SOURCE;
> +	res = media_entity_pads_init(&sd->entity, DEMOD_NUM_PADS, core->pads);
>   	if (res < 0)
>   		return res;
>   #endif
>

The patch looks good to me.

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,

Patch
diff mbox

diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
index 0ad122fcd632..20428f052506 100644
--- a/drivers/media/i2c/tvp5150.c
+++ b/drivers/media/i2c/tvp5150.c
@@ -16,6 +16,7 @@ 
 #include <media/i2c/tvp5150.h>
 #include <media/v4l2-ctrls.h>
 #include <media/v4l2-of.h>
+#include <media/v4l2-mc.h>
 
 #include "tvp5150_reg.h"
 
@@ -37,7 +38,9 @@  MODULE_PARM_DESC(debug, "Debug level (0-2)");
 
 struct tvp5150 {
 	struct v4l2_subdev sd;
-	struct media_pad pad;
+#ifdef CONFIG_MEDIA_CONTROLLER
+	struct media_pad pads[DEMOD_NUM_PADS];
+#endif
 	struct v4l2_ctrl_handler hdl;
 	struct v4l2_rect rect;
 
@@ -1313,8 +1316,10 @@  static int tvp5150_probe(struct i2c_client *c,
 	sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
 
 #if defined(CONFIG_MEDIA_CONTROLLER)
-	core->pad.flags = MEDIA_PAD_FL_SOURCE;
-	res = media_entity_pads_init(&sd->entity, 1, &core->pad);
+	core->pads[DEMOD_PAD_IF_INPUT].flags = MEDIA_PAD_FL_SINK;
+	core->pads[DEMOD_PAD_VID_OUT].flags = MEDIA_PAD_FL_SOURCE;
+	core->pads[DEMOD_PAD_VBI_OUT].flags = MEDIA_PAD_FL_SOURCE;
+	res = media_entity_pads_init(&sd->entity, DEMOD_NUM_PADS, core->pads);
 	if (res < 0)
 		return res;
 #endif