Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> wrote on Fri [2019-Aug-23 06:47:30 -0300]: > As warned by cppcheck: > > [drivers/media/dvb-frontends/cx24123.c:434]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour > [drivers/media/pci/bt8xx/bttv-input.c:87]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour > [drivers/media/pci/bt8xx/bttv-input.c:98]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour > ... > [drivers/media/v4l2-core/v4l2-ioctl.c:1391]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour > > There are lots of places where we're doing 1 << 31. That's bad, > as, depending on the architecture, this has an undefined behavior. > > The BIT() macro is already prepared to handle this, so, let's > just switch all "1 << number" macros by BIT(number) at the header files > with has 1 << 31. > > Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> > --- > > v2: > As suggested by Laurent: > - Don't touch multi-bit masks > - remove explicit casts > For: drivers/media/platform/am437x/am437x-vpfe_regs.h drivers/media/platform/ti-vpe/vpe_regs.h Reviewed-by: Benoit Parrot <bparrot@xxxxxx>