Skip to content

Commit

Permalink
arcnet: com20020: replace magic numbers with readable macros
Browse files Browse the repository at this point in the history
This patch replaces all magic numbers in the driver with
proper named macros. For the case of XTOcfg and STARTIOcmd
it introduces the new macros.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
  • Loading branch information
Michael Grzeschik committed Sep 23, 2015
1 parent 54a84c6 commit 84286f1
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
1 change: 1 addition & 0 deletions drivers/net/arcnet/arcdevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ do { \
#define CONFIGcmd 0x05 /* define configuration */
#define CFLAGScmd 0x06 /* clear flags */
#define TESTcmd 0x07 /* load test flags */
#define STARTIOcmd 0x18 /* start internal operation */

/* flags for "clear flags" command */
#define RESETclear 0x08 /* power-on-reset */
Expand Down
17 changes: 9 additions & 8 deletions drivers/net/arcnet/com20020.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,9 @@ int com20020_check(struct net_device *dev)
int ioaddr = dev->base_addr, status;
struct arcnet_local *lp = netdev_priv(dev);

arcnet_outb(0x18 | 0x80, ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(XTOcfg(3) | RESETcfg, ioaddr, COM20020_REG_W_CONFIG);
udelay(5);
arcnet_outb(0x18 , ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(XTOcfg(3), ioaddr, COM20020_REG_W_CONFIG);
mdelay(RESETtime);

lp->setup = lp->clockm ? 0 : (lp->clockp << 1);
Expand All @@ -115,10 +115,10 @@ int com20020_check(struct net_device *dev)

/* must now write the magic "restart operation" command */
mdelay(1);
arcnet_outb(0x18, ioaddr, COM20020_REG_W_COMMAND);
arcnet_outb(STARTIOcmd, ioaddr, COM20020_REG_W_COMMAND);
}

lp->config = 0x21 | (lp->timeout << 3) | (lp->backplane << 2);
lp->config = TXENcfg | (lp->timeout << 3) | (lp->backplane << 2) | SUB_NODE;
/* set node ID to 0x42 (but transmitter is disabled, so it's okay) */
arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(0x42, ioaddr, COM20020_REG_W_XREG);
Expand All @@ -132,7 +132,8 @@ int com20020_check(struct net_device *dev)
arc_printk(D_INIT_REASONS, dev, "status after reset: %X\n", status);

/* Enable TX */
arcnet_outb(0x39, ioaddr, COM20020_REG_W_CONFIG);
lp->config |= TXENcfg;
arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(arcnet_inb(ioaddr, 8), ioaddr, COM20020_REG_W_XREG);

arcnet_outb(CFLAGScmd | RESETclear | CONFIGclear,
Expand Down Expand Up @@ -211,10 +212,10 @@ int com20020_found(struct net_device *dev, int shared)

/* must now write the magic "restart operation" command */
mdelay(1);
arcnet_outb(0x18, ioaddr, COM20020_REG_W_COMMAND);
arcnet_outb(STARTIOcmd, ioaddr, COM20020_REG_W_COMMAND);
}

lp->config = 0x20 | (lp->timeout << 3) | (lp->backplane << 2) | 1;
lp->config = TXENcfg | (lp->timeout << 3) | (lp->backplane << 2) | SUB_NODE;
/* Default 0x38 + register: Node ID */
arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(dev->dev_addr[0], ioaddr, COM20020_REG_W_XREG);
Expand Down Expand Up @@ -280,7 +281,7 @@ static int com20020_reset(struct net_device *dev, int really_reset)

if (really_reset) {
/* reset the card */
arcnet_outb(lp->config | 0x80, ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(lp->config | RESETcfg, ioaddr, COM20020_REG_W_CONFIG);
udelay(5);
arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
mdelay(RESETtime * 2);
Expand Down
1 change: 1 addition & 0 deletions drivers/net/arcnet/com20020.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ struct com20020_dev {
/* in the CONFIG register */
#define RESETcfg 0x80 /* put card in reset state */
#define TXENcfg 0x20 /* enable TX */
#define XTOcfg(x) ((x) << 3) /* extended timeout */

/* in SETUP register */
#define PROMISCset 0x10 /* enable RCV_ALL */
Expand Down

0 comments on commit 84286f1

Please sign in to comment.