[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180804073358.7c5cf3a0@bbrezillon>
Date: Sat, 4 Aug 2018 07:33:58 +0200
From: Boris Brezillon <boris.brezillon@...tlin.com>
To: <mshettel@...eaurora.org>
Cc: "'Wolfram Sang'" <wsa@...-dreams.de>, <linux-i2c@...r.kernel.org>,
"'Jonathan Corbet'" <corbet@....net>, <linux-doc@...r.kernel.org>,
"'Greg Kroah-Hartman'" <gregkh@...uxfoundation.org>,
"'Arnd Bergmann'" <arnd@...db.de>,
"'Przemyslaw Sroka'" <psroka@...ence.com>,
"'Arkadiusz Golec'" <agolec@...ence.com>,
"'Alan Douglas'" <adouglas@...ence.com>,
"'Bartosz Folta'" <bfolta@...ence.com>,
"'Damian Kos'" <dkos@...ence.com>,
"'Alicja Jurasik-Urbaniak'" <alicja@...ence.com>,
"'Cyprian Wronka'" <cwronka@...ence.com>,
"'Suresh Punnoose'" <sureshp@...ence.com>,
"'Rafal Ciepiela'" <rafalc@...ence.com>,
"'Thomas Petazzoni'" <thomas.petazzoni@...tlin.com>,
"'Nishanth Menon'" <nm@...com>,
"'Rob Herring'" <robh+dt@...nel.org>,
"'Pawel Moll'" <pawel.moll@....com>,
"'Mark Rutland'" <mark.rutland@....com>,
"'Ian Campbell'" <ijc+devicetree@...lion.org.uk>,
"'Kumar Gala'" <galak@...eaurora.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
"'Vitor Soares'" <Vitor.Soares@...opsys.com>,
"'Geert Uytterhoeven'" <geert@...ux-m68k.org>,
"'Linus Walleij'" <linus.walleij@...aro.org>,
"'Xiang Lin'" <Xiang.Lin@...aptics.com>,
<linux-gpio@...r.kernel.org>, "'Sekhar Nori'" <nsekhar@...com>,
"'Przemyslaw Gaj'" <pgaj@...ence.com>,
"'Peter Rosin'" <peda@...ntia.se>
Subject: Re: [PATCH v6 01/10] i3c: Add core I3C infrastructure
Hi Mike,
On Fri, 3 Aug 2018 15:38:43 -0600
<mshettel@...eaurora.org> wrote:
> > +static void
> > +i3c_master_register_new_i3c_devs(struct i3c_master_controller *master)
> > +{
> > + struct i3c_dev_desc *desc;
> > + int ret;
> > +
> > + if (!master->init_done)
> > + return;
> > +
> > + i3c_bus_for_each_i3cdev(master->bus, desc) {
> > + if (desc->dev || !desc->info.dyn_addr)
> > + continue;
> > +
> > + desc->dev = kzalloc(sizeof(*desc->dev), GFP_KERNEL);
> > + if (!desc->dev)
> > + continue;
> > +
> > + desc->dev->bus = master->bus;
> > + desc->dev->desc = desc;
> > + desc->dev->dev.parent = &master->bus->dev;
> > + if (desc == master->this)
> > + desc->dev->dev.type = &i3c_master_type;
> > + else
> > + desc->dev->dev.type = &i3c_device_type;
> > + desc->dev->dev.bus = &i3c_bus_type;
> > + desc->dev->dev.release = i3c_device_release;
> > + dev_set_name(&desc->dev->dev, "%d-%llx", master->bus-
> > >id,
> > + desc->info.pid);
> > +
> > + if (desc->boardinfo)
> > + desc->dev->dev.of_node = desc->boardinfo-
> > >of_node;
> > +
> > + pr_info("%s:%i\n", __func__, __LINE__);
> > + if (ret)
> > + dev_err(master->parent,
> > + "Failed to add I3C device (err = %d)\n",
> ret);
> > + }
> > +}
>
> The compiler gives a warning that "ret" may be used uninitialized in the
> above function, which is true since "ret" is never assigned a value. Also,
> I wonder about the "pr_info" call here, should there be a more detailed
> message here about the device being registered, other than the file name and
> line number?
Yes, kbuild already reported that problem. I messed up when selecting
the lines to add to my commit and added this trace instead of
ret = device_register(&desc->dev->dev);
Will be fixed in v7.
>
> Otherwise, I have gone through the code in the process of writing the first
> iteration of the Qualcomm I3C master driver, and overall the framework looks
> good. Will update with any additional feedback I have.
Thanks for looking at the framework code. Your driver is in my TODO
list.
Regards,
Boris
Powered by blists - more mailing lists