Hi Biju, Thank you for the review. On Tue, Sep 15, 2020 at 5:01 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > > Hi Prabhakar, > > Thanks for the patch. > > > Subject: [PATCH] media: v4l2-fwnode: Return -EINVAL for invalid bus-type > > > > With the current implementation if invalid bus-type is passed via DT > > v4l2_fwnode_endpoint_parse() defaulted the mus-type to > > Typo mus-type?? > > > V4L2_MBUS_PARALLEL instead of returning error. > > > > This Patch adds V4L2_MBUS_INVALID entry to v4l2_mbus_type enum and > > This patch ?? > Argh my bad, will fix that and post a v2. Cheers, Prabhakar > > when invalid bus-type is detected in v4l2_fwnode_endpoint_parse() it > > returns -EINVAL to the caller. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > --- > > drivers/media/v4l2-core/v4l2-fwnode.c | 6 +++++- > > include/media/v4l2-mediabus.h | 2 ++ > > 2 files changed, 7 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2- > > core/v4l2-fwnode.c > > index a4c3c77c1894..a6f3549eadd3 100644 > > --- a/drivers/media/v4l2-core/v4l2-fwnode.c > > +++ b/drivers/media/v4l2-core/v4l2-fwnode.c > > @@ -93,7 +93,7 @@ v4l2_fwnode_bus_type_to_mbus(enum > > v4l2_fwnode_bus_type type) > > const struct v4l2_fwnode_bus_conv *conv = > > get_v4l2_fwnode_bus_conv_by_fwnode_bus(type); > > > > -return conv ? conv->mbus_type : V4L2_MBUS_UNKNOWN; > > +return conv ? conv->mbus_type : V4L2_MBUS_INVALID; > > } > > > > static const char * > > @@ -436,6 +436,10 @@ static int __v4l2_fwnode_endpoint_parse(struct > > fwnode_handle *fwnode, > > v4l2_fwnode_mbus_type_to_string(vep->bus_type), > > vep->bus_type); > > mbus_type = v4l2_fwnode_bus_type_to_mbus(bus_type); > > +if (mbus_type == V4L2_MBUS_INVALID) { > > +pr_debug("unsupported bus type %u\n", bus_type); > > +return -EINVAL; > > +} > > > > if (vep->bus_type != V4L2_MBUS_UNKNOWN) { > > if (mbus_type != V4L2_MBUS_UNKNOWN && diff --git > > a/include/media/v4l2-mediabus.h b/include/media/v4l2-mediabus.h index > > 45f88f0248c4..b4f630783cb7 100644 > > --- a/include/media/v4l2-mediabus.h > > +++ b/include/media/v4l2-mediabus.h > > @@ -78,6 +78,7 @@ > > * @V4L2_MBUS_CCP2:CCP2 (Compact Camera Port 2) > > * @V4L2_MBUS_CSI2_DPHY: MIPI CSI-2 serial interface, with D-PHY > > * @V4L2_MBUS_CSI2_CPHY: MIPI CSI-2 serial interface, with C-PHY > > + * @V4L2_MBUS_INVALID:invalid bus type (keep it last for sanity) > > */ > > enum v4l2_mbus_type { > > V4L2_MBUS_UNKNOWN, > > @@ -87,6 +88,7 @@ enum v4l2_mbus_type { > > V4L2_MBUS_CCP2, > > V4L2_MBUS_CSI2_DPHY, > > V4L2_MBUS_CSI2_CPHY, > > +V4L2_MBUS_INVALID, > > }; > > > > /** > > -- > > 2.17.1 > > > > Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647