On Fri, Oct 29, 2021 at 7:48 AM Felipe Balbi <balbi@xxxxxxxxxx> wrote: > Andy Shevchenko <andy.shevchenko@xxxxxxxxx> writes: ... > > Capital L will be better to read and understand the > > abbreviation. Actually usually we do something like this: > > > > Extensible Boot Loader (EBL) > > nah, this is silly Andy. It's just capitalized as eXtensible Boot > Loader, very much akin to eXtensible Host Controller Interface. My point here is to have a full name followed by the abbreviation. and n(O)t in (F)ancy st(Y)le. ... > > +static const struct attribute_group inputs_attr_group = { > > + .attrs = inputs_attrs, > > +}; > > + > > +static u8 surface_xbl_readb(void __iomem *base, u32 offset) > > +{ > > + return readb(base + offset); > > +} > > + > > +static u16 surface_xbl_readw(void __iomem *base, u32 offset) > > +{ > > + return readw(base + offset); > > +} > > > > Either use corresponding io accessors in-line, or make first parameter > > to be sirface_xbl pointer. Otherwise these helpers useless. > > I agree with passing surface_xbl point as first parameter, but calling > the accessors pointless is a bit much. At a minimum, they make it easier > to ftrace the entire driver by simply ftracing surface_xbl_* My point is that the above seems half-baked. It's pointless to have a func(a,b) { return readl(a + b); }. It doesn't add value. -- With Best Regards, Andy Shevchenko