On Sun, Aug 7, 2022 at 2:44 PM Angel Iglesias <ang.iglesiasg@xxxxxxxxx> wrote: > > Allows sampling frequency and IIR filter coefficients configuration > using sysfs ABI. > > The IIR filter coefficient is configurable using the sysfs attribute > "filter_low_pass_3db_frequency". ... > +static const int bmp380_odr_table[][2] = { s32_fract ? > + [BMP380_ODR_200HZ] = {200, 0}, > + [BMP380_ODR_100HZ] = {100, 0}, > + [BMP380_ODR_50HZ] = {50, 0}, > + [BMP380_ODR_25HZ] = {25, 0}, > + [BMP380_ODR_12_5HZ] = {12, 500000}, > + [BMP380_ODR_6_25HZ] = {6, 250000}, > + [BMP380_ODR_3_125HZ] = {3, 125000}, > + [BMP380_ODR_1_5625HZ] = {1, 562500}, > + [BMP380_ODR_0_78HZ] = {0, 781250}, > + [BMP380_ODR_0_39HZ] = {0, 390625}, > + [BMP380_ODR_0_2HZ] = {0, 195313}, > + [BMP380_ODR_0_1HZ] = {0, 97656}, > + [BMP380_ODR_0_05HZ] = {0, 48828}, > + [BMP380_ODR_0_02HZ] = {0, 24414}, > + [BMP380_ODR_0_01HZ] = {0, 12207}, > + [BMP380_ODR_0_006HZ] = {0, 6104}, > + [BMP380_ODR_0_003HZ] = {0, 3052}, > + [BMP380_ODR_0_0015HZ] = {0, 1526}, > +}; ... > + ret = regmap_write_bits(data->regmap, BMP380_REG_POWER_CONTROL, > + BMP380_MODE_MASK, > + FIELD_PREP(BMP380_MODE_MASK, > + BMP380_MODE_SLEEP)); One line? ... > + ret = regmap_write_bits(data->regmap, BMP380_REG_POWER_CONTROL, > + BMP380_MODE_MASK, > + FIELD_PREP(BMP380_MODE_MASK, > + BMP380_MODE_NORMAL)); Ditto. ... > +static const int bmp380_iir_filter_coeffs_avail[] = { 0, 1, 3, 7, 15, 31, 63, 127 }; This seems like a power of two - 1, can it be replaced by a formula in the code? -- With Best Regards, Andy Shevchenko