diff options
| author | Wolfgang Denk <wd@denx.de> | 2008-09-03 22:43:57 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2008-09-03 22:43:57 +0200 | 
| commit | 16116ddd0d0158f4e91c91dc979b845b6e98a99d (patch) | |
| tree | e2062a888c76462b6335da29092c5fe4134c0859 /drivers/net/smc911x.c | |
| parent | 628ffd73bcff0c9f3bc5a8eeb2c7455fe9d28a51 (diff) | |
| parent | be1b0d2777e179191a57b138b660547a17e55aad (diff) | |
| download | olio-uboot-2014.01-16116ddd0d0158f4e91c91dc979b845b6e98a99d.tar.xz olio-uboot-2014.01-16116ddd0d0158f4e91c91dc979b845b6e98a99d.zip | |
Merge branch 'master' of git://git.denx.de/u-boot-net
Diffstat (limited to 'drivers/net/smc911x.c')
| -rw-r--r-- | drivers/net/smc911x.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index 0fff82080..648c94cbb 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -57,6 +57,11 @@ static inline void reg_write(u32 addr, u32 val)  #error "SMC911X: undefined bus width"  #endif /* CONFIG_DRIVER_SMC911X_16_BIT */ +u32 pkt_data_pull(u32 addr) \ +	__attribute__ ((weak, alias ("reg_read"))); +void pkt_data_push(u32 addr, u32 val) \ +	__attribute__ ((weak, alias ("reg_write"))); +  #define mdelay(n)       udelay((n)*1000)  /* Below are the register offsets and bit definitions @@ -641,7 +646,7 @@ int eth_send(volatile void *packet, int length)  	tmplen = (length + 3) / 4;  	while (tmplen--) -		reg_write(TX_DATA_FIFO, *data++); +		pkt_data_push(TX_DATA_FIFO, *data++);  	/* wait for transmission */  	while (!((reg_read(TX_FIFO_INF) & TX_FIFO_INF_TSUSED) >> 16)); @@ -684,7 +689,7 @@ int eth_rx(void)  		tmplen = (pktlen + 2+ 3) / 4;  		while (tmplen--) -			*data++ = reg_read(RX_DATA_FIFO); +			*data++ = pkt_data_pull(RX_DATA_FIFO);  		if (status & RX_STS_ES)  			printf(DRIVERNAME |