Re: [PATCH] media: ti-vpe: cal: Fix compilation on 32-bit ARM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux