On Thu, 19 Mar 2020 00:40:02 +0530 Deepak R Varma <mh12gx2825@xxxxxxxxx> wrote: > Macro arguments are computed at the time of calling the macro. This > makes the lines cross 80 column width. Add variables to perform the > calculations before hand and use these variable in the macro calls instead. > > Signed-off-by: Deepak R Varma <mh12gx2825@xxxxxxxxx> > --- > drivers/staging/iio/adc/ad7192.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c > index a5b6cc1fc375..2a9c68aa8260 100644 > --- a/drivers/staging/iio/adc/ad7192.c > +++ b/drivers/staging/iio/adc/ad7192.c > @@ -480,14 +480,15 @@ static void ad7192_get_available_filter_freq(struct ad7192_state *st, > int *freq) > { > unsigned int fadc; > + unsigned int sinc3_filter, sinc4_filter; > > /* Formulas for filter at page 25 of the datasheet */ > - fadc = DIV_ROUND_CLOSEST(st->fclk, > - AD7192_SINC4_FILTER * AD7192_MODE_RATE(st->mode)); > + sinc4_filter = AD7192_SINC4_FILTER * AD7192_MODE_RATE(st->mode); > + fadc = DIV_ROUND_CLOSEST(st->fclk, sinc4_filter); The name sinc4_filter is at least not derived from another typo anymore, but it still doesn't make sense to me. Is it a filtering... factor, as the name would suggest? No. It comes from a "mode" register and it becomes a divisor of the output data rate. Besides, you don't need separate variables (why two, even?). As I already mentioned to you offline, DIV_ROUND_CLOSEST() is used. If '/' is the DIV_ROUND_CLOSEST() operation, then, I guess: a = b / (x * y) <=> a = b / x / y -- Stefano