diff mbox

mlxsw: fix warnings for big-endian 32-bit dma_addr_t

Message ID 30258520.VaA2vDyUiY@wuerfel
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Arnd Bergmann Oct. 6, 2015, 9:47 p.m. UTC
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"


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jiri Pirko Oct. 7, 2015, 6:43 a.m. UTC | #1
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!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Joe Perches Oct. 7, 2015, 6:53 a.m. UTC | #2
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.


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Pirko Oct. 7, 2015, 6:56 a.m. UTC | #3
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!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;