Re: [PATCH v2 3/3] media: dt-bindings: vpif: new optional property

From: Sekhar Nori
Date: Wed Mar 01 2017 - 08:21:29 EST


On Tuesday 28 February 2017 04:30 PM, Bartosz Golaszewski wrote:
> 2017-02-28 6:36 GMT+01:00 Sekhar Nori <nsekhar@xxxxxx>:
>> On Tuesday 28 February 2017 04:22 AM, Rob Herring wrote:
>>> On Wed, Feb 22, 2017 at 02:43:47PM +0100, Bartosz Golaszewski wrote:
>>>> Add an optional property - enable-gpios - which can be used to specify
>>>> the GPIOs that must be requested to select the vpif functionality.
>>>>
>>>> Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
>>>> ---
>>>> Documentation/devicetree/bindings/media/ti,da850-vpif.txt | 7 +++++++
>>>> 1 file changed, 7 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/media/ti,da850-vpif.txt b/Documentation/devicetree/bindings/media/ti,da850-vpif.txt
>>>> index df7182a..23c5405 100644
>>>> --- a/Documentation/devicetree/bindings/media/ti,da850-vpif.txt
>>>> +++ b/Documentation/devicetree/bindings/media/ti,da850-vpif.txt
>>>> @@ -13,6 +13,9 @@ Required properties:
>>>> - reg: physical base address and length of the registers set for the device;
>>>> - interrupts: should contain IRQ line for the VPIF
>>>>
>>>> +Optional properties:
>>>> +- enable-gpios: phandle of the GPIOs used to select the vpif functionality
>>>
>>> What does this control exactly? The GPIOs belong in the node they are
>>> connected to and having GPIOs routed to this block seems strange.
>>
>> The DA850 EVM board implements on-board muxing which lets the video
>> input (via VPIF) to be routed to a TVP5147 (video decoder) for composite
>> input or to a camera header. There are other mux options which use the
>> same VPIF SoC pins (RMII ethernet or character LCD).
>>
>> There is a three-to-eight demux on the board which drives enable signals
>> to buffers letting you choose from these options.
>>
>> From your response, it looks like you want the enable-gpios property to
>> be in the TVP5147 or camera node. That does make sense to me.
>>
>
> Wouldn't that cause races again? The TVP5147 ADC is probed from within
> the vpif driver as a media subdev (after initialize_vpif(),
> v4l2_device_register(), irq requests etc.).

When TVP5147 probe fails with -EPROBE_DEFER, I assume the error can
propagate back to vpif_probe() which would then de-register the V4L2
device as part of probe error unwinding. That should then allow the
probe to be retried at a later time.

Thanks,
Sekhar

>
> Thanks,
> Bartosz
>