On Wed, Aug 11, 2021 at 11:15 AM Lars-Peter Clausen <lars@xxxxxxxxxx> wrote: > On 8/10/21 2:49 PM, Andy Shevchenko wrote: > > > >> + data->tol = data->cfg->kohms * (val & GENMASK(6, 0)) * 10 / 8; > >> + if (!(val & BIT(7))) > >> + data->tol *= -1; > > Shouldn't you simple use corresponding sign_extend*()? > The data is encoded a sign-magnitude. sign_extend() works for two's > complement numbers. Good catch! I'm wondering if it's a good idea to have a sign_magnitude_to_int() helper or so? -- With Best Regards, Andy Shevchenko