Skip to content

Commit

Permalink
FS_ENET: OF-related fixup for FEC and SCC MAC's
Browse files Browse the repository at this point in the history
Updated direct resource pass with ioremap call, make it grant proper IRQ
mapping, stuff incompatible with the new approach were respectively put
under #ifndef CONFIG_PPC_MERGE.  It is required so that both ppc and
powerpc could utilize fs_enet effectively.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Vitaly Bordug authored and Jeff Garzik committed Jan 30, 2007
1 parent 0c0b3ae commit b1f54ba
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 7 deletions.
13 changes: 9 additions & 4 deletions drivers/net/fs_enet/mac-fec.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,9 @@ static int do_pd_setup(struct fs_enet_private *fep)
fep->interrupt = platform_get_irq_byname(pdev,"interrupt");
if (fep->interrupt < 0)
return -EINVAL;

r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
fep->fec.fecp =(void*)r->start;
fep->fec.fecp = ioremap(r->start, r->end - r->start + 1);

if(fep->fec.fecp == NULL)
return -EINVAL;
Expand Down Expand Up @@ -319,11 +319,14 @@ static void restart(struct net_device *dev)
* Clear any outstanding interrupt.
*/
FW(fecp, ievent, 0xffc0);
#ifndef CONFIG_PPC_MERGE
FW(fecp, ivec, (fep->interrupt / 2) << 29);

#else
FW(fecp, ivec, (virq_to_hw(fep->interrupt) / 2) << 29);
#endif

/*
* adjust to speed (only for DUET & RMII)
* adjust to speed (only for DUET & RMII)
*/
#ifdef CONFIG_DUET
if (fpi->use_rmii) {
Expand Down Expand Up @@ -418,6 +421,7 @@ static void stop(struct net_device *dev)

static void pre_request_irq(struct net_device *dev, int irq)
{
#ifndef CONFIG_PPC_MERGE
immap_t *immap = fs_enet_immap;
u32 siel;

Expand All @@ -431,6 +435,7 @@ static void pre_request_irq(struct net_device *dev, int irq)
siel &= ~(0x80000000 >> (irq & ~1));
out_be32(&immap->im_siu_conf.sc_siel, siel);
}
#endif
}

static void post_free_irq(struct net_device *dev, int irq)
Expand Down
6 changes: 4 additions & 2 deletions drivers/net/fs_enet/mac-scc.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,13 +121,13 @@ static int do_pd_setup(struct fs_enet_private *fep)
return -EINVAL;

r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
fep->scc.sccp = (void *)r->start;
fep->scc.sccp = ioremap(r->start, r->end - r->start + 1);

if (fep->scc.sccp == NULL)
return -EINVAL;

r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "pram");
fep->scc.ep = (void *)r->start;
fep->scc.ep = ioremap(r->start, r->end - r->start + 1);

if (fep->scc.ep == NULL)
return -EINVAL;
Expand Down Expand Up @@ -397,6 +397,7 @@ static void stop(struct net_device *dev)

static void pre_request_irq(struct net_device *dev, int irq)
{
#ifndef CONFIG_PPC_MERGE
immap_t *immap = fs_enet_immap;
u32 siel;

Expand All @@ -410,6 +411,7 @@ static void pre_request_irq(struct net_device *dev, int irq)
siel &= ~(0x80000000 >> (irq & ~1));
out_be32(&immap->im_siu_conf.sc_siel, siel);
}
#endif
}

static void post_free_irq(struct net_device *dev, int irq)
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/phy/fixed.c
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ static int __init fixed_init(void)
fixed_mdio_register_device(0, 100, 1);
#endif

#ifdef CONFIX_FIXED_MII_10_FDX
#ifdef CONFIG_FIXED_MII_10_FDX
fixed_mdio_register_device(0, 10, 1);
#endif
return 0;
Expand Down

0 comments on commit b1f54ba

Please sign in to comment.