On 3/17/21 2:40 AM, Andy Shevchenko wrote: > On Wed, Mar 17, 2021 at 11:36 AM Andy Shevchenko > <andy.shevche...@gmail.com> wrote: >> On Wed, Mar 17, 2021 at 10:21 AM Menglong Dong <menglong8.d...@gmail.com> >> wrote: > > ... > >> It maybe fixed by swapping positions of the arguments, i.e. ~(FOO | >> BAR) & flags. > > ...and type casting will be needed anyway here... > > I was thinking about this case > > drivers/i2c/busses/i2c-designware-common.c:420: > dev->sda_hold_time & ~(u32)DW_IC_SDA_HOLD_RX_MASK > , > > but sda_hold_time there is unsigned. > That is needed because of the %d. Without the (u32), the expression is promoted to unsigned long and the compiler wants to see %ld.
Guenter