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: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Родитель
bc2618f752
Коммит
7920369521
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче