Timur Tabi <ti...@codeaurora.org> writes:
> Shanker Donthineni wrote:
>>>> >>     drivers/net/ethernet/qualcomm/emac/emac-mac.c: In function 
>>>> >> 'emac_mac_up':
>>>>>>>> >>>> >>drivers/net/ethernet/qualcomm/emac/emac-mac.c:1076:9: warning: 
>>>>>>>> >>>> >>large integer implicitly truncated to unsigned type [-Woverflow]
>>>> >>       writel(~DIS_INT, adpt->base + EMAC_INT_STATUS);
>>> >
>>> >This doesn't happen on arm64, and I don't know how to fix it.  DIS_INT is 
>>> >defined as:
>>> >
>>> >     #define DIS_INT          BIT(31)
>>> >
>> Try with (1U<<31).
>>
>
> Except that Gilad was previously asked to use the BIT() macros:
>
>       https://lkml.org/lkml/2015/12/15/797

So typecast it.

  writel((u32)~DIS_INT, adpt->base + EMAC_INT_STATUS);


I believe the reason you don't see this on arm64 is that the writel
macro includes the typecast there.  But it doesn't on x86_64


Bjørn

Reply via email to