Re: [PATCH v1 2/2] memory: tegra: Enable compile testing for all drivers

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

 



11.05.2021 18:31, Krzysztof Kozlowski пишет:
...
                                      ~~~~~~~~~~~~~~~~~~~~~^
>>>>> drivers/memory/tegra/tegra124-emc.c:802:26: warning: implicit conversion from 'unsigned long' to 'u32' (aka 'unsigned int') changes value from 18446744071562067985 to 2147483665 [-Wconstant-conversion]
>>>                    emc_ccfifo_writel(emc, EMC_ZQ_CAL_LONG_CMD_DEV0, EMC_ZQ_CAL);
>>>                    ~~~~~~~~~~~~~~~~~      ^~~~~~~~~~~~~~~~~~~~~~~~
>>>    drivers/memory/tegra/tegra124-emc.c:154:36: note: expanded from macro 'EMC_ZQ_CAL_LONG_CMD_DEV0'
>>>            (DRAM_DEV_SEL_0 | EMC_ZQ_CAL_LONG | EMC_ZQ_CAL_CMD)
>>>             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
>>>    13 warnings generated.
>>
>> This doesn't look like a useful warning from clang, it should see that
>> the constant value itself isn't truncated, hence it should be a problem
>> of clang. Do you think it's okay to ignore this nonsense?
> 
> I admit I also do not see the real issue here. The DRAM_DEV_SEL_0 fits
> in u32 and there is no other bitwise arithmetic than just OR, so why
> clang assumes it can have 32 most signifcant bits toggled on?
> 
> +Cc Nathan and Nick,
> Maybe you could shed some light here on this warning?
> 
> Dmitry,
> In general you should not ignore it because:
> 1. This breaks allyesconfig with clang on powerpc (or it is one of the
> stoppers),
> 2. We might want in some future to build it with clang.

I meant to ignore it from the perspective of the memory drivers, i.e. it
likely should be fixed in clang and not worked around in the code. Thank
you for pinging the right people.



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux