git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
net
/
fs_enet
/
mac-fec.c
diff --git
a/drivers/net/fs_enet/mac-fec.c
b/drivers/net/fs_enet/mac-fec.c
index
c2c5fd4
..
ff68394
100644
(file)
--- a/
drivers/net/fs_enet/mac-fec.c
+++ b/
drivers/net/fs_enet/mac-fec.c
@@
-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;
fep->interrupt = platform_get_irq_byname(pdev,"interrupt");
if (fep->interrupt < 0)
return -EINVAL;
-
+
r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
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;
if(fep->fec.fecp == NULL)
return -EINVAL;
@@
-319,11
+319,14
@@
static void restart(struct net_device *dev)
* Clear any outstanding interrupt.
*/
FW(fecp, ievent, 0xffc0);
* Clear any outstanding interrupt.
*/
FW(fecp, ievent, 0xffc0);
+#ifndef CONFIG_PPC_MERGE
FW(fecp, ivec, (fep->interrupt / 2) << 29);
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) {
*/
#ifdef CONFIG_DUET
if (fpi->use_rmii) {
@@
-418,6
+421,7
@@
static void stop(struct net_device *dev)
static void pre_request_irq(struct net_device *dev, int irq)
{
static void pre_request_irq(struct net_device *dev, int irq)
{
+#ifndef CONFIG_PPC_MERGE
immap_t *immap = fs_enet_immap;
u32 siel;
immap_t *immap = fs_enet_immap;
u32 siel;
@@
-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);
}
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)
}
static void post_free_irq(struct net_device *dev, int irq)