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 ?? > 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