Hi Sakari, Thanks for your patch.
On 2017-06-29 10:30:09 +0300, Sakari Ailus wrote: > v4l2_fwnode_endpoint_alloc_parse() is intended as a replacement for > v4l2_fwnode_endpoint_parse(). It parses the "link-frequency" property and > if the property isn't found, it returns an error. However, > "link-frequency" is an optional property and if it does not exist is not > an error. Instead, the number of link frequencies is simply zero in that > case. > > Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com> Reviewed-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se> > --- > drivers/media/v4l2-core/v4l2-fwnode.c | 30 +++++++++++++++--------------- > 1 file changed, 15 insertions(+), 15 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c > b/drivers/media/v4l2-core/v4l2-fwnode.c > index 153c53c..0ec6c14 100644 > --- a/drivers/media/v4l2-core/v4l2-fwnode.c > +++ b/drivers/media/v4l2-core/v4l2-fwnode.c > @@ -247,23 +247,23 @@ struct v4l2_fwnode_endpoint > *v4l2_fwnode_endpoint_alloc_parse( > > rval = fwnode_property_read_u64_array(fwnode, "link-frequencies", > NULL, 0); > - if (rval < 0) > - goto out_err; > - > - vep->link_frequencies = > - kmalloc_array(rval, sizeof(*vep->link_frequencies), GFP_KERNEL); > - if (!vep->link_frequencies) { > - rval = -ENOMEM; > - goto out_err; > - } > + if (rval > 0) { > + vep->link_frequencies = > + kmalloc_array(rval, sizeof(*vep->link_frequencies), > + GFP_KERNEL); > + if (!vep->link_frequencies) { > + rval = -ENOMEM; > + goto out_err; > + } > > - vep->nr_of_link_frequencies = rval; > + vep->nr_of_link_frequencies = rval; > > - rval = fwnode_property_read_u64_array(fwnode, "link-frequencies", > - vep->link_frequencies, > - vep->nr_of_link_frequencies); > - if (rval < 0) > - goto out_err; > + rval = fwnode_property_read_u64_array( > + fwnode, "link-frequencies", vep->link_frequencies, > + vep->nr_of_link_frequencies); > + if (rval < 0) > + goto out_err; > + } > > return vep; > > -- > 2.1.4 > > -- Regards, Niklas Söderlund