net: axi_emac: Put iobase to private structure
authorMichal Simek <michal.simek@xilinx.com>
Wed, 9 Dec 2015 13:39:42 +0000 (14:39 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 27 Jan 2016 14:55:50 +0000 (15:55 +0100)
Saving iobase directly to private structure helps with moving to DM.
There is an option to load iobase from pdata but it is additional load.
Pointer to private structure is available all the time.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/xilinx_axi_emac.c

index 071e0a85b582ea4afef2dab4ace87a9323a25449..3c980657729e1a24b13aa5ba73ab77d67e920c5e 100644 (file)
@@ -86,7 +86,7 @@ struct axidma_priv {
        struct axidma_reg *dmatx;
        struct axidma_reg *dmarx;
        int phyaddr;
-
+       struct axi_regs *iobase;
        struct phy_device *phydev;
        struct mii_dev *bus;
 };
@@ -223,7 +223,7 @@ static int setup_phy(struct eth_device *dev)
        u16 phyreg;
        u32 i, speed, emmc_reg, ret;
        struct axidma_priv *priv = dev->priv;
-       struct axi_regs *regs = (struct axi_regs *)dev->iobase;
+       struct axi_regs *regs = priv->iobase;
        struct phy_device *phydev;
 
        u32 supported = SUPPORTED_10baseT_Half |
@@ -629,6 +629,7 @@ int xilinx_axiemac_initialize(bd_t *bis, unsigned long base_addr,
        sprintf(dev->name, "aximac.%lx", base_addr);
 
        dev->iobase = base_addr;
+       priv->iobase = (struct axi_regs *)base_addr;
        priv->dmatx = (struct axidma_reg *)dma_addr;
        /* RX channel offset is 0x30 */
        priv->dmarx = (struct axidma_reg *)(dma_addr + 0x30);