summaryrefslogtreecommitdiff
path: root/drivers/net/eepro100.c
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut+renesas@gmail.com>2020-05-23 15:14:45 +0300
committerMarek Vasut <marek.vasut+renesas@gmail.com>2020-06-18 20:34:40 +0300
commit81bdeea2fe62277922a6bd735f936b168352a49d (patch)
treeabd7278eed6942d0c5b4180194a7138882b636da /drivers/net/eepro100.c
parentf3878f5c2821cca2c2587adf522319578ed0c1da (diff)
downloadu-boot-81bdeea2fe62277922a6bd735f936b168352a49d.tar.xz
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>
Diffstat (limited to 'drivers/net/eepro100.c')
-rw-r--r--drivers/net/eepro100.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index d3ced08761..5d11665fdc 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -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,