Hi Sakari, On Tue, Sep 08, 2020 at 11:51:21AM +0300, Sakari Ailus wrote: > Document that it is possible to provide defaults for multiple bus types to > v4l2_fwnode_endpoint_parse and v4l2_fwnode_endpoint_alloc_parse. Also > underline the fact that detecting the bus type without bus-type property > is only for the old drivers. > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > --- > include/media/v4l2-fwnode.h | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h > index d04f39b60096..ccaa5693df14 100644 > --- a/include/media/v4l2-fwnode.h > +++ b/include/media/v4l2-fwnode.h > @@ -226,11 +226,10 @@ struct v4l2_fwnode_connector { > * call this function once the correct type is found --- with a default > * configuration valid for that type. > * > - * As a compatibility means guessing the bus type is also supported by setting > - * @vep.bus_type to V4L2_MBUS_UNKNOWN. The caller may not provide a default > - * configuration in this case as the defaults are specific to a given bus type. > - * This functionality is deprecated and should not be used in new drivers and it > - * is only supported for CSI-2 D-PHY, parallel and Bt.656 buses. > + * It is also allowed to set @vep.bus_type to V4L2_MBUS_UNKNOWN. USING THIS > + * FEATURE REQUIRES "bus-type" PROPERTY IN DT BINDINGS. For old drivers, > + * guessing @vep.bus_type between CSI-2 D-PHY, parallel and Bt.656 busses is > + * supported. NEVER RELY ON GUESSING @vep.bus_type IN NEW DRIVERS! As per the discussion in: [PATCH v4 1/3] media: i2c: ov772x: Parse endpoint properties this leaves a bit of gray area on how to address cases where older dts do not report any "bus-type" property, as in the case of PARALLEL vs BT.656 Prabhakar has, it gets impossible to detect mis-configurations. I have suggested him two different behaviours, depending if 'bus-type' is present in the fwnode or not, but I'm not sure that's the best way forward. What do you think ? > * > * The function does not change the V4L2 fwnode endpoint state if it fails. > * > @@ -269,11 +268,10 @@ void v4l2_fwnode_endpoint_free(struct v4l2_fwnode_endpoint *vep); > * call this function once the correct type is found --- with a default > * configuration valid for that type. > * > - * As a compatibility means guessing the bus type is also supported by setting > - * @vep.bus_type to V4L2_MBUS_UNKNOWN. The caller may not provide a default > - * configuration in this case as the defaults are specific to a given bus type. > - * This functionality is deprecated and should not be used in new drivers and it > - * is only supported for CSI-2 D-PHY, parallel and Bt.656 buses. > + * It is also allowed to set @vep.bus_type to V4L2_MBUS_UNKNOWN. USING THIS > + * FEATURE REQUIRES "bus-type" PROPERTY IN DT BINDINGS. For old drivers, > + * guessing @vep.bus_type between CSI-2 D-PHY, parallel and Bt.656 busses is > + * supported. NEVER RELY ON GUESSING @vep.bus_type IN NEW DRIVERS! > * > * The function does not change the V4L2 fwnode endpoint state if it fails. > * > -- > 2.27.0 >