Commit b0dbcf51 authored by Russell King's avatar Russell King Committed by Russell King

[NET] smc91x: provide configurable leds

This patch provides a mechanism for platforms to be able to supply the
LED configuration via platform data, rather than having to hard code
it in smc91x.h.
Acked-by: default avatarEric Miao <eric.y.miao@gmail.com>
Acked-by: default avatarNicolas Pitre <nico@cam.org>
Acked-by: default avatarJeff Garzik <jgarzik@pobox.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent b8e6c91c
...@@ -1520,7 +1520,9 @@ smc_open(struct net_device *dev) ...@@ -1520,7 +1520,9 @@ smc_open(struct net_device *dev)
/* Setup the default Register Modes */ /* Setup the default Register Modes */
lp->tcr_cur_mode = TCR_DEFAULT; lp->tcr_cur_mode = TCR_DEFAULT;
lp->rcr_cur_mode = RCR_DEFAULT; lp->rcr_cur_mode = RCR_DEFAULT;
lp->rpc_cur_mode = RPC_DEFAULT; lp->rpc_cur_mode = RPC_DEFAULT |
lp->cfg.leda << RPC_LSXA_SHFT |
lp->cfg.ledb << RPC_LSXB_SHFT;
/* /*
* If we are not using a MII interface, we need to * If we are not using a MII interface, we need to
...@@ -2157,6 +2159,11 @@ static int smc_drv_probe(struct platform_device *pdev) ...@@ -2157,6 +2159,11 @@ static int smc_drv_probe(struct platform_device *pdev)
lp->cfg.flags |= (nowait) ? SMC91X_NOWAIT : 0; lp->cfg.flags |= (nowait) ? SMC91X_NOWAIT : 0;
} }
if (!lp->cfg.leda && !lp->cfg.ledb) {
lp->cfg.leda = RPC_LSA_DEFAULT;
lp->cfg.ledb = RPC_LSB_DEFAULT;
}
ndev->dma = (unsigned char)-1; ndev->dma = (unsigned char)-1;
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs"); res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs");
......
...@@ -794,7 +794,7 @@ smc_pxa_dma_irq(int dma, void *dummy) ...@@ -794,7 +794,7 @@ smc_pxa_dma_irq(int dma, void *dummy)
#define RPC_LSB_DEFAULT RPC_LED_FD #define RPC_LSB_DEFAULT RPC_LED_FD
#endif #endif
#define RPC_DEFAULT (RPC_ANEG | (RPC_LSA_DEFAULT << RPC_LSXA_SHFT) | (RPC_LSB_DEFAULT << RPC_LSXB_SHFT) | RPC_SPEED | RPC_DPLX) #define RPC_DEFAULT (RPC_ANEG | RPC_SPEED | RPC_DPLX)
/* Bank 0 0x0C is reserved */ /* Bank 0 0x0C is reserved */
......
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
struct smc91x_platdata { struct smc91x_platdata {
unsigned long flags; unsigned long flags;
unsigned char leda;
unsigned char ledb;
}; };
#endif /* __SMC91X_H__ */ #endif /* __SMC91X_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment