diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2007-10-15 05:34:35 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-15 14:29:49 -0400 |
commit | 0f18e719dc0d36ad91fe94b0b3dd08fdcdd2faa2 (patch) | |
tree | d849b7876a48bd820c73201a5b7d607264ddf801 | |
parent | 792036952123a0670c7dd6960ca5458cdfd5e4fd (diff) |
Use dcr_host_t.base in ibm_emac_mal
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>
-rw-r--r-- | drivers/net/ibm_emac/ibm_emac_mal.c | 5 | ||||
-rw-r--r-- | drivers/net/ibm_emac/ibm_emac_mal.h | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ibm_emac/ibm_emac_mal.c b/drivers/net/ibm_emac/ibm_emac_mal.c index 4e49e8c4f871..dcd8826fc749 100644 --- a/drivers/net/ibm_emac/ibm_emac_mal.c +++ b/drivers/net/ibm_emac/ibm_emac_mal.c | |||
@@ -413,7 +413,10 @@ static int __init mal_probe(struct ocp_device *ocpdev) | |||
413 | ocpdev->def->index); | 413 | ocpdev->def->index); |
414 | return -ENOMEM; | 414 | return -ENOMEM; |
415 | } | 415 | } |
416 | mal->dcrbase = maldata->dcr_base; | 416 | |
417 | /* XXX This only works for native dcr for now */ | ||
418 | mal->dcrhost = dcr_map(NULL, maldata->dcr_base, 0); | ||
419 | |||
417 | mal->def = ocpdev->def; | 420 | mal->def = ocpdev->def; |
418 | 421 | ||
419 | INIT_LIST_HEAD(&mal->poll_list); | 422 | INIT_LIST_HEAD(&mal->poll_list); |
diff --git a/drivers/net/ibm_emac/ibm_emac_mal.h b/drivers/net/ibm_emac/ibm_emac_mal.h index 8f54d621994d..aa76d3f0dfce 100644 --- a/drivers/net/ibm_emac/ibm_emac_mal.h +++ b/drivers/net/ibm_emac/ibm_emac_mal.h | |||
@@ -191,7 +191,6 @@ struct mal_commac { | |||
191 | }; | 191 | }; |
192 | 192 | ||
193 | struct ibm_ocp_mal { | 193 | struct ibm_ocp_mal { |
194 | int dcrbase; | ||
195 | dcr_host_t dcrhost; | 194 | dcr_host_t dcrhost; |
196 | 195 | ||
197 | struct list_head poll_list; | 196 | struct list_head poll_list; |
@@ -209,12 +208,12 @@ struct ibm_ocp_mal { | |||
209 | 208 | ||
210 | static inline u32 get_mal_dcrn(struct ibm_ocp_mal *mal, int reg) | 209 | static inline u32 get_mal_dcrn(struct ibm_ocp_mal *mal, int reg) |
211 | { | 210 | { |
212 | return dcr_read(mal->dcrhost, mal->dcrbase + reg); | 211 | return dcr_read(mal->dcrhost, mal->dcrhost.base + reg); |
213 | } | 212 | } |
214 | 213 | ||
215 | static inline void set_mal_dcrn(struct ibm_ocp_mal *mal, int reg, u32 val) | 214 | static inline void set_mal_dcrn(struct ibm_ocp_mal *mal, int reg, u32 val) |
216 | { | 215 | { |
217 | dcr_write(mal->dcrhost, mal->dcrbase + reg, val); | 216 | dcr_write(mal->dcrhost, mal->dcrhost.base + reg, val); |
218 | } | 217 | } |
219 | 218 | ||
220 | /* Register MAL devices */ | 219 | /* Register MAL devices */ |