From fc78bd86d7cc467b76728394790056425a391e28 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Mon, 15 Oct 2007 19:34:35 +1000 Subject: [PATCH] --- yaml --- r: 69328 b: refs/heads/master c: 0f18e719dc0d36ad91fe94b0b3dd08fdcdd2faa2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/ibm_emac/ibm_emac_mal.c | 5 ++++- trunk/drivers/net/ibm_emac/ibm_emac_mal.h | 5 ++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 31fcff48cd5c..6908ac2845c6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 792036952123a0670c7dd6960ca5458cdfd5e4fd +refs/heads/master: 0f18e719dc0d36ad91fe94b0b3dd08fdcdd2faa2 diff --git a/trunk/drivers/net/ibm_emac/ibm_emac_mal.c b/trunk/drivers/net/ibm_emac/ibm_emac_mal.c index 4e49e8c4f871..dcd8826fc749 100644 --- a/trunk/drivers/net/ibm_emac/ibm_emac_mal.c +++ b/trunk/drivers/net/ibm_emac/ibm_emac_mal.c @@ -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); diff --git a/trunk/drivers/net/ibm_emac/ibm_emac_mal.h b/trunk/drivers/net/ibm_emac/ibm_emac_mal.h index 8f54d621994d..aa76d3f0dfce 100644 --- a/trunk/drivers/net/ibm_emac/ibm_emac_mal.h +++ b/trunk/drivers/net/ibm_emac/ibm_emac_mal.h @@ -191,7 +191,6 @@ struct mal_commac { }; struct ibm_ocp_mal { - int dcrbase; dcr_host_t dcrhost; struct list_head poll_list; @@ -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 */