On 25/08/2020 15:19, Laurent Pinchart wrote: > Hi Tomi, > > On Tue, Aug 25, 2020 at 03:11:24PM +0300, Tomi Valkeinen wrote: >> On 24/08/2020 13:54, Laurent Pinchart wrote: >>> On Mon, Aug 24, 2020 at 12:23:04PM +0300, Sakari Ailus wrote: >>>> On Sun, Aug 23, 2020 at 08:02:57AM +0300, Laurent Pinchart wrote: >>>>> When compiled on 32-bit ARM, the CAL driver fails with the FIELD_PREP() >>>>> macro complaining that the mask is not constant. While all callers of >>>>> the inline cal_write_field() function pass a constant mask, the mask >>>>> parameter itself is a variable, which likely doesn't please the >>>>> compiler. >>>>> >>>>> Fix it by replacing FIELD_PREP() with a manual implementation. >>>>> >>>>> Fixes: 50797fb30b95 ("media: ti-vpe: cal: Turn reg_(read|write)_field() into inline functions") >>>>> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> >>>> >>>> Thanks! >>>> >>>> Reviewed-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> >>> >>> And I forgot to add >>> >>> Reported-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> >>> >>> Tomi, will you handle this patch ? Could you add the tags ? >> >> I don't see this when compiling. Which compiler version is it? > > arm-buildroot-linux-uclibcgnueabihf-gcc.br_real (Buildroot 2020.05.1) 9.3.0 > Kernel defconfig attached, for v5.9-rc1. Ok. It's something in the defconfig. And identical cal_write_field() call in another function works. I guess it depends on whether the compiler happens to inline or not inline cal_write_field(). I don't see much harm in changing this, so looks good to me. Although I believe cal_read_field() may also start failing at some point, but we can fix it then. Reviewed-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Hans or Mauro, can you pick up this fix for 5.9-rc? Tomi -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki