On Mon, 2024-11-25 at 21:33 +0200, Andy Shevchenko wrote: > On Mon, Nov 25, 2024 at 4:52 PM Uwe Kleine-König > <u.kleine-koenig@xxxxxxxxxxxx> wrote: > > On Mon, Nov 25, 2024 at 03:47:25PM +0200, Andy Shevchenko wrote: > > > On Mon, Nov 25, 2024 at 1:27 PM Uwe Kleine-König > > > <u.kleine-koenig@xxxxxxxxxxxx> wrote: > > > > On Fri, Nov 22, 2024 at 10:31:07PM +0200, Andy Shevchenko wrote: > > > > > On Fri, Nov 22, 2024 at 1:34 PM Uwe Kleine-König > > > > > <u.kleine-koenig@xxxxxxxxxxxx> wrote: > > > > > > + /* Add one for temperature */ > > > > > > + st->num_channels = min(num_channels + 1, > > > > > > AD7124_MAX_CHANNELS); > > > > > > > > > > Is the type of both arguments the same? > > > > > > > > Hmm, my compiler is happy with it at least. I don't understand why > > > > though. I'll do a few more tests ... > > > > > > If num_channels is signed int or shorter than (independently on the > > > sign) int, then it's obvious why. + 1 makes it int. > > > > Ah indeed, I should have understood that without that explanation. > > Yeah, but a closer look shows to me that num_channels is unsigned int > or did I look in the wrong place? If that's true, that should make a > warning appear since AD7124_MAX_CHANNELS is signed int... > > Hmm, Weren't the min()/max() macros improved for things like this? https://elixir.bootlin.com/linux/v6.12.1/source/include/linux/minmax.h#L22 - Nuno Sá