Update ibm_newemac to use dcr_host_t.base
authorMichael Ellerman <michael@ellerman.id.au>
Mon, 15 Oct 2007 09:34:34 +0000 (19:34 +1000)
committerJeff Garzik <jeff@garzik.org>
Mon, 15 Oct 2007 18:29:49 +0000 (14:29 -0400)
Now that dcr_host_t contains the base address, we can use that in the
ibm_newemac code, rather than storing it separately.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/ibm_newemac/mal.c
drivers/net/ibm_newemac/mal.h

index 58854117b1a9e9ff7049cd034c5e3b475f007e13..748a86969d73617134597a7468bb83da06a0c29e 100644 (file)
@@ -461,6 +461,7 @@ static int __devinit mal_probe(struct of_device *ofdev,
        struct mal_instance *mal;
        int err = 0, i, bd_size;
        int index = mal_count++;
+       unsigned int dcr_base;
        const u32 *prop;
        u32 cfg;
 
@@ -497,14 +498,14 @@ static int __devinit mal_probe(struct of_device *ofdev,
        }
        mal->num_rx_chans = prop[0];
 
-       mal->dcr_base = dcr_resource_start(ofdev->node, 0);
-       if (mal->dcr_base == 0) {
+       dcr_base = dcr_resource_start(ofdev->node, 0);
+       if (dcr_base == 0) {
                printk(KERN_ERR
                       "mal%d: can't find DCR resource!\n", index);
                err = -ENODEV;
                goto fail;
        }
-        mal->dcr_host = dcr_map(ofdev->node, mal->dcr_base, 0x100);
+       mal->dcr_host = dcr_map(ofdev->node, dcr_base, 0x100);
        if (!DCR_MAP_OK(mal->dcr_host)) {
                printk(KERN_ERR
                       "mal%d: failed to map DCRs !\n", index);
@@ -626,7 +627,7 @@ static int __devinit mal_probe(struct of_device *ofdev,
  fail2:
        dma_free_coherent(&ofdev->dev, bd_size, mal->bd_virt, mal->bd_dma);
  fail_unmap:
-       dcr_unmap(mal->dcr_host, mal->dcr_base, 0x100);
+       dcr_unmap(mal->dcr_host, dcr_base, 0x100);
  fail:
        kfree(mal);
 
index cb1a16d589fe780f74df1077ebc486fba93fd22c..6daa98e5992e8fd264d1950b84abb19e177dc727 100644 (file)
@@ -185,7 +185,6 @@ struct mal_commac {
 
 struct mal_instance {
        int                     version;
-       int                     dcr_base;
        dcr_host_t              dcr_host;
 
        int                     num_tx_chans;   /* Number of TX channels */
@@ -213,12 +212,12 @@ struct mal_instance {
 
 static inline u32 get_mal_dcrn(struct mal_instance *mal, int reg)
 {
-       return dcr_read(mal->dcr_host, mal->dcr_base + reg);
+       return dcr_read(mal->dcr_host, mal->dcr_host.base + reg);
 }
 
 static inline void set_mal_dcrn(struct mal_instance *mal, int reg, u32 val)
 {
-       dcr_write(mal->dcr_host, mal->dcr_base + reg, val);
+       dcr_write(mal->dcr_host, mal->dcr_host.base + reg, val);
 }
 
 /* Register MAL devices */