Merge commit 'origin/master'
[pandora-kernel.git] / drivers / net / fs_enet / mac-fec.c
index 924d661..0a7d1c5 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/bitops.h>
 #include <linux/fs.h>
 #include <linux/platform_device.h>
+#include <linux/of_device.h>
 
 #include <asm/irq.h>
 #include <asm/uaccess.h>
 #include <asm/8xx_immap.h>
 #include <asm/pgtable.h>
 #include <asm/mpc8xx.h>
-#include <asm/commproc.h>
-#endif
-
-#ifdef CONFIG_PPC_CPM_NEW_BINDING
-#include <asm/of_device.h>
+#include <asm/cpm1.h>
 #endif
 
 #include "fs_enet.h"
@@ -83,7 +80,7 @@
  */
 #define FEC_RESET_DELAY                50
 
-static int whack_reset(fec_t fecp)
+static int whack_reset(fec_t __iomem *fecp)
 {
        int i;
 
@@ -99,7 +96,6 @@ static int whack_reset(fec_t * fecp)
 
 static int do_pd_setup(struct fs_enet_private *fep)
 {
-#ifdef CONFIG_PPC_CPM_NEW_BINDING
        struct of_device *ofdev = to_of_device(fep->dev);
 
        fep->interrupt = of_irq_to_resource(ofdev->node, 0, NULL);
@@ -111,23 +107,6 @@ static int do_pd_setup(struct fs_enet_private *fep)
                return -EINVAL;
 
        return 0;
-#else
-       struct platform_device *pdev = to_platform_device(fep->dev);
-       struct resource *r;
-
-       /* Fill out IRQ field */
-       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 = ioremap(r->start, r->end - r->start + 1);
-
-       if(fep->fec.fecp == NULL)
-               return -EINVAL;
-
-       return 0;
-#endif
 }
 
 #define FEC_NAPI_RX_EVENT_MSK  (FEC_ENET_RXF | FEC_ENET_RXB)
@@ -159,7 +138,7 @@ static int allocate_bd(struct net_device *dev)
        struct fs_enet_private *fep = netdev_priv(dev);
        const struct fs_platform_info *fpi = fep->fpi;
 
-       fep->ring_base = dma_alloc_coherent(fep->dev,
+       fep->ring_base = (void __force __iomem *)dma_alloc_coherent(fep->dev,
                                            (fpi->tx_ring + fpi->rx_ring) *
                                            sizeof(cbd_t), &fep->ring_mem_addr,
                                            GFP_KERNEL);
@@ -177,7 +156,7 @@ static void free_bd(struct net_device *dev)
        if(fep->ring_base)
                dma_free_coherent(fep->dev, (fpi->tx_ring + fpi->rx_ring)
                                        * sizeof(cbd_t),
-                                       fep->ring_base,
+                                       (void __force *)fep->ring_base,
                                        fep->ring_mem_addr);
 }
 
@@ -189,7 +168,7 @@ static void cleanup_data(struct net_device *dev)
 static void set_promiscuous_mode(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        FS(fecp, r_cntrl, FEC_RCNTRL_PROM);
 }
@@ -237,7 +216,7 @@ static void set_multicast_one(struct net_device *dev, const u8 *mac)
 static void set_multicast_finish(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        /* if all multi or too many multicasts; just enable all */
        if ((dev->flags & IFF_ALLMULTI) != 0 ||
@@ -271,7 +250,7 @@ static void restart(struct net_device *dev)
        u32 cptr;
 #endif
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
        const struct fs_platform_info *fpi = fep->fpi;
        dma_addr_t rx_bd_base_phys, tx_bd_base_phys;
        int r;
@@ -399,7 +378,7 @@ static void stop(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
        const struct fs_platform_info *fpi = fep->fpi;
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        struct fec_info* feci= fep->phydev->bus->priv;
 
@@ -461,7 +440,7 @@ static void post_free_irq(struct net_device *dev, int irq)
 static void napi_clear_rx_event(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        FW(fecp, ievent, FEC_NAPI_RX_EVENT_MSK);
 }
@@ -469,7 +448,7 @@ static void napi_clear_rx_event(struct net_device *dev)
 static void napi_enable_rx(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        FS(fecp, imask, FEC_NAPI_RX_EVENT_MSK);
 }
@@ -477,7 +456,7 @@ static void napi_enable_rx(struct net_device *dev)
 static void napi_disable_rx(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        FC(fecp, imask, FEC_NAPI_RX_EVENT_MSK);
 }
@@ -485,7 +464,7 @@ static void napi_disable_rx(struct net_device *dev)
 static void rx_bd_done(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        FW(fecp, r_des_active, 0x01000000);
 }
@@ -493,7 +472,7 @@ static void rx_bd_done(struct net_device *dev)
 static void tx_kickstart(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        FW(fecp, x_des_active, 0x01000000);
 }
@@ -501,7 +480,7 @@ static void tx_kickstart(struct net_device *dev)
 static u32 get_int_events(struct net_device *dev)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        return FR(fecp, ievent) & FR(fecp, imask);
 }
@@ -509,7 +488,7 @@ static u32 get_int_events(struct net_device *dev)
 static void clear_int_events(struct net_device *dev, u32 int_events)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
-       fec_t *fecp = fep->fec.fecp;
+       fec_t __iomem *fecp = fep->fec.fecp;
 
        FW(fecp, ievent, int_events);
 }
@@ -520,7 +499,7 @@ static void ev_error(struct net_device *dev, u32 int_events)
               ": %s FEC ERROR(s) 0x%x\n", dev->name, int_events);
 }
 
-int get_regs(struct net_device *dev, void *p, int *sizep)
+static int get_regs(struct net_device *dev, void *p, int *sizep)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
 
@@ -532,12 +511,12 @@ int get_regs(struct net_device *dev, void *p, int *sizep)
        return 0;
 }
 
-int get_regs_len(struct net_device *dev)
+static int get_regs_len(struct net_device *dev)
 {
        return sizeof(fec_t);
 }
 
-void tx_restart(struct net_device *dev)
+static void tx_restart(struct net_device *dev)
 {
        /* nothing */
 }