[PATCH libBSD] iicbus/rtems-i2c.c: Add rtems, path as an additional bus path
Christian Mauderer
oss at c-mauderer.de
Mon Apr 19 16:48:46 UTC 2021
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.
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
>
More information about the devel
mailing list