diff options
author | Andrew Gallatin <gallatin@myri.com> | 2012-12-04 05:17:15 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-12-05 16:01:27 -0500 |
commit | 59e955edb763375f8211c009c628ca37f1bc46c0 (patch) | |
tree | 16967ed85644a64ca68146268c854e8cf4c153c7 | |
parent | 50426b5925ff0d7f47c20e6886047f1bb6245901 (diff) |
myri10ge: fix most sparse warnings
- convert remaining htonl/ntohl +__raw_read/__raw_writel to
swab32 + readl/writel
- add missing __iomem qualifier in myri10ge_open()
- fix dubious: x & !y warning by switching from logical to bitwise not
The swab32 conversion fixes a bug in myri10ge_led() where
big-endian machines would write the wrong pattern.
The only remaining warning (lock context imbalance) is due to
the use of __netif_tx_trylock(), and cannot easily be fixed.
Signed-off-by: Andrew Gallatin <gallatin@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c index a40234ea2fbb..f8408d6e961c 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c | |||
@@ -1885,7 +1885,7 @@ static int myri10ge_led(struct myri10ge_priv *mgp, int on) | |||
1885 | } | 1885 | } |
1886 | if (!on) | 1886 | if (!on) |
1887 | pattern = swab32(readl(mgp->sram + pattern_off + 4)); | 1887 | pattern = swab32(readl(mgp->sram + pattern_off + 4)); |
1888 | writel(htonl(pattern), mgp->sram + pattern_off); | 1888 | writel(swab32(pattern), mgp->sram + pattern_off); |
1889 | return 0; | 1889 | return 0; |
1890 | } | 1890 | } |
1891 | 1891 | ||
@@ -2294,7 +2294,7 @@ static int myri10ge_open(struct net_device *dev) | |||
2294 | struct myri10ge_priv *mgp = netdev_priv(dev); | 2294 | struct myri10ge_priv *mgp = netdev_priv(dev); |
2295 | struct myri10ge_cmd cmd; | 2295 | struct myri10ge_cmd cmd; |
2296 | int i, status, big_pow2, slice; | 2296 | int i, status, big_pow2, slice; |
2297 | u8 *itable; | 2297 | u8 __iomem *itable; |
2298 | 2298 | ||
2299 | if (mgp->running != MYRI10GE_ETH_STOPPED) | 2299 | if (mgp->running != MYRI10GE_ETH_STOPPED) |
2300 | return -EBUSY; | 2300 | return -EBUSY; |
@@ -2757,7 +2757,7 @@ again: | |||
2757 | flags_next |= next_is_first * | 2757 | flags_next |= next_is_first * |
2758 | MXGEFW_FLAGS_FIRST; | 2758 | MXGEFW_FLAGS_FIRST; |
2759 | rdma_count |= -(chop | next_is_first); | 2759 | rdma_count |= -(chop | next_is_first); |
2760 | rdma_count += chop & !next_is_first; | 2760 | rdma_count += chop & ~next_is_first; |
2761 | } else if (likely(cum_len_next >= 0)) { /* header ends */ | 2761 | } else if (likely(cum_len_next >= 0)) { /* header ends */ |
2762 | int small; | 2762 | int small; |
2763 | 2763 | ||
@@ -3836,9 +3836,9 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
3836 | goto abort_with_mtrr; | 3836 | goto abort_with_mtrr; |
3837 | } | 3837 | } |
3838 | hdr_offset = | 3838 | hdr_offset = |
3839 | ntohl(__raw_readl(mgp->sram + MCP_HEADER_PTR_OFFSET)) & 0xffffc; | 3839 | swab32(readl(mgp->sram + MCP_HEADER_PTR_OFFSET)) & 0xffffc; |
3840 | ss_offset = hdr_offset + offsetof(struct mcp_gen_header, string_specs); | 3840 | ss_offset = hdr_offset + offsetof(struct mcp_gen_header, string_specs); |
3841 | mgp->sram_size = ntohl(__raw_readl(mgp->sram + ss_offset)); | 3841 | mgp->sram_size = swab32(readl(mgp->sram + ss_offset)); |
3842 | if (mgp->sram_size > mgp->board_span || | 3842 | if (mgp->sram_size > mgp->board_span || |
3843 | mgp->sram_size <= MYRI10GE_FW_OFFSET) { | 3843 | mgp->sram_size <= MYRI10GE_FW_OFFSET) { |
3844 | dev_err(&pdev->dev, | 3844 | dev_err(&pdev->dev, |