Skip to content

Commit

Permalink
macb: Fix build with macro'ized readl/writel.
Browse files Browse the repository at this point in the history
If an architecture defines readl/writel using CPP macros, we
get the following kinds of build failure:

> > > drivers/net/ethernet/cadence/macb.c:164:1: error: macro "writel"
> > > passed 3 arguments, but takes just 2
>      macb_or_gem_writel(bp, SA1B, bottom);
>     ^

Rename the methods so that this doesn't happen.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jul 27, 2015
1 parent 8fff755 commit 7a6e070
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
14 changes: 7 additions & 7 deletions drivers/net/ethernet/cadence/macb.c
Original file line number Diff line number Diff line change
Expand Up @@ -506,7 +506,7 @@ static void macb_update_stats(struct macb *bp)
WARN_ON((unsigned long)(end - p - 1) != (MACB_TPF - MACB_PFR) / 4);

for(; p < end; p++, offset += 4)
*p += bp->readl(bp, offset);
*p += bp->macb_reg_readl(bp, offset);
}

static int macb_halt_tx(struct macb *bp)
Expand Down Expand Up @@ -1934,14 +1934,14 @@ static void gem_update_stats(struct macb *bp)

for (i = 0; i < GEM_STATS_LEN; ++i, ++p) {
u32 offset = gem_statistics[i].offset;
u64 val = bp->readl(bp, offset);
u64 val = bp->macb_reg_readl(bp, offset);

bp->ethtool_stats[i] += val;
*p += val;

if (offset == GEM_OCTTXL || offset == GEM_OCTRXL) {
/* Add GEM_OCTTXH, GEM_OCTRXH */
val = bp->readl(bp, offset + 4);
val = bp->macb_reg_readl(bp, offset + 4);
bp->ethtool_stats[i] += ((u64)val) << 32;
*(++p) += val;
}
Expand Down Expand Up @@ -2867,11 +2867,11 @@ static int macb_probe(struct platform_device *pdev)
bp->regs = mem;
bp->native_io = native_io;
if (native_io) {
bp->readl = hw_readl_native;
bp->writel = hw_writel_native;
bp->macb_reg_readl = hw_readl_native;
bp->macb_reg_writel = hw_writel_native;
} else {
bp->readl = hw_readl;
bp->writel = hw_writel;
bp->macb_reg_readl = hw_readl;
bp->macb_reg_writel = hw_writel;
}
bp->num_queues = num_queues;
bp->queue_mask = queue_mask;
Expand Down
16 changes: 8 additions & 8 deletions drivers/net/ethernet/cadence/macb.h
Original file line number Diff line number Diff line change
Expand Up @@ -429,12 +429,12 @@
| GEM_BF(name, value))

/* Register access macros */
#define macb_readl(port, reg) (port)->readl((port), MACB_##reg)
#define macb_writel(port, reg, value) (port)->writel((port), MACB_##reg, (value))
#define gem_readl(port, reg) (port)->readl((port), GEM_##reg)
#define gem_writel(port, reg, value) (port)->writel((port), GEM_##reg, (value))
#define queue_readl(queue, reg) (queue)->bp->readl((queue)->bp, (queue)->reg)
#define queue_writel(queue, reg, value) (queue)->bp->writel((queue)->bp, (queue)->reg, (value))
#define macb_readl(port, reg) (port)->macb_reg_readl((port), MACB_##reg)
#define macb_writel(port, reg, value) (port)->macb_reg_writel((port), MACB_##reg, (value))
#define gem_readl(port, reg) (port)->macb_reg_readl((port), GEM_##reg)
#define gem_writel(port, reg, value) (port)->macb_reg_writel((port), GEM_##reg, (value))
#define queue_readl(queue, reg) (queue)->bp->macb_reg_readl((queue)->bp, (queue)->reg)
#define queue_writel(queue, reg, value) (queue)->bp->macb_reg_writel((queue)->bp, (queue)->reg, (value))

/* Conditional GEM/MACB macros. These perform the operation to the correct
* register dependent on whether the device is a GEM or a MACB. For registers
Expand Down Expand Up @@ -782,8 +782,8 @@ struct macb {
bool native_io;

/* hardware IO accessors */
u32 (*readl)(struct macb *bp, int offset);
void (*writel)(struct macb *bp, int offset, u32 value);
u32 (*macb_reg_readl)(struct macb *bp, int offset);
void (*macb_reg_writel)(struct macb *bp, int offset, u32 value);

unsigned int rx_tail;
unsigned int rx_prepared_head;
Expand Down

0 comments on commit 7a6e070

Please sign in to comment.