Re: [PATCH v4 1/3] mfd: wm831x: Add basic device tree binding

From: Charles Keepax
Date: Fri Mar 17 2017 - 05:26:24 EST


On Fri, Mar 17, 2017 at 09:15:02AM +0000, Lee Jones wrote:
> On Thu, 16 Mar 2017, Charles Keepax wrote:
>
> > On Thu, Mar 16, 2017 at 02:00:19PM +0000, Lee Jones wrote:
> > > On Wed, 15 Mar 2017, Charles Keepax wrote:
> > > > + if (i2c->dev.of_node) {
> > > > + const struct of_device_id *id = of_match_device(wm831x_of_match,
> > > > + &i2c->dev);
> > >
> > > Not keen on this. Please declare the variable up with the others.
> > >
> >
> > They are never going to be used anywhere else in the function.
> > Again I can if you feel strongly but isn't it really better to
> > limit the scope of the variables if they are only being used
> > locally.
>
> I understand the motivation, but if we did that all the time, the code
> would look pretty dire IMHO.
>

Ok I do another spin.

> > > > + unsigned long of_type = (unsigned long)id->data;
> > >
> > > And this one.
> > >
> > > > + type = (enum wm831x_parent)of_type;
> > >
> > > Looks like you don't even need of_type.
> > >
> > > Just cast id->data straight into wm81x_parent.
> >
> > Pretty sure you will get a warning on 64-bit systems if I do
> > that.
>
> What makes you think that?
>

commit 942786e6e647cef94cf96dcd836d343be55fc452
Author: Lee Jones <lee.jones@xxxxxxxxxx>
mfd: arizona: Rid data size incompatibility warn when building for 64bit

I am fairly sure an enum would get treated the same as an int by
the compiler. I will try it and see.

Thanks,
Charles