Skip to content

Commit

Permalink
Use dcr_host_t.base in ibm_emac_mal
Browse files Browse the repository at this point in the history
This requires us to do a sort-of fake dcr_map(), so that base is set
properly. This will be fixed/removed when the device-tree-aware emac driver
is merged.

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 7920369 commit 0f18e71
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
5 changes: 4 additions & 1 deletion drivers/net/ibm_emac/ibm_emac_mal.c
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,10 @@ static int __init mal_probe(struct ocp_device *ocpdev)
ocpdev->def->index);
return -ENOMEM;
}
mal->dcrbase = maldata->dcr_base;

/* XXX This only works for native dcr for now */
mal->dcrhost = dcr_map(NULL, maldata->dcr_base, 0);

mal->def = ocpdev->def;

INIT_LIST_HEAD(&mal->poll_list);
Expand Down
5 changes: 2 additions & 3 deletions drivers/net/ibm_emac/ibm_emac_mal.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,6 @@ struct mal_commac {
};

struct ibm_ocp_mal {
int dcrbase;
dcr_host_t dcrhost;

struct list_head poll_list;
Expand All @@ -209,12 +208,12 @@ struct ibm_ocp_mal {

static inline u32 get_mal_dcrn(struct ibm_ocp_mal *mal, int reg)
{
return dcr_read(mal->dcrhost, mal->dcrbase + reg);
return dcr_read(mal->dcrhost, mal->dcrhost.base + reg);
}

static inline void set_mal_dcrn(struct ibm_ocp_mal *mal, int reg, u32 val)
{
dcr_write(mal->dcrhost, mal->dcrbase + reg, val);
dcr_write(mal->dcrhost, mal->dcrhost.base + reg, val);
}

/* Register MAL devices */
Expand Down

0 comments on commit 0f18e71

Please sign in to comment.