mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-11-28 14:11:29 +01:00
net: eepro100: Use standard I/O accessors
The current eepro100 driver accesses its memory mapped registers directly instead of using the standard I/O accessors. This can cause problems on some systems as the accesses can get out of order. So convert the direct volatile dereferences to use the normal in/out macros. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
This commit is contained in:
parent
f3878f5c28
commit
81bdeea2fe
@ -220,23 +220,23 @@ static void eepro100_halt(struct eth_device *dev);
|
||||
|
||||
static inline int INW(struct eth_device *dev, u_long addr)
|
||||
{
|
||||
return le16_to_cpu(*(volatile u16 *)(addr + (u_long)dev->iobase));
|
||||
return le16_to_cpu(readw(addr + (void *)dev->iobase));
|
||||
}
|
||||
|
||||
static inline void OUTW(struct eth_device *dev, int command, u_long addr)
|
||||
{
|
||||
*(volatile u16 *)((addr + (u_long)dev->iobase)) = cpu_to_le16(command);
|
||||
writew(cpu_to_le16(command), addr + (void *)dev->iobase);
|
||||
}
|
||||
|
||||
static inline void OUTL(struct eth_device *dev, int command, u_long addr)
|
||||
{
|
||||
*(volatile u32 *)((addr + (u_long)dev->iobase)) = cpu_to_le32(command);
|
||||
writel(cpu_to_le32(command), addr + (void *)dev->iobase);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
|
||||
static inline int INL(struct eth_device *dev, u_long addr)
|
||||
{
|
||||
return le32_to_cpu(*(volatile u32 *)(addr + (u_long)dev->iobase));
|
||||
return le32_to_cpu(readl(addr + (void *)dev->iobase));
|
||||
}
|
||||
|
||||
static int get_phyreg(struct eth_device *dev, unsigned char addr,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user