Commit 79203695 authored by Michael Ellerman's avatar Michael Ellerman Committed by Jeff Garzik

Update ibm_newemac to use dcr_host_t.base

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: default avatarMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent bc2618f7
...@@ -461,6 +461,7 @@ static int __devinit mal_probe(struct of_device *ofdev, ...@@ -461,6 +461,7 @@ static int __devinit mal_probe(struct of_device *ofdev,
struct mal_instance *mal; struct mal_instance *mal;
int err = 0, i, bd_size; int err = 0, i, bd_size;
int index = mal_count++; int index = mal_count++;
unsigned int dcr_base;
const u32 *prop; const u32 *prop;
u32 cfg; u32 cfg;
...@@ -497,14 +498,14 @@ static int __devinit mal_probe(struct of_device *ofdev, ...@@ -497,14 +498,14 @@ static int __devinit mal_probe(struct of_device *ofdev,
} }
mal->num_rx_chans = prop[0]; mal->num_rx_chans = prop[0];
mal->dcr_base = dcr_resource_start(ofdev->node, 0); dcr_base = dcr_resource_start(ofdev->node, 0);
if (mal->dcr_base == 0) { if (dcr_base == 0) {
printk(KERN_ERR printk(KERN_ERR
"mal%d: can't find DCR resource!\n", index); "mal%d: can't find DCR resource!\n", index);
err = -ENODEV; err = -ENODEV;
goto fail; 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)) { if (!DCR_MAP_OK(mal->dcr_host)) {
printk(KERN_ERR printk(KERN_ERR
"mal%d: failed to map DCRs !\n", index); "mal%d: failed to map DCRs !\n", index);
...@@ -626,7 +627,7 @@ static int __devinit mal_probe(struct of_device *ofdev, ...@@ -626,7 +627,7 @@ static int __devinit mal_probe(struct of_device *ofdev,
fail2: fail2:
dma_free_coherent(&ofdev->dev, bd_size, mal->bd_virt, mal->bd_dma); dma_free_coherent(&ofdev->dev, bd_size, mal->bd_virt, mal->bd_dma);
fail_unmap: fail_unmap:
dcr_unmap(mal->dcr_host, mal->dcr_base, 0x100); dcr_unmap(mal->dcr_host, dcr_base, 0x100);
fail: fail:
kfree(mal); kfree(mal);
......
...@@ -185,7 +185,6 @@ struct mal_commac { ...@@ -185,7 +185,6 @@ struct mal_commac {
struct mal_instance { struct mal_instance {
int version; int version;
int dcr_base;
dcr_host_t dcr_host; dcr_host_t dcr_host;
int num_tx_chans; /* Number of TX channels */ int num_tx_chans; /* Number of TX channels */
...@@ -213,12 +212,12 @@ struct mal_instance { ...@@ -213,12 +212,12 @@ struct mal_instance {
static inline u32 get_mal_dcrn(struct mal_instance *mal, int reg) 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) 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 */ /* Register MAL devices */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment