[media] media: davinci: vpif: display: separate out subdev from output
vpif_display relied on a 1-1 mapping of output and subdev. This is not necessarily the case. Separate the two. So there is a list of subdevs and a list of outputs. Each output refers to a subdev and has routing information. An output does not have to have a subdev. The initial output for each channel is set to the fist output. Currently missing is support for associating multiple subdevs with an output. Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com> Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Este cometimento está contido em:

cometido por
Mauro Carvalho Chehab

ascendente
c389648a92
cometimento
2bd4e58c9d
@@ -26,6 +26,7 @@
|
||||
#include <linux/i2c/pcf857x.h>
|
||||
|
||||
#include <media/tvp514x.h>
|
||||
#include <media/adv7343.h>
|
||||
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/nand.h>
|
||||
@@ -496,18 +497,49 @@ static struct vpif_subdev_info dm646x_vpif_subdev[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static const char *output[] = {
|
||||
"Composite",
|
||||
"Component",
|
||||
"S-Video",
|
||||
static const struct vpif_output dm6467_ch0_outputs[] = {
|
||||
{
|
||||
.output = {
|
||||
.index = 0,
|
||||
.name = "Composite",
|
||||
.type = V4L2_OUTPUT_TYPE_ANALOG,
|
||||
.capabilities = V4L2_OUT_CAP_STD,
|
||||
.std = V4L2_STD_ALL,
|
||||
},
|
||||
.subdev_name = "adv7343",
|
||||
.output_route = ADV7343_COMPOSITE_ID,
|
||||
},
|
||||
{
|
||||
.output = {
|
||||
.index = 1,
|
||||
.name = "Component",
|
||||
.type = V4L2_OUTPUT_TYPE_ANALOG,
|
||||
.capabilities = V4L2_OUT_CAP_CUSTOM_TIMINGS,
|
||||
},
|
||||
.subdev_name = "adv7343",
|
||||
.output_route = ADV7343_COMPONENT_ID,
|
||||
},
|
||||
{
|
||||
.output = {
|
||||
.index = 2,
|
||||
.name = "S-Video",
|
||||
.type = V4L2_OUTPUT_TYPE_ANALOG,
|
||||
.capabilities = V4L2_OUT_CAP_STD,
|
||||
.std = V4L2_STD_ALL,
|
||||
},
|
||||
.subdev_name = "adv7343",
|
||||
.output_route = ADV7343_SVIDEO_ID,
|
||||
},
|
||||
};
|
||||
|
||||
static struct vpif_display_config dm646x_vpif_display_config = {
|
||||
.set_clock = set_vpif_clock,
|
||||
.subdevinfo = dm646x_vpif_subdev,
|
||||
.subdev_count = ARRAY_SIZE(dm646x_vpif_subdev),
|
||||
.output = output,
|
||||
.output_count = ARRAY_SIZE(output),
|
||||
.chan_config[0] = {
|
||||
.outputs = dm6467_ch0_outputs,
|
||||
.output_count = ARRAY_SIZE(dm6467_ch0_outputs),
|
||||
},
|
||||
.card_name = "DM646x EVM",
|
||||
};
|
||||
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador