Hi Sakari, Thank you for the patch. 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 While at it, s/Bt/BT/. > + * supported. NEVER RELY ON GUESSING @vep.bus_type IN NEW DRIVERS! That's fairly clear :-) Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> I wonder if, as a further improvement, we should turn the enum v4l2_mbus_type into a bitfield, to let drivers tell which bus types they support. The helpers could then return an error if the bus type reported by the firmware doesn't match. > * > * 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. > * -- Regards, Laurent Pinchart