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

From: Charles Keepax
Date: Fri Mar 17 2017 - 06:13:25 EST


On Fri, Mar 17, 2017 at 09:37:20AM +0000, Lee Jones wrote:
> On Fri, 17 Mar 2017, Charles Keepax wrote:
>
> > 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.
>
> I already prototyped it. No warnings seen.
>

Cool thanks, the weird corners of C never cease to amaze me I
will update the patch and resend.

Thanks,
Charles