net: fec_mxc: have fecmxc_initialize call fecmxc_initialize_multi
[oweals/u-boot.git] / drivers / net / cs8900.c
index 587f7f62a760308fc3c39331d68f600056d42e35..6aaa0cf49f5453a5c13ef3cbb0835e2d92856bdc 100644 (file)
@@ -56,7 +56,7 @@
 #define REG_READ(a) readl((a))
 
 /* we don't need 16 bit initialisation on 32 bit bus */
-#define get_reg_init_bus(x) get_reg((x))
+#define get_reg_init_bus(r,d) get_reg((r),(d))
 
 #else
 
 static u16 get_reg_init_bus(struct eth_device *dev, int regno)
 {
        /* force 16 bit busmode */
-       volatile u8 c;
        struct cs8900_priv *priv = (struct cs8900_priv *)(dev->priv);
        uint8_t volatile * const iob = (uint8_t volatile * const)dev->iobase;
 
-       c = readb(iob);
-       c = readb(iob + 1);
-       c = readb(iob);
-       c = readb(iob + 1);
-       c = readb(iob);
+       readb(iob);
+       readb(iob + 1);
+       readb(iob);
+       readb(iob + 1);
+       readb(iob);
 
        REG_WRITE(regno, &priv->regs->pptr);
        return REG_READ(&priv->regs->pdata);
@@ -216,8 +215,7 @@ static int cs8900_recv(struct eth_device *dev)
 }
 
 /* Send a data block via Ethernet. */
-static int cs8900_send(struct eth_device *dev,
-                       volatile void *packet, int length)
+static int cs8900_send(struct eth_device *dev, void *packet, int length)
 {
        volatile u16 *addr;
        int tmo;
@@ -308,28 +306,28 @@ int cs8900_initialize(u8 dev_num, int base_addr)
 
        dev = malloc(sizeof(*dev));
        if (!dev) {
-               free(dev);
                return 0;
        }
        memset(dev, 0, sizeof(*dev));
 
        priv = malloc(sizeof(*priv));
        if (!priv) {
-               free(priv);
+               free(dev);
                return 0;
        }
        memset(priv, 0, sizeof(*priv));
        priv->regs = (struct cs8900_regs *)base_addr;
 
-       /* Load MAC address from EEPROM */
-       cs8900_get_enetaddr(dev);
-
        dev->iobase = base_addr;
        dev->priv = priv;
        dev->init = cs8900_init;
        dev->halt = cs8900_halt;
        dev->send = cs8900_send;
        dev->recv = cs8900_recv;
+
+       /* Load MAC address from EEPROM */
+       cs8900_get_enetaddr(dev);
+
        sprintf(dev->name, "%s-%hu", CS8900_DRIVERNAME, dev_num);
 
        eth_register(dev);