On Mon, Jan 24, 2022 at 04:28:09PM -0500, Liam Beguin wrote: > On Mon, Jan 24, 2022 at 05:18:32PM +0200, Andy Shevchenko wrote: > > On Sat, Jan 15, 2022 at 06:52:03PM +0000, Jonathan Cameron wrote: > > > On Mon, 10 Jan 2022 21:31:04 +0200 > > > Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > > > > > > Instead of custom data type re-use generic struct s32_fract. > > > > No changes intended. > > > > > > > > The new member is put to be the first one to avoid additional > > > > pointer arithmetic. Besides that one may switch to use fract > > > > member to perform container_of(), which will be no-op in this > > > > case, to get struct rescale. > > > > > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > > > > > I'm not totally sold on this series showing there is a strong case for > > > these macros so interested to hear what others think. > > > > So far no news :-) > > Like I mentioned briefly in the other thread[1], I don't really see the > advantage for the AFE driver given that it's almost just like renaming > the parameters. I tend to disagree, perhaps I wasn't so clear in my points. The change reveals that the layering can be improved. In OOP the object A which is inherited (or encapsulated as we see here) allows to clearly get what kind of data the methods are operating with / on. As you may see the two functions and the method declaration appears to have interest only in the fraction data for rescaling. The cleanup I consider helpful in the terms of layering and OOP. > For the other drivers affected by the change, it drops the definition of > the structure which is nice. So overall, it's a plus IMO :-) Thanks! > [1] https://lore.kernel.org/linux-iio/20220108205319.2046348-1-liambeguin@xxxxxxxxx/ -- With Best Regards, Andy Shevchenko