Skip to content

Commit

Permalink
Update ibm_newemac to use dcr_host_t.base
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Michael Ellerman authored and Jeff Garzik committed Oct 15, 2007
1 parent bc2618f commit 7920369
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
9 changes: 5 additions & 4 deletions drivers/net/ibm_newemac/mal.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);

Expand Down
5 changes: 2 additions & 3 deletions drivers/net/ibm_newemac/mal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down Expand Up @@ -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 */
Expand Down

0 comments on commit 7920369

Please sign in to comment.