[PATCH libBSD] iicbus/rtems-i2c.c: Add rtems, path as an additional bus path
Niteesh G. S.
niteesh.gs at gmail.com
Mon Apr 19 18:05:48 UTC 2021
Hello Christian,
On Mon, Apr 19, 2021 at 10:18 PM Christian Mauderer <oss at c-mauderer.de>
wrote:
> Hello Niteesh,
>
> On 19/04/2021 18:45, Niteesh G. S. wrote:
> >
> >
> > On Mon, Apr 19, 2021 at 9:55 PM Gedare Bloom <gedare at rtems.org
> > <mailto:gedare at rtems.org>> wrote:
> >
> > On Sun, Apr 18, 2021 at 9:12 AM G S Niteesh Babu
> > <niteesh.gs at gmail.com <mailto:niteesh.gs at gmail.com>> wrote:
> > >
> > > Adds "rtems,path" as an additional bus path for the i2c driver.
> > > Previously the bus path was provided in "rtems,i2c-path" property
> > > only.
> > > ---
> > > rtemsbsd/sys/dev/iicbus/rtems-i2c.c | 9 ++++++---
> > > 1 file changed, 6 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/rtemsbsd/sys/dev/iicbus/rtems-i2c.c
> > b/rtemsbsd/sys/dev/iicbus/rtems-i2c.c
> > > index b965f248..7ac7a7c4 100644
> > > --- a/rtemsbsd/sys/dev/iicbus/rtems-i2c.c
> > > +++ b/rtemsbsd/sys/dev/iicbus/rtems-i2c.c
> > > @@ -87,9 +87,12 @@ rtems_i2c_attach(device_t dev)
> > >
> > > len = OF_getprop_alloc(node, "rtems,i2c-path", &sc->path);
> > > if (len == -1){
> > > - device_printf(sc->dev, "Path not found in Device
> > Tree");
> > > - OF_prop_free(sc->path);
> > > - return (ENXIO);
> > > + len = OF_getprop_alloc(node, "rtems,path",
> > &sc->path);
> > > + if (len == -1) {
> > > + device_printf(sc->dev, "Path not found in
> > Device Tree");
> > > + OF_prop_free(sc->path);
> > If OF_get_prop_alloc failed, is sc->path valid here? Or do you
> > free(NULL) maybe.
> >
> > OF_getprop_alloc doesn't allocate a buffer on missing properties and 0
> > length
> > properties. In other cases, if it internally fails(in OF_getprop) it
> > frees the buffer and
> > then returns.
> > In this case, if no path property exists we just free a null buffer.
> >
>
> So if I understand you correctly, we either get a valid pointer with len
> != -1 or we get NULL? Sounds like the OF_prop_free(...) wasn't necessary
> before your change and isn't necessary now. So you might remove it.
>
I have removed it and have sent a v2.
The updated list of patches pending.
1) https://lists.rtems.org/pipermail/devel/2021-April/066458.html
2) https://lists.rtems.org/pipermail/devel/2021-April/066460.html
3) https://lists.rtems.org/pipermail/devel/2021-April/066660.html
<https://lists.rtems.org/pipermail/devel/2021-April/066660.html>
Thanks,
Niteesh.
> Best regards
>
> Christian
>
> >
> > > + return (ENXIO);
> > > + }
> > > }
> > >
> > > if ((sc->sc_iicbus = device_add_child(sc->dev, "iicbus",
> > -1)) == NULL) {
> > > --
> > > 2.17.1
> > >
> > > _______________________________________________
> > > devel mailing list
> > > devel at rtems.org <mailto:devel at rtems.org>
> > > http://lists.rtems.org/mailman/listinfo/devel
> > <http://lists.rtems.org/mailman/listinfo/devel>
> >
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210419/3e2b5423/attachment-0001.html>
More information about the devel
mailing list