mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 23:30:55 +07:00
[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: Eric Miao <eric.y.miao@gmail.com> Acked-by: Nicolas Pitre <nico@cam.org> Acked-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
b8e6c91c74
commit
b0dbcf511c
@ -1520,7 +1520,9 @@ smc_open(struct net_device *dev)
|
||||
/* Setup the default Register Modes */
|
||||
lp->tcr_cur_mode = TCR_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
|
||||
@ -2157,6 +2159,11 @@ static int smc_drv_probe(struct platform_device *pdev)
|
||||
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;
|
||||
|
||||
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs");
|
||||
|
@ -794,7 +794,7 @@ smc_pxa_dma_irq(int dma, void *dummy)
|
||||
#define RPC_LSB_DEFAULT RPC_LED_FD
|
||||
#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 */
|
||||
|
@ -18,6 +18,8 @@
|
||||
|
||||
struct smc91x_platdata {
|
||||
unsigned long flags;
|
||||
unsigned char leda;
|
||||
unsigned char ledb;
|
||||
};
|
||||
|
||||
#endif /* __SMC91X_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user