Re: [PATCH 35/47] adv7604: Add sink pads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans,

On Tuesday 11 February 2014 13:24:03 Hans Verkuil wrote:
> On 02/11/14 13:23, Laurent Pinchart wrote:
> > On Tuesday 11 February 2014 13:07:51 Hans Verkuil wrote:
> >> On 02/11/14 13:00, Laurent Pinchart wrote:
> >>> On Tuesday 11 February 2014 11:19:32 Hans Verkuil wrote:
> >>>> On 02/05/14 17:42, Laurent Pinchart wrote:
> >>>>> The ADV7604 has sink pads for its HDMI and analog inputs. Report them.
> >>>>> 
> >>>>> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> >>>>> ---
> >>>>> 
> >>>>>  drivers/media/i2c/adv7604.c | 71  ++++++++++++++++++++++-------------
> >>>>>  include/media/adv7604.h     | 14 ---------
> >>>>>  2 files changed, 45 insertions(+), 40 deletions(-)
> >>>>> 
> >>>>> diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
> >>>>> index 05e7e1a..da32ce9 100644
> >>>>> --- a/drivers/media/i2c/adv7604.c
> >>>>> +++ b/drivers/media/i2c/adv7604.c
> >>>>> @@ -97,13 +97,25 @@ struct adv7604_chip_info {
> >>>>> 
> >>>>>   ********************************************************************
> >>>>>   */
> >>>>> 
> >>>>> +enum adv7604_pad {
> >>>>> +	ADV7604_PAD_HDMI_PORT_A = 0,
> >>>>> +	ADV7604_PAD_HDMI_PORT_B = 1,
> >>>>> +	ADV7604_PAD_HDMI_PORT_C = 2,
> >>>>> +	ADV7604_PAD_HDMI_PORT_D = 3,
> >>>>> +	ADV7604_PAD_VGA_RGB = 4,
> >>>>> +	ADV7604_PAD_VGA_COMP = 5,
> >>>>> +	/* The source pad is either 1 (ADV7611) or 6 (ADV7604) */
> >>>> 
> >>>> How about making this explicit:
> >>>> 	ADV7604_PAD_SOURCE = 6,
> >>>> 	ADV7611_PAD_SOURCE = 1,
> >>> 
> >>> I can do that, but those two constants won't be used in the driver as
> >>> they
> >>> computed dynamically.
> >>> 
> >>>>> +	ADV7604_PAD_MAX = 7,
> >>>>> +};
> >>>> 
> >>>> Wouldn't it make more sense to have this in the header? I would really
> >>>> like to use the symbolic names for these pads in my bridge driver.
> >>> 
> >>> That would add a dependency on the adv7604 driver to the bridge driver,
> >>> isn't the whole point of subdevs to avoid such dependencies ?
> >> 
> >> The bridge driver has to know about the adv7604, not the other way
> >> around.
> >> 
> >> E.g. in my bridge driver I have to match v4l2 inputs to pads, both for
> >> S_EDID and for s_routing, so it needs to know which pad number to use.
> > 
> > Is that information that you want to pass to the bridge driver through
> > platform data, or do you want to hardcode it in the bridge driver itself ?
> > In the latter case the bridge driver would become specific to the
> > adv7604. It might be fine in your case if your bridge is specific to your
> > board anyway (FPGAs come to mind), but it lacks genericity.
> 
> Hardcoded. It's just like any PCI driver: the PCI ID determines what the
> board is and based on that you set everything up. And if there are multiple
> variations of the board you use card structures to define such things.
> 
> The only place where you can put that information is in the bridge driver.

Or in DT I suppose ;-) It could be argued that the bridge driver could/should 
discover pad numbers somehow dynamically, but there's no harm in moving the 
enum to the header, so I'll do that.

> >> Also, for calling set_fmt, BTW. There I need to specify the source pad,
> >> which is also why I would like to have a symbolic name for it as
> >> suggested
> >> above.

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux