Message ID | 30258520.VaA2vDyUiY@wuerfel (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Tue, Oct 06, 2015 at 11:47:44PM CEST, arnd@arndb.de wrote: >The recently added mlxsw driver produces warnings in ARM >allmodconfig: > >drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec': >drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow] >linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' >drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be' > >This changes the type of the local variable to u64, which gets rid of the >warning and seems nicer than adding #ifdefs. > >Signed-off-by: Arnd Bergmann <arnd@arndb.de> >Fixes: eda6500a987a "mlxsw: Add PCI bus implementation" Acked-by: Jiri Pirko <jiri@mellanox.com> Thanks!
On Tue, 2015-10-06 at 23:47 +0200, Arnd Bergmann wrote: > The recently added mlxsw driver produces warnings in ARM > allmodconfig: > > drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec': > drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow] > linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' > drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be' > > This changes the type of the local variable to u64, which gets rid of the > warning and seems nicer than adding #ifdefs. Using upper_32_bits instead of the shift might be nicer than changing the type.
Wed, Oct 07, 2015 at 08:53:02AM CEST, joe@perches.com wrote: >On Tue, 2015-10-06 at 23:47 +0200, Arnd Bergmann wrote: >> The recently added mlxsw driver produces warnings in ARM >> allmodconfig: >> >> drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec': >> drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow] >> linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' >> drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be' >> >> This changes the type of the local variable to u64, which gets rid of the >> warning and seems nicer than adding #ifdefs. > >Using upper_32_bits instead of the shift might be >nicer than changing the type. Wasn't aware of this macro. Indeed this looks more appropriate. Thanks!
diff --git a/drivers/net/ethernet/mellanox/mlxsw/pci.c b/drivers/net/ethernet/mellanox/mlxsw/pci.c index 462cea31ecbb..cd11e3591741 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/pci.c +++ b/drivers/net/ethernet/mellanox/mlxsw/pci.c @@ -1567,8 +1567,8 @@ static int mlxsw_pci_cmd_exec(void *bus_priv, u16 opcode, u8 opcode_mod, u8 *p_status) { struct mlxsw_pci *mlxsw_pci = bus_priv; - dma_addr_t in_mapaddr = mlxsw_pci->cmd.in_mbox.mapaddr; - dma_addr_t out_mapaddr = mlxsw_pci->cmd.out_mbox.mapaddr; + u64 in_mapaddr = mlxsw_pci->cmd.in_mbox.mapaddr; + u64 out_mapaddr = mlxsw_pci->cmd.out_mbox.mapaddr; bool evreq = mlxsw_pci->cmd.nopoll; unsigned long timeout = msecs_to_jiffies(MLXSW_PCI_CIR_TIMEOUT_MSECS); bool *p_wait_done = &mlxsw_pci->cmd.wait_done;
The recently added mlxsw driver produces warnings in ARM allmodconfig: drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec': drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow] linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32' drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be' This changes the type of the local variable to u64, which gets rid of the warning and seems nicer than adding #ifdefs. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: eda6500a987a "mlxsw: Add PCI bus implementation"