ixp4xx: Remove proprietary Intel ethernet driver.
authorRod Whitby <rod@whitby.id.au>
Mon, 27 Apr 2009 23:59:52 +0000 (09:29 +0930)
committerRod Whitby <rod@whitby.id.au>
Mon, 27 Apr 2009 23:59:52 +0000 (09:29 +0930)
See
http://lists.linuxtogo.org/pipermail/openembedded-devel/2007-January/001279.html

110 files changed:
recipes/ixp425-eth/files/2.6.13.patch [deleted file]
recipes/ixp425-eth/files/2.6.14.patch [deleted file]
recipes/ixp425-eth/files/ethhdr.patch [deleted file]
recipes/ixp425-eth/files/intdriven.patch [deleted file]
recipes/ixp425-eth/files/ixp400_pollcontroller.patch [deleted file]
recipes/ixp425-eth/files/makefile.patch [deleted file]
recipes/ixp425-eth/files/mm4.patch [deleted file]
recipes/ixp425-eth/files/modprobe.conf [deleted file]
recipes/ixp425-eth/files/pollcontroller.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.4/2.6.13.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.4/2.6.14-mm.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.4/2.6.14.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.4/ixp400-le-be.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.4/makefile.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.4/modprobe.conf [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/2.6.14.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/2.6.15.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/Makefile.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/continue-if-qmgr-init-fails.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/debug.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/device-name.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/int-random.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/le.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/mac-address.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/modprobe.conf [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/module-param.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/netdev_max_backlog.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/params.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/poll-controller.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5.1/stop-on-rmmod.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/2.6.14.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/2.6.15.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/Makefile.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/continue-if-qmgr-init-fails.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/debug.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/device-name.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/int-random.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/le.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/mac-address.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/modprobe.conf [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/module-param.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/netdev_max_backlog.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/params.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/poll-controller.patch [deleted file]
recipes/ixp425-eth/ixp400-eth-1.5/stop-on-rmmod.patch [deleted file]
recipes/ixp425-eth/ixp400-eth_1.4.bb [deleted file]
recipes/ixp425-eth/ixp400-eth_1.5.1.bb [deleted file]
recipes/ixp425-eth/ixp400-eth_1.5.bb [deleted file]
recipes/ixp425-eth/ixp425-eth-1.2/2.6.13.patch [deleted file]
recipes/ixp425-eth/ixp425-eth-1.2/2.6.14.patch [deleted file]
recipes/ixp425-eth/ixp425-eth-1.2/ixp400linuxethernetdriver-1_2-kernel26_hr_20050929.patch [deleted file]
recipes/ixp425-eth/ixp425-eth-1.2/makefile.patch [deleted file]
recipes/ixp425-eth/ixp425-eth_1.1.bb [deleted file]
recipes/ixp425-eth/ixp425-eth_1.2.bb [deleted file]
recipes/ixp4xx/ixp-osal-1.5/2.6.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.0/2.6.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.0/Makefile.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.0/le.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1.1/2.6.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1.1/Makefile.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1.1/assert.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1.1/invalidate-cache.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1.1/ixp4xx-header.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1.1/le.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1/2.6.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1/Makefile.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1/assert.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1/invalidate-cache.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1/ixp4xx-header.patch [deleted file]
recipes/ixp4xx/ixp-osal-2.1/le.patch [deleted file]
recipes/ixp4xx/ixp-osal_1.5.bb [deleted file]
recipes/ixp4xx/ixp-osal_2.0.bb [deleted file]
recipes/ixp4xx/ixp-osal_2.1.1.bb [deleted file]
recipes/ixp4xx/ixp-osal_2.1.bb [deleted file]
recipes/ixp4xx/ixp4xx-csr-1.5/2.6.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.0/2.6.14.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.0/2.6.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.0/Makefile.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.0/le.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/Makefile.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/bit-macro.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/gcc4.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/ixethdb-header.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/ixnpemhconfigisr-is-private.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/le.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/livelock.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/mii-debug.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/module-param.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/module-use-count.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/oe-makefile.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/rtl8201-support.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1.1/undefined-attribute.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/Makefile.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/bit-macro.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/gcc4.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/ixethdb-header.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/ixnpemhconfigisr-is-private.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/le.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/livelock.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/mii-debug.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/module-param.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/oe-makefile.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr-2.1/rtl8201-support.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr/badpaths.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr/build-timing-annoyance.patch [deleted file]
recipes/ixp4xx/ixp4xx-csr_1.4.bb [deleted file]
recipes/ixp4xx/ixp4xx-csr_1.5.bb [deleted file]
recipes/ixp4xx/ixp4xx-csr_2.0.bb [deleted file]
recipes/ixp4xx/ixp4xx-csr_2.1.1.bb [deleted file]
recipes/ixp4xx/ixp4xx-csr_2.1.bb [deleted file]

diff --git a/recipes/ixp425-eth/files/2.6.13.patch b/recipes/ixp425-eth/files/2.6.13.patch
deleted file mode 100644 (file)
index 7e8bea1..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# Patches for compilation with 2.6.13.2
-#
---- dir/ixp425_eth.c   2005-09-23 18:34:54.753729121 -0700
-+++ dir/ixp425_eth.c   2005-09-23 18:37:48.908688002 -0700
-@@ -659,7 +659,9 @@
-       skb->pkt_type = PACKET_HOST;    /* Default type */
-         skb->ip_summed = 0;
-         skb->priority = 0;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
-         skb->security = 0;
-+#endif
- /* Some packets may get incorrectly process by netfilter firewall software
-  * if CONFIG_NETFILTER is enabled and filtering is in use.  The solution is to
-@@ -2358,8 +2362,14 @@
- }
- /* set port MAC addr and update the dev struct if successfull */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
- int dev_set_mac_address(struct net_device *dev, struct sockaddr *saddr)
- {
-+#else
-+static int set_mac_address(struct net_device *dev, void *saddrIn)
-+{
-+    struct sockaddr *saddr = saddrIn;
-+#endif
-     int res;
-     priv_data_t *priv = dev->priv;
-     IxEthAccMacAddr npeMacAddr;
-@@ -2476,7 +2486,11 @@
-     ndev->poll_controller = ixp425eth_poll_controller;
- #endif
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
-     ndev->set_mac_address = dev_set_mac_address;
-+#else
-+    ndev->set_mac_address = set_mac_address;
-+#endif
-     memcpy(ndev->dev_addr, &default_mac_addr[priv->port_id].macAddress,
-            IX_IEEE803_MAC_ADDRESS_SIZE);
diff --git a/recipes/ixp425-eth/files/2.6.14.patch b/recipes/ixp425-eth/files/2.6.14.patch
deleted file mode 100644 (file)
index e93edb6..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# change in field semantic in 2.6.14
---- dir/ixp425_eth.c   2005-09-24 17:50:57.828607113 -0700
-+++ dir/ixp425_eth.c   2005-09-24 17:54:19.593303365 -0700
-@@ -668,7 +668,11 @@
-  * reset the following fields in the skbuff before re-using it on the Rx-path
-  */
- #ifdef CONFIG_NETFILTER
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-         skb->nfmark = skb->nfcache = 0;
-+#else
-+        skb->nfmark = 0;
-+#endif
-         nf_conntrack_put(skb->nfct);
-         skb->nfct = NULL;
- #ifdef CONFIG_NETFILTER_DEBUG
-@@ -1300,8 +1300,12 @@
-     skb->len -= header_len;
-     
-     /* fill the pkt arrival time (set at the irq callback entry) */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-     skb->stamp.tv_sec = irq_stamp.tv_sec;
-     skb->stamp.tv_usec = irq_stamp.tv_usec;
-+#else
-+    skb_set_timestamp(skb, &irq_stamp);
-+#endif
-     
-     /* fill the input device field */
-     skb->dev = dev;
diff --git a/recipes/ixp425-eth/files/ethhdr.patch b/recipes/ixp425-eth/files/ethhdr.patch
deleted file mode 100644 (file)
index 79c9fef..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- ixp425-eth-1.1-r0/ixp425_eth.c~ethhdr
-+++ ixp425-eth-1.1-r0/ixp425_eth.c
-@@ -1307,7 +1307,7 @@
-        * and its constants are taken from the eth_type_trans()
-        * function.
-        */
--      struct ethhdr *eth = skb->mac.ethernet;
-+      struct ethhdr *eth = eth_hdr(skb);
-       unsigned short hproto = ntohs(eth->h_proto);
-       
-       if (hproto >= 1536)
-@@ -1349,7 +1349,7 @@
-              * mode is set This costs
-              * a lookup inside the packet payload.
-              */
--            struct ethhdr *eth = skb->mac.ethernet;
-+            struct ethhdr *eth = eth_hdr(skb);
-             unsigned char *hdest = eth->h_dest;
-             if (memcmp(hdest, dev->dev_addr, ETH_ALEN)!=0)
diff --git a/recipes/ixp425-eth/files/intdriven.patch b/recipes/ixp425-eth/files/intdriven.patch
deleted file mode 100644 (file)
index 88b2444..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
---- ixp425-eth-1.1-r4/ixp425_eth.c     2005-06-16 00:47:55.360598896 -0700
-+++ ixp425-eth-1.1-r4/ixp425_eth.c     2005-06-16 18:42:09.840377651 -0700
-@@ -1028,6 +1030,7 @@
-  */
- /* PMU Timer reload : this should be done at each interrupt */
-+#if 0 /* UNUSED - used for polling */
- static void dev_pmu_timer_restart(void)
- {
-     __asm__(" mcr p14,0,%0,c1,c1,0\n"  /* write current counter */
-@@ -1039,6 +1042,7 @@
-             " mcr p14,0,r1,c4,c1,0\n"  /* enable interrupts */
-             : : : "r1");
- }
-+#endif
- /* Internal ISR : run a few thousand times per second and calls 
-  * the queue manager dispatcher entry point.
-@@ -1086,6 +1088,7 @@
- /* Internal ISR : run a few thousand times per second and calls 
-  * the ethernet entry point.
-  */
-+#if 0 /* UNUSED - used for polling */
- static irqreturn_t dev_poll_os_isr(int irg, void *dev_id, struct pt_regs *regs)
- {
-     int qlevel = __get_cpu_var(softnet_data).input_pkt_queue.qlen;
-@@ -1127,8 +1130,10 @@
-     ixEthTxFrameDoneQMCallback(0,0);
-     return IRQ_HANDLED;
- }
-+#endif
- /* initialize the PMU timer */
-+#if 0 /* UNUSED - used for polling */
- static int dev_pmu_timer_init(void)
- {
-     UINT32 controlRegisterMask =
-@@ -1164,6 +1169,7 @@
-     
-     return 0;
- }
-+#endif
- /* stops the timer when the module terminates */
- static void dev_pmu_timer_disable(void)
-@@ -1636,6 +1636,7 @@
-     return 0;
- }
-+#if 0 /* UNUSED - used for polling */
- /* The QMgr dispatch entry point can be called from the 
-  * IXP425_INT_LVL_QM1 irq (which will trigger
-  * an interrupt for every packet) or a timer (which will
-@@ -1686,7 +1687,7 @@
-      */
-     if (request_irq(IXP425_INT_LVL_QM1,
-                     dev_qmgr_os_isr,
--                    SA_SHIRQ,
-+                    SA_SHIRQ | SA_SAMPLE_RANDOM,
-                     DRV_NAME,
-                     (void *)IRQ_ANY_PARAMETER))
-     {
-@@ -1710,6 +1711,7 @@
-   }
-   return 0;
- }
-+#endif
- /* Enable the MAC port.
-  * Called on do_dev_open, dev_tx_timeout and mtu size changes
-@@ -2234,7 +2236,7 @@
-      */
-     if (request_irq(IXP425_INT_LVL_QM1,
-                     dev_qmgr_os_isr,
--                    SA_SHIRQ,
-+                    SA_SHIRQ | SA_SAMPLE_RANDOM,
-                     DRV_NAME,
-                     (void *)IRQ_ANY_PARAMETER))
-     {
-@@ -2669,6 +2671,10 @@
-     TRACE;
-+#if 0 /* DISABLE polling */
-+    /* Enable Interrupt driven driver
-+     * see http://www.nslu2-linux.org/wiki/OpenSlug/StabilizeEthernetDriver
-+     */
-     if (no_csr_init == 0) /* module parameter */
-     {
-       /* The QMgr dispatch entry point is called from the IXP425_INT_LVL_QM1 irq
-@@ -2681,6 +2687,7 @@
-            return res;
-       }
-     }
-+#endif
-     TRACE;
diff --git a/recipes/ixp425-eth/files/ixp400_pollcontroller.patch b/recipes/ixp425-eth/files/ixp400_pollcontroller.patch
deleted file mode 100644 (file)
index b6fe10a..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-*** ixp400-eth-1.4-r4/ixp400_eth.c.orig        Mon Oct 31 22:45:46 2005
---- ixp400-eth-1.4-r4/ixp400_eth.c     Mon Oct 31 22:47:48 2005
-***************
-*** 306,311 ****
---- 306,316 ----
-  ixEthRxFrameQMCallback(IxQMgrQId qId, IxQMgrCallbackId callbackId);
-  extern void 
-  ixEthTxFrameDoneQMCallback(IxQMgrQId qId, IxQMgrCallbackId callbackId);
-+ #ifdef CONFIG_NET_POLL_CONTROLLER
-+ /* poll controller (needed for netconsole et al) */
-+ static void
-+ ixp425eth_poll_controller(struct net_device *dev);
-+ #endif
-  
-  /* Private device data */
-  typedef struct {
-***************
-*** 3082,3087 ****
---- 3087,3095 ----
-      ndev->get_stats = dev_get_stats;
-      ndev->set_multicast_list = dev_set_multicast_list;
-      ndev->flags |= IFF_MULTICAST;
-+ #ifdef CONFIG_NET_POLL_CONTROLLER
-+     ndev->poll_controller = ixp425eth_poll_controller;
-+ #endif
-  #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
-      ndev->set_mac_address = dev_set_mac_address;
-  #else
-***************
-*** 3172,3177 ****
---- 3180,3198 ----
-      return res;
-  }
-  
-+ #ifdef CONFIG_NET_POLL_CONTROLLER
-+ /*
-+  * Polling receive - used by netconsole and other diagnostic tools
-+  * to allow network i/o with interrupts disabled.
-+  * (stolen from 8139too.c by siddy)
-+  */
-+ static void ixp425eth_poll_controller(struct net_device *dev)
-+ {
-+         disable_irq(dev->irq);
-+         dev_qmgr_os_isr(dev->irq, dev, NULL);
-+         enable_irq(dev->irq);
-+ }
-+ #endif
-  
-  static int __devinit npe_eth_init_device(struct device *dev)
-  {
diff --git a/recipes/ixp425-eth/files/makefile.patch b/recipes/ixp425-eth/files/makefile.patch
deleted file mode 100644 (file)
index 2e47972..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- /dev/null
-+++ ixp425-eth-1.1-r0/Makefile
-@@ -0,0 +1,10 @@
-+ifneq ($(KERNELRELEASE),)
-+obj-m := ixp425_eth.o
-+
-+else
-+KDIR  := /lib/modules/$(shell uname -r)/build
-+PWD   := $(shell pwd)
-+
-+default modules:
-+      $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
-+endif
diff --git a/recipes/ixp425-eth/files/mm4.patch b/recipes/ixp425-eth/files/mm4.patch
deleted file mode 100644 (file)
index c40aaca..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# This corrects the type of dev_set_mac_address.  The definition (prototype)
-# was *added* to include/linux/netdevice.h in the 2.6.11 mm patches, so the
-# change should not harm older builds
---- ixp425-eth-1.1-r1/ixp425_eth.c.pre-mm4     2005-03-19 14:02:32.883601440 -0800
-+++ ixp425-eth-1.1-r1/ixp425_eth.c     2005-03-19 14:03:25.849549392 -0800
-@@ -2347,12 +2347,11 @@
- }
- /* set port MAC addr and update the dev struct if successfull */
--int dev_set_mac_address(struct net_device *dev, void *addr)
-+int dev_set_mac_address(struct net_device *dev, struct sockaddr *saddr)
- {
-     int res;
-     priv_data_t *priv = dev->priv;
-     IxEthAccMacAddr npeMacAddr;
--    struct sockaddr *saddr = (struct sockaddr *)addr;
-     /* Set MAC addr in h/w */
-     memcpy(&npeMacAddr.macAddress,
diff --git a/recipes/ixp425-eth/files/modprobe.conf b/recipes/ixp425-eth/files/modprobe.conf
deleted file mode 100644 (file)
index bfcbf91..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-# Add an alias for eth0 to ixp425_eth to cause the S40networking
-# init script to load the ixp425_eth driver on the first boot
-alias eth0 ixp425_eth
diff --git a/recipes/ixp425-eth/files/pollcontroller.patch b/recipes/ixp425-eth/files/pollcontroller.patch
deleted file mode 100644 (file)
index f95db28..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Add a poll controller to the interface - required for netconsole
---- ixp425-eth-1.1-r1/ixp425_eth.c.pre-pollcontroller  2005-03-19 14:02:32.883601440 -0800
-+++ ixp425-eth-1.1-r1/ixp425_eth.c     2005-03-19 14:03:25.849549392 -0800
-@@ -273,6 +273,11 @@
- extern void
- ixEthTxFrameDoneQMCallback(IxQMgrQId? qId, IxQMgrCallbackId? callbackId);
-
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/* poll controller (needed for netconsole et al) */
-+static void ixp425eth_poll_controller(struct net_device *dev);
-+#endif
-+
- /* Private device data */
- typedef struct {
-     unsigned int msdu_size;
-@@ -2462,6 +2467,10 @@
-     ndev->set_multicast_list = dev_set_multicast_list;
-     ndev->flags |= IFF_MULTICAST;
-
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+    ndev->poll_controller = ixp425eth_poll_controller;
-+#endif
-+
-     ndev->set_mac_address = dev_set_mac_address;
-
-     memcpy(ndev->dev_addr, &default_mac_addr[priv->port_id].macAddress,
-@@ -2491,6 +2500,23 @@
-     return res;
- }
-
-+
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/*
-+ * Polling receive - used by netconsole and other diagnostic tools
-+ * to allow network i/o with interrupts disabled.
-+ * (stolen from 8139too.c by siddy)
-+ */
-+static void ixp425eth_poll_controller(struct net_device *dev)
-+{
-+        disable_irq(dev->irq);
-+        dev_qmgr_os_isr(dev->irq, dev, NULL);
-+        enable_irq(dev->irq);
-+}
-+#endif
-+
-+
-+
- static int __devinit npe_eth_init_device(struct device *dev)
- {
-     int res = -ENOMEM;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.4/2.6.13.patch b/recipes/ixp425-eth/ixp400-eth-1.4/2.6.13.patch
deleted file mode 100644 (file)
index 376bb3b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
---- ./ixp400_eth.c.orig        2005-10-02 18:55:03.998477844 -0700
-+++ ./ixp400_eth.c     2005-10-02 19:00:43.187821684 -0700
-@@ -848,7 +848,9 @@
-       skb->pkt_type = PACKET_HOST;    /* Default type */
-         skb->ip_summed = 0;
-         skb->priority = 0;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
-         skb->security = 0;
-+#endif
- #ifdef CONFIG_NET_SCHED
-       skb->tc_index = 0;
- #endif
-@@ -2922,8 +2924,14 @@
- }
- /* set port MAC addr and update the dev struct if successfull */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
- int dev_set_mac_address(struct net_device *dev, struct sockaddr *saddr)
- {
-+#else
-+static int set_mac_address(struct net_device *dev, void *saddrIn)
-+{
-+    struct sockaddr *saddr = saddrIn;
-+#endif
-     int res;
-     priv_data_t *priv = dev->priv;
-     IxEthAccMacAddr npeMacAddr;
-@@ -3073,7 +3081,11 @@
-     ndev->get_stats = dev_get_stats;
-     ndev->set_multicast_list = dev_set_multicast_list;
-     ndev->flags |= IFF_MULTICAST;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
-     ndev->set_mac_address = dev_set_mac_address;
-+#else
-+    ndev->set_mac_address = set_mac_address;
-+#endif
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.4/2.6.14-mm.patch b/recipes/ixp425-eth/ixp400-eth-1.4/2.6.14-mm.patch
deleted file mode 100644 (file)
index b2dfaaa..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
---- ./ixp400_eth.c.orig        2005-11-13 16:17:57.943717806 -0800
-+++ ./ixp400_eth.c     2005-11-13 16:29:00.829430574 -0800
-@@ -65,6 +65,10 @@
- #include <linux/sysctl.h>
- #include <linux/unistd.h>
-+#ifndef to_platform_device
-+#include <linux/platform_device.h>
-+#endif
-+
- /*
-  * Intel IXP400 Software specific header files
-  */
-@@ -2410,7 +2414,7 @@ dev_tx_timeout_work(void* arg)
- }
--
-+#if 0
- static void
- dev_tx_timeout_task(void *dev_id)
- {
-@@ -2444,6 +2448,7 @@ dev_tx_timeout_task(void *dev_id)
-     up(maintenance_mutex);
- }
-+#endif
- /* This function is called when kernel thinks that TX is stuck */
-@@ -3274,9 +3279,12 @@ static struct net_device ixp400_devices[
- int init_module(void)
- {
--    int res, dev_count;
-+    int res;
-+#if 0
-+    int dev_count;
-     IxEthAccPortId portId;
-     struct net_device *dev;
-+#endif
-     int i;
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.4/2.6.14.patch b/recipes/ixp425-eth/ixp400-eth-1.4/2.6.14.patch
deleted file mode 100644 (file)
index c4c19db..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./ixp400_eth.c     2005-10-01 00:50:45.179775259 -0700
-+++ ./ixp400_eth.c     2005-10-01 00:54:10.976725245 -0700
-@@ -777,7 +777,9 @@
-        * before re-using it on the Rx-path
-        */
-         skb->nfmark = 0;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-       skb->nfcache = 0;
-+#endif
-         nf_conntrack_put(skb->nfct);
-         skb->nfct = NULL;
- #ifdef CONFIG_NETFILTER_DEBUG
-@@ -1451,7 +1453,11 @@
-     skb->len -= header_len;
-    
-     /* fill the pkt arrival time (set at the irq callback entry) */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-     skb->stamp = irq_stamp;
-+#else
-+    skb_set_timestamp(skb, &irq_stamp);
-+#endif
-  
-     /* fill the input device field */
-     skb->dev = dev;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.4/ixp400-le-be.patch b/recipes/ixp425-eth/ixp400-eth-1.4/ixp400-le-be.patch
deleted file mode 100644 (file)
index 87d4337..0000000
+++ /dev/null
@@ -1,948 +0,0 @@
---- ./.pc/ixp400-le-be.patch/ixp400_eth.c      2005-04-19 22:58:18.000000000 -0700
-+++ ./ixp400_eth.c     2005-10-23 23:29:06.760778566 -0700
-@@ -57,6 +57,7 @@
- #include <linux/mii.h>
- #include <linux/socket.h>
- #include <linux/cache.h>
-+#include <linux/interrupt.h>
- #include <asm/io.h>
- #include <asm/errno.h>
- #include <net/pkt_sched.h>
-@@ -95,7 +96,7 @@
- MODULE_LICENSE("GPL");
- MODULE_AUTHOR("Intel Corporation");
- #define MODULE_NAME "ixp400_eth"
--#define MODULE_VERSION "1.4"
-+#define MODULE_VERSION_IXP400_ETH "1.4B"
- /* Module parameters */
- static int npe_learning = 1;      /* default : NPE learning & filtering enable */
-@@ -358,8 +359,13 @@
-     /* Used to stop the kernel thread for link monitoring. */
-     volatile BOOL maintenanceCheckStopped;
-+  struct work_struct mii_job;
-+
-+
-     /* used for tx timeout */
--    struct tq_struct tq_timeout;
-+  struct work_struct tx_timeout_job;
-+ 
-+     
-     /* used to control the message output */
-     UINT32 devFlags;
-@@ -557,6 +563,8 @@
- #endif
- };
-+static struct workqueue_struct *npe_eth_workqueue;
-+
- /* Mutex lock used to coordinate access to IxEthAcc functions
-  * which manipulate the MII registers on the PHYs
-  */
-@@ -565,6 +573,11 @@
- /* mutex locked when maintenance is being performed */
- static struct semaphore *maintenance_mutex;
-+/* Flags which is set when corresponding NPE is running,
-+ * cleared when NPE is stopped
-+ */
-+static int npeRunning[IX_ETH_ACC_NUMBER_OF_PORTS];
-+
- /* Flags which is set when the corresponding IRQ is running,
-  */
- static int irq_pmu_used = 0;
-@@ -1070,6 +1083,117 @@
-     return 0;
- }
-+/* 
-+ * WORKQUEUE JOBS
-+ */
-+
-+/* This workqueue job will check the PHY for the link duplex and
-+ * update the MAC accordingly. It also executes some buffer
-+ * maintenance to release mbuf in excess or replenish after
-+ * a severe starvation
-+ *
-+ * This function loops and wake up every 3 seconds.
-+ */
-+static void dev_media_check_work(void* arg)
-+{
-+    struct net_device *dev = (struct net_device *) arg;
-+    priv_data_t *priv = dev->priv;
-+
-+    TRACE;
-+      
-+    /*
-+     * Determine the link status
-+     */
-+
-+    if (default_phy_cfg[priv->port_id].linkMonitor)
-+    {
-+        int linkUp;
-+        int speed100;
-+        int fullDuplex = -1; /* unknown duplex mode */
-+        int newDuplex;
-+        int autonegotiate;
-+        unsigned phyNum = phyAddresses[priv->port_id];
-+        int res;
-+
-+        TRACE;
-+
-+        /* lock the MII register access mutex */
-+        down(miiAccessMutex);
-+          
-+        res = ixEthMiiLinkStatus(phyNum,
-+                                 &linkUp,
-+                                 &speed100,
-+                                 &newDuplex, 
-+                                 &autonegotiate);
-+        /* release the MII register access mutex */
-+        up(miiAccessMutex);
-+          
-+        if (res != IX_ETH_ACC_SUCCESS)
-+        {
-+            P_WARN("ixEthMiiLinkStatus failed on PHY%d.\n"
-+                   "\tCan't determine\nthe auto negotiated parameters. "
-+                   "Using default values.\n",
-+                   phyNum); 
-+              
-+            /* this shouldn't happen. exit the thread if it does */
-+            goto out;
-+        }
-+          
-+        if (linkUp)
-+        {
-+            if (! netif_carrier_ok(dev))
-+            {
-+                /* inform the kernel of a change in link state */
-+                netif_carrier_on(dev);
-+            }
-+
-+            /*
-+             * Update the MAC mode to match the PHY mode if 
-+             * there is a phy mode change.
-+             */
-+            if (newDuplex != fullDuplex)
-+            {
-+                fullDuplex = newDuplex;
-+                if (fullDuplex)
-+                {
-+                    ixEthAccPortDuplexModeSet(priv->port_id,
-+                                              IX_ETH_ACC_FULL_DUPLEX);
-+                }
-+                else
-+                {
-+                    ixEthAccPortDuplexModeSet(priv->port_id,
-+                                              IX_ETH_ACC_HALF_DUPLEX);
-+                }
-+            }
-+        }
-+        else
-+        {
-+            fullDuplex = -1;
-+            if (netif_carrier_ok(dev))
-+            {
-+                /* inform the kernel of a change in link state */
-+                netif_carrier_off(dev);
-+            }
-+        }
-+    }
-+    
-+    TRACE;
-+    
-+    /* this is to prevent the rx pool from emptying when
-+     * there's not enough memory for a long time
-+     * It prevents also from holding the memory for too
-+     * long
-+     */
-+    dev_buff_maintenance(dev);
-+    
-+    /* reschedule to run in 3 seconds */
-+    queue_delayed_work(npe_eth_workqueue, &priv->mii_job, 3*HZ);
-+ out:
-+    return;
-+}
-+
-+
-+#define sigmask_lock sighand->siglock
- /* 
-  * KERNEL THREADS
-@@ -1122,11 +1246,11 @@
-     */
-     down (priv->maintenanceCheckThreadComplete);
--    daemonize();
--    reparent_to_init();
-+    daemonize("dev_media");
-+    //    reparent_to_init();
-     spin_lock_irq(&current->sigmask_lock);
-     sigemptyset(&current->blocked);
--    recalc_sigpending(current);
-+    recalc_sigpending();
-     spin_unlock_irq(&current->sigmask_lock);
-     
-     snprintf(current->comm, sizeof(current->comm), "ixp400 %s", dev->name);
-@@ -1285,7 +1409,7 @@
- static void dev_pmu_timer_restart(void)
- {
-     unsigned long flags;
--    save_flags_cli(flags);
-+    local_irq_save(flags);
-      __asm__(" mcr p14,0,%0,c1,c1,0\n"  /* write current counter */
-             : : "r" (timer_countup_ticks));
-@@ -1294,13 +1418,13 @@
-             " mcr p14,0,r1,c5,c1,0; "  /* clear overflow */
-             " mcr p14,0,r1,c4,c1,0\n"  /* enable interrupts */
-             : : : "r1");
--    restore_flags(flags);
-+    local_irq_restore(flags);
- }
- /* Internal ISR : run a few thousand times per second and calls 
-  * the queue manager dispatcher entry point.
-  */
--static void dev_qmgr_os_isr(int irg, void *dev_id, struct pt_regs *regs)
-+static irqreturn_t dev_qmgr_os_isr(int irg, void *dev_id, struct pt_regs *regs)
- {
-     /* get the time of this interrupt : all buffers received during this
-      * interrupt will be assigned the same time */
-@@ -1308,22 +1432,32 @@
-     /* call the queue manager entry point */
-     dispatcherFunc(IX_QMGR_QUELOW_GROUP);
-+    return IRQ_HANDLED;
- }
- /* Internal ISR : run a few thousand times per second and calls 
-  * the ethernet entry point.
-  */
--static void dev_poll_os_isr(int irg, void *dev_id, struct pt_regs *regs)
-+int icount = 2;
-+static irqreturn_t dev_poll_os_isr(int irg, void *dev_id, struct pt_regs *regs)
- {
--    dev_pmu_timer_restart(); /* set up the timer for the next interrupt */
-+  if (icount > 0) {
-+    icount--;
-+    TRACE;
-+  }
-     /* get the time of this interrupt : all buffers received during this
-      * interrupt will be assigned the same time */
-     do_gettimeofday(&irq_stamp);
--
-+  if (icount) TRACE;
-     ixEthRxFrameQMCallback(rx_queue_id,0);
-+  if (icount) TRACE;
-     ixEthTxFrameDoneQMCallback(0,0);
--   
-+  if (icount) TRACE;
-+    /* here surely */
-+  dev_pmu_timer_restart(); /* set up the timer for the next interrupt */
-+  return IRQ_HANDLED;
-+
- }
- /* initialize the PMU timer */
-@@ -1370,17 +1504,18 @@
- static void dev_pmu_timer_disable(void)
- {
-     unsigned long flags;
--    save_flags_cli(flags);
-+    local_irq_save(flags);
-     __asm__(" mrc p14,0,r1,c4,c1,0; "  /* get int enable register */
-             " and r1,r1,#0x1e; "
-             " mcr p14,0,r1,c4,c1,0\n"  /* disable interrupts */
-             : : : "r1");
--    restore_flags(flags);
-+    local_irq_restore(flags);
- }
- /* This timer will call ixEthDBDatabaseMaintenance every
-  * IX_ETH_DB_MAINTENANCE_TIME jiffies
-  */
-+#if 0
- static void maintenance_timer_cb(unsigned long data);
- static struct timer_list maintenance_timer = {
-@@ -1418,6 +1553,34 @@
-     maintenance_timer_set();
- }
-+#endif
-+static void db_maintenance_code(void *data);
-+static DECLARE_WORK(db_maintenance_job, db_maintenance_code, NULL);
-+
-+static inline
-+void schedule_db_maintenance(void)
-+{
-+  TRACE;
-+    queue_delayed_work(npe_eth_workqueue, &db_maintenance_job,
-+                       DB_MAINTENANCE_TIME);
-+}
-+
-+static inline
-+void cancel_db_maintenance(void)
-+{
-+  TRACE;
-+    cancel_delayed_work(&db_maintenance_job);
-+}
-+
-+static void db_maintenance_code(void *data)
-+{
-+  TRACE;
-+    down(maintenance_mutex);
-+    ixEthDBDatabaseMaintenance();
-+    up(maintenance_mutex);
-+    schedule_db_maintenance();
-+}
-+
- /*
-  *  DATAPLANE
-@@ -1531,7 +1694,7 @@
-        * and its constants are taken from the eth_type_trans()
-        * function.
-        */
--      struct ethhdr *eth = skb->mac.ethernet;
-+      struct ethhdr *eth = eth_hdr(skb);
-       unsigned short hproto = ntohs(eth->h_proto);
-       
-       if (hproto >= 1536)
-@@ -1573,7 +1736,7 @@
-            * mode is set This costs
-            * a lookup inside the packet payload.
-            */
--          struct ethhdr *eth = skb->mac.ethernet;
-+          struct ethhdr *eth = eth_hdr(skb);
-           unsigned char *hdest = eth->h_dest;
-           
-           if (memcmp(hdest, dev->dev_addr, ETH_ALEN)!=0)
-@@ -1632,7 +1795,7 @@
-     dev = (struct net_device *)callbackTag;
-     priv = dev->priv;
--    qlevel = softnet_data[0].input_pkt_queue.qlen;
-+    qlevel = __get_cpu_var(softnet_data).input_pkt_queue.qlen;
-     /* check if the system accepts more traffic and
-      * against chained mbufs 
-      */
-@@ -1674,10 +1837,21 @@
-       /* set the length of the received skb from the mbuf length  */
-       skb->tail = skb->data + len;
-       skb->len = len;
-+
-+#ifndef __ARMEB__
-+      {
-+          /* Byte swap all words containing data from the buffer. */
-+          unsigned long *p = (unsigned long*)((unsigned)skb->data & ~0x3);
-+          unsigned long *e = (unsigned long*)(((unsigned)skb->data + skb->len + 3) & ~0x3);
-+          while (p < e)
-+              *p = ntohl(*p), ++p;
-+      }
-+#endif
-       
- #ifdef DEBUG_DUMP
-       skb_dump("rx", skb);
- #endif
-+
-       /* Set the skb protocol and set mcast/bcast flags */
-       dev_eth_type_trans(mcastFlags, skb, dev);
-@@ -1821,6 +1995,39 @@
-       spin_unlock_irq(&priv->lock);
- }
-+/* start the NPEs */
-+static int npe_start(IxEthAccPortId port_id)
-+{
-+    int res;
-+    UINT32 npeImageId;
-+
-+    switch (port_id)
-+    {
-+        case IX_ETH_PORT_1:
-+          npeImageId = IX_ETH_NPE_B_IMAGE_ID;
-+          break;
-+        case IX_ETH_PORT_2:
-+          npeImageId = IX_ETH_NPE_C_IMAGE_ID;
-+          break;
-+      default:
-+          P_ERROR("Invalid port specified. IXP Ethernet NPE not started\n");
-+          return -ENODEV;
-+    }
-+
-+    /* Initialise and Start NPEs */
-+    if ((res = ixNpeDlNpeInitAndStart(npeImageId)))
-+    {
-+      P_ERROR("Error starting NPE for Ethernet port %d!\n", port_id);
-+      return -1;
-+    }
-+
-+    /* set this flag to indicate that NPE is running */
-+    npeRunning[port_id] = 1;
-+
-+    return 0;
-+}
-+
-+
- /* The QMgr dispatch entry point can be called from the 
-  * IX_OSAL_IXP400_QM1_IRQ_LVL irq (which will trigger
-  * an interrupt for every packet) or a timer (which will
-@@ -1906,7 +2113,16 @@
-     IxEthAccMacAddr npeMacAddr;
-     priv_data_t *priv = dev->priv;
--    P_DEBUG("port_enable(%s)\n", dev->name);
-+    P_DEBUG("port_enable(%s) %d\n", dev->name, priv->port_id);
-+
-+    if (!npeRunning[priv->port_id])
-+    {
-+        if ((res = npe_start(priv->port_id)))
-+        {
-+            TRACE;
-+            return res;
-+        }
-+    }
-     /* Set MAC addr in h/w (ethAcc checks for MAC address to be valid) */
-     memcpy(&npeMacAddr.macAddress,
-@@ -2085,6 +2301,16 @@
-       return 0;
-     }
-+#ifndef __ARMEB__
-+    {
-+      /* Byte swap all words containing data from the buffer. */
-+      unsigned long *p = (unsigned long*)((unsigned)skb->data & ~0x3);
-+      unsigned long *e = (unsigned long*)(((unsigned)skb->data + skb->len + 3) & ~0x3);
-+      while (p < e)
-+          *p = ntohl(*p), ++p;
-+    }
-+#endif
-+
- #ifdef DEBUG_DUMP
-     skb_dump("tx", skb);
- #endif
-@@ -2120,6 +2346,7 @@
- static int do_dev_open(struct net_device *dev)
- {
-     int res;
-+    TRACE;
-     /* prevent the maintenance task from running while bringing up port */
-     down(maintenance_mutex);
-@@ -2151,6 +2378,27 @@
- }
- static void
-+dev_tx_timeout_work(void* arg)
-+{
-+    struct net_device *dev = (struct net_device *)arg;
-+    priv_data_t *priv = dev->priv;
-+
-+    P_ERROR("%s: Tx Timeout for port %d\n", dev->name, priv->port_id);
-+
-+    down(maintenance_mutex);
-+    port_disable(dev);
-+
-+    /* Note to user: Consider performing other reset operations here (such as
-+     * PHY reset), if it is known to help the Tx Flow to become "unstuck"
-+     */
-+
-+    port_enable(dev);
-+    up(maintenance_mutex);
-+}
-+
-+
-+
-+static void
- dev_tx_timeout_task(void *dev_id)
- {
-     struct net_device *dev = (struct net_device *)dev_id;
-@@ -2191,7 +2439,7 @@
-     priv_data_t *priv = dev->priv;
-     TRACE;
--    schedule_task(&priv->tq_timeout);
-+    queue_work(npe_eth_workqueue, &priv->tx_timeout_job);
-     
- }
-@@ -2352,7 +2600,8 @@
-     TRACE;
--    invalidate_dcache_range((unsigned int)&ethStats, sizeof(ethStats));
-+    //    invalidate_dcache_range((unsigned int)&ethStats, sizeof(ethStats));
-+    IX_ACC_DATA_CACHE_INVALIDATE((unsigned int)&ethStats, sizeof(ethStats));
-     if ((res = ixEthAccMibIIStatsGetClear(priv->port_id, &ethStats)))
-     {
-       P_ERROR("%s: ixEthAccMibIIStatsGet failed for port %d, res = %d\n",
-@@ -2565,7 +2814,6 @@
-     miiAccessMutex = (struct semaphore *) kmalloc(sizeof(struct semaphore), GFP_KERNEL);
-     if (!miiAccessMutex)
-       return -ENOMEM;
--
-     init_MUTEX(miiAccessMutex);
-     TRACE;
-@@ -2673,12 +2921,12 @@
- }
- /* set port MAC addr and update the dev struct if successfull */
--int dev_set_mac_address(struct net_device *dev, void *addr)
-+int dev_set_mac_address(struct net_device *dev, struct sockaddr *saddr)
- {
-     int res;
-     priv_data_t *priv = dev->priv;
-     IxEthAccMacAddr npeMacAddr;
--    struct sockaddr *saddr = (struct sockaddr *)addr;
-+    //    struct sockaddr *saddr = (struct sockaddr *)addr;
-     /* Get MAC addr from parameter */
-     memcpy(&npeMacAddr.macAddress,
-@@ -2751,35 +2999,16 @@
- /* Initialize device structs.
-  * Resource allocation is deffered until do_dev_open
-  */
--static int __devinit dev_eth_probe(struct net_device *dev)
-+static int __devinit dev_eth_probe(struct device *_dev)
- {
--    static int found_devices = 0;
--    priv_data_t *priv;
-+    int res = -ENOMEM;
-+    struct platform_device *pdev = to_platform_device(_dev);
-+    struct net_device *ndev = dev_get_drvdata(_dev);
-+    priv_data_t *priv = (priv_data_t*)ndev->priv;
-     TRACE;
--    /* there is a limited number of devices */
--    if (found_devices >= dev_max_count) /* module parameter */
--      return -ENODEV;
--
--    SET_MODULE_OWNER(dev);
--
--    /* set device name */
--    sprintf(dev->name, DEVICE_NAME "%d", found_devices);
--
--    /* allocate and initialize priv struct */
--    priv = dev->priv = kmalloc(sizeof(priv_data_t), GFP_KERNEL);
--    if (dev->priv == NULL)
--      return -ENOMEM;
--
--    memset(dev->priv, 0, sizeof(priv_data_t));
--
--    TRACE;
--
--    /* set the mapping between port ID and devices 
--     * 
--     */
--    priv->port_id  = default_portId[found_devices];
-+    priv->port_id = pdev->id;
-     TRACE;
-@@ -2789,9 +3018,8 @@
-     if(priv->rx_pool == NULL)
-     {
-       P_ERROR("%s: Buffer RX Pool init failed on port %d\n",
--              dev->name, priv->port_id);
--      kfree(dev->priv);
--      return -ENOMEM;
-+              ndev->name, priv->port_id);
-+      goto out;
-     }
-     TRACE;
-@@ -2802,45 +3030,45 @@
-     if(priv->tx_pool == NULL)
-     {
-       P_ERROR("%s: Buffer TX Pool init failed on port %d\n",
--              dev->name, priv->port_id);
--      kfree(dev->priv);
--      return -ENOMEM;
-+              ndev->name, priv->port_id);
-+      goto out;
-     }
--     TRACE;
--
-    /* initialise the MII register access mutex */
-     priv->maintenanceCheckThreadComplete = (struct semaphore *)
-       kmalloc(sizeof(struct semaphore), GFP_KERNEL);
-     if (!priv->maintenanceCheckThreadComplete)
-     {
--      kfree(dev->priv);
--      return -ENOMEM;
-+      P_ERROR("%s: Failed to allocate maintenance semaphore %d\n",
-+              ndev->name, priv->port_id);
-+      goto out;
-     }
-     priv->lock = SPIN_LOCK_UNLOCKED;
-     init_MUTEX(priv->maintenanceCheckThreadComplete);
-     priv->maintenanceCheckStopped = TRUE;
-     /* initialize ethernet device (default handlers) */
--    ether_setup(dev);
-+    ether_setup(ndev);
-     TRACE;
--     /* fill in dev struct callbacks with customized handlers */
--    dev->open = do_dev_open;
--    dev->stop = do_dev_stop;
-+    INIT_WORK(&priv->mii_job, dev_media_check_work, ndev);
-+    INIT_WORK(&priv->tx_timeout_job, dev_tx_timeout_work, ndev);
--    dev->hard_start_xmit = dev_hard_start_xmit;
--
--    dev->watchdog_timeo = DEV_WATCHDOG_TIMEO;
--    dev->tx_timeout = dev_tx_timeout;
--    dev->change_mtu = dev_change_mtu;
--    dev->do_ioctl = do_dev_ioctl;
--    dev->get_stats = dev_get_stats;
--    dev->set_multicast_list = dev_set_multicast_list;
--    dev->flags |= IFF_MULTICAST;
-+    TRACE;
--    dev->set_mac_address = dev_set_mac_address;
-+     /* fill in dev struct callbacks with customized handlers */
-+    ndev->open = do_dev_open;
-+    ndev->stop = do_dev_stop;
-+    ndev->hard_start_xmit = dev_hard_start_xmit;
-+    ndev->watchdog_timeo = DEV_WATCHDOG_TIMEO;
-+    ndev->tx_timeout = dev_tx_timeout;
-+    ndev->change_mtu = dev_change_mtu;
-+    ndev->do_ioctl = do_dev_ioctl;
-+    ndev->get_stats = dev_get_stats;
-+    ndev->set_multicast_list = dev_set_multicast_list;
-+    ndev->flags |= IFF_MULTICAST;
-+    ndev->set_mac_address = dev_set_mac_address;
-     TRACE;
-@@ -2858,22 +3086,22 @@
-      *
-      */
--    memcpy(dev->dev_addr, 
-+    memcpy(ndev->dev_addr, 
-          &default_mac_addr[priv->port_id].macAddress,
-          IX_IEEE803_MAC_ADDRESS_SIZE);
-     /* possibly remove this test and the message when a valid MAC address 
-      * is not hardcoded in the driver source code. 
-      */
--    if (is_valid_ether_addr(dev->dev_addr))
-+    if (is_valid_ether_addr(ndev->dev_addr))
-     {
-       P_WARN("Use default MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
--             (unsigned)dev->dev_addr[0],
--             (unsigned)dev->dev_addr[1],
--             (unsigned)dev->dev_addr[2],
--             (unsigned)dev->dev_addr[3],
--             (unsigned)dev->dev_addr[4],
--             (unsigned)dev->dev_addr[5],
-+             (unsigned)ndev->dev_addr[0],
-+             (unsigned)ndev->dev_addr[1],
-+             (unsigned)ndev->dev_addr[2],
-+             (unsigned)ndev->dev_addr[3],
-+             (unsigned)ndev->dev_addr[4],
-+             (unsigned)ndev->dev_addr[5],
-              priv->port_id);
-     }
-     
-@@ -2883,31 +3111,30 @@
-      */
-     TRACE;
--    dev_change_msdu(dev, dev->mtu + dev->hard_header_len + VLAN_HDR);
--
-+    dev_change_msdu(ndev, ndev->mtu + ndev->hard_header_len + VLAN_HDR);
-+#if 0
-     priv->tq_timeout.routine = dev_tx_timeout_task;
-     priv->tq_timeout.data = (void *)dev;
--
-+#endif
- #ifdef CONFIG_IXP400_ETH_QDISC_ENABLED
-     /* configure and enable a fast TX queuing discipline */
-     TRACE;
--    priv->qdisc = qdisc_create_dflt(dev, &dev_qdisc_ops);
--    dev->qdisc_sleeping = priv->qdisc;
--    dev->qdisc = priv->qdisc;
-+    priv->qdisc = qdisc_create_dflt(ndev, &dev_qdisc_ops);
-+    ndev->qdisc_sleeping = priv->qdisc;
-+    ndev->qdisc = priv->qdisc;
-     
--    if (!dev->qdisc_sleeping)
-+    if (!ndev->qdisc_sleeping)
-     {
-       P_ERROR("%s: qdisc_create_dflt failed on port %d\n",
--              dev->name, priv->port_id);
--      kfree(dev->priv);
--      return -ENOMEM;
-+              ndev->name, priv->port_id);
-+      goto out;
-     }
- #endif
-     /* set the internal maximum queueing capabilities */
--    dev->tx_queue_len = TX_MBUF_POOL_SIZE;
--
-+    ndev->tx_queue_len = TX_MBUF_POOL_SIZE;
-+#if 0
-     if (!netif_queue_stopped(dev))
-     {
-       TRACE;
-@@ -2917,9 +3144,63 @@
-     }
-     found_devices++;
-+#endif
-+    if ((res = register_netdev(ndev)))
-+      P_ERROR("Failed to register netdev. res = %d\n", res);
-     TRACE;
-+ out: 
-+    return res;
-+}
-+
-+
-+static int __devinit npe_eth_init_device(struct device *dev)
-+{
-+    int res = -ENOMEM;
-+    struct platform_device *pdev = to_platform_device(dev);
-+    struct net_device *ndev = alloc_etherdev(sizeof(priv_data_t));
-+    TRACE;
-+    if (ndev == NULL) {
-+        P_ERROR("could not allocate device.\n");
-+        goto out;
-+    }
-+    SET_MODULE_OWNER(ndev);
-+    SET_NETDEV_DEV(ndev, dev);
-+    ixEthAccTxSchedulingDisciplineSet(pdev->id, FIFO_NO_PRIORITY);
-+    dev_set_drvdata(dev, ndev);
-+    res = dev_eth_probe(dev);
-+    if (res == 0) {
-+        /* This was added in v0.1.8 of the driver. It seems that we need to
-+         * enable the port before the user can set a mac address for the port
-+         * using 'ifconfig hw ether ...'. To enable the port we must first
-+         * register Q callbacks, so we register the portDisable callbacks to
-+         * ensure that no buffers are passed up to the kernel until the port is
-+         * brought up properly (ifconfig up)
-+         */
-+        ixEthAccPortTxDoneCallbackRegister(pdev->id,
-+                                           tx_done_disable_cb,
-+                                           (UINT32)ndev);
-+        ixEthAccPortRxCallbackRegister(pdev->id, 
-+                                       rx_disable_cb, 
-+                                       (UINT32)ndev);
-+        port_enable(ndev);
-+    } else {
-+        dev_set_drvdata(dev, NULL);
-+        kfree(ndev);
-+    }
-+out:
-+    TRACE;
-+    return res;
-+}
-+ 
-+static int __devexit npe_eth_fini_device(struct device *dev)
-+{
-+    struct net_device *ndev = dev_get_drvdata(dev);
-+    TRACE;
-+    dev_set_drvdata(dev, NULL);
-+    unregister_netdev(ndev);
-+    kfree(ndev);
-     return 0;
- }
-@@ -2928,6 +3209,28 @@
- #ifdef MODULE
-+#define MODULE_NAME "ixp400_eth"
-+
-+static struct device_driver npe_eth_driver = {
-+    .name       = MODULE_NAME,
-+    .bus        = &platform_bus_type,
-+    .probe      = npe_eth_init_device,
-+    .remove     = npe_eth_fini_device,
-+};
-+ 
-+static struct platform_device npe_eth_devs[] = {
-+    {
-+        .name   = MODULE_NAME,
-+        .id     = IX_ETH_PORT_1,
-+    },
-+    {
-+        .name   = MODULE_NAME,
-+        .id     = IX_ETH_PORT_2,
-+    }
-+};
-+ 
-+
-+
- static struct net_device ixp400_devices[IX_ETH_ACC_NUMBER_OF_PORTS];
- int init_module(void)
-@@ -2935,11 +3238,11 @@
-     int res, dev_count;
-     IxEthAccPortId portId;
-     struct net_device *dev;
--
-+    int i;
-     TRACE;
--    P_INFO("Initializing IXP400 NPE Ethernet driver software v. " MODULE_VERSION " \n");
--
-+    P_INFO("Initializing IXP400 NPE Ethernet driver software v. LE  \n");
-+    ixOsalLogLevelSet(IX_OSAL_LOG_LVL_ALL);
-     TRACE;
-     /* check module parameter range */
-@@ -2951,6 +3254,16 @@
-     TRACE;
-+    /* XXX do this very early */
-+    /* initialise the DB Maintenance task mutex */
-+    maintenance_mutex = (struct semaphore *) kmalloc(sizeof(struct semaphore), GFP_KERNEL);
-+    if (!maintenance_mutex)
-+      return -ENOMEM;
-+
-+    init_MUTEX(maintenance_mutex);
-+
-+    TRACE;
-+
- #ifndef DEBUG
-     /* check module parameter range */
-     if (log_level >= 2)  /* module parameter */
-@@ -3015,6 +3328,13 @@
-     /* Initialise the NPEs and access layer */
-     TRACE;
-+    for (i = 0; i < IX_ETH_ACC_NUMBER_OF_PORTS; i++)
-+    {
-+      if ((res = npe_start(i)))
-+          return res;
-+        TRACE;
-+    }
-+
-     if ((res = ethacc_init()))
-       return res;
-@@ -3026,6 +3346,13 @@
-     TRACE;
-+    npe_eth_workqueue = create_workqueue(MODULE_NAME);
-+    if (npe_eth_workqueue == NULL)
-+      return -ENOMEM;
-+
-+    TRACE;
-+
-+#if 0
-     /* Initialise the driver structure */
-     for (dev_count = 0; 
-        dev_count < dev_max_count;  /* module parameter */
-@@ -3038,7 +3365,7 @@
-       dev->init = dev_eth_probe;
-         TRACE;
--
-+    }
-       if ((res = register_netdev(dev)))
-       {
-           TRACE;
-@@ -3068,6 +3395,35 @@
-           return convert_error_ethAcc(res);
-       }
-     }
-+#endif
-+    /* set the softirq rx queue thresholds 
-+     * (These numbers are based on tuning experiments)
-+     * maxbacklog =  (netdev_max_backlog * 10) / 63;
-+    */
-+    if (netdev_max_backlog == 0)
-+    {
-+      netdev_max_backlog = 290; /* system default */
-+    }
-+    netdev_max_backlog /= BACKLOG_TUNE;
-+
-+    TRACE;
-+
-+    res = driver_register(&npe_eth_driver);
-+    if (res != 0) {
-+        P_ERROR("Failed to register NPE EThernet driver (res = %d)\n", res);
-+        return res;
-+    }
-+ 
-+    res = platform_device_register(&npe_eth_devs[0]);
-+    if (res != 0) {
-+        P_ERROR("Failed to register NPE platform device 0 (res = %d)\n", res);
-+        return res;
-+    }
-+    res = platform_device_register(&npe_eth_devs[1]);
-+    if (res != 0) {
-+        P_ERROR("Failed to register NPE platform device 1 (res = %d)\n", res);
-+        return res;
-+    }
-     TRACE;
-@@ -3104,33 +3460,13 @@
-     }
-     TRACE;
--
--    /* initialise the DB Maintenance task mutex */
--    maintenance_mutex = (struct semaphore *) kmalloc(sizeof(struct semaphore), GFP_KERNEL);
--    if (!maintenance_mutex)
--      return -ENOMEM;
--
--    init_MUTEX(maintenance_mutex);
--
--    TRACE;
--
-+TRACE;
-     /* Do not start the EthDB maintenance thread if learning & filtering feature is disabled */
-     if (npe_learning) /* module parameter */
-     {
--        maintenance_timer_set();
--    }
--
--    TRACE;
--
--    /* set the softirq rx queue thresholds 
--     * (These numbers are based on tuning experiments)
--     * maxbacklog =  (netdev_max_backlog * 10) / 63;
--    */
--    if (netdev_max_backlog == 0)
--    {
--      netdev_max_backlog = 290; /* system default */
-+      schedule_db_maintenance();
-+      //        maintenance_timer_set();
-     }
--    netdev_max_backlog /= BACKLOG_TUNE;
-     TRACE;
-@@ -3175,7 +3511,8 @@
-     TRACE;
-     /* stop the maintenance timer */
--    maintenance_timer_clear();
-+    //    maintenance_timer_clear();
-+    cancel_db_maintenance();
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.4/makefile.patch b/recipes/ixp425-eth/ixp400-eth-1.4/makefile.patch
deleted file mode 100644 (file)
index 350485c..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
---- /dev/null  2005-09-06 00:17:15.000000000 -0700
-+++ ./Makefile 2005-10-02 22:15:19.974595551 -0700
-@@ -0,0 +1,30 @@
-+obj-m := ixp400_eth.o
-+
-+CFLAGS_ixp400_eth.o = -DWall \
-+          -I$(IXP4XX_CSR_DIR) \
-+          -I$(OSAL_DIR)/ \
-+          -I$(OSAL_DIR)/os/linux/include/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/ioMem/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/core/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/bufferMgt/ \
-+          -I$(OSAL_DIR)/os/linux/include/core/  \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ \
-+          -I$(OSAL_DIR)/os/linux/include/core/ \
-+          -I$(OSAL_DIR)/include/ \
-+          -I$(OSAL_DIR)/include/modules/ \
-+          -I$(OSAL_DIR)/include/modules/bufferMgt/ \
-+          -I$(OSAL_DIR)/include/modules/ioMem/ \
-+          -I$(OSAL_DIR)/include/modules/core/ \
-+          -I$(OSAL_DIR)/include/platforms/ \
-+          -I$(OSAL_DIR)/include/platforms/ixp400/ \
-+          -I$(OSAL_DIR)/include/platforms/ixp400/xp425/ \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ixp425/ \
-+        $(IX_CFLAGS)
-+
-+default:
-+      $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) V=1 -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
-+
-+clean:
-+      rm -f ixp400_eth.ko
diff --git a/recipes/ixp425-eth/ixp400-eth-1.4/modprobe.conf b/recipes/ixp425-eth/ixp400-eth-1.4/modprobe.conf
deleted file mode 100644 (file)
index 9d579ee..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-# Add an alias for eth0 to ixp400_eth to cause the S40networking
-# init script to load the ixp400_eth driver on the first boot
-alias eth0 ixp400_eth
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/2.6.14.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/2.6.14.patch
deleted file mode 100644 (file)
index fb55f92..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
- ixp400_eth.c |    6 +++++-
- 1 files changed, 5 insertions(+), 1 deletion(-)
-
-Index: ixp400-eth-1.5.1-r0/ixp400_eth.c
-===================================================================
---- ixp400-eth-1.5.1-r0.orig/ixp400_eth.c
-+++ ixp400-eth-1.5.1-r0/ixp400_eth.c
-@@ -1848,7 +1848,11 @@
-     skb->len -= header_len;
-    
-     /* fill the pkt arrival time (set at the irq callback entry) */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-     skb->stamp = irq_stamp;
-+#else
-+    skb_set_timestamp(skb, &irq_stamp);
-+#endif
-  
-     /* fill the input device field */
-     skb->dev = dev;
-@@ -3040,7 +3044,7 @@
- }
- /* set port MAC addr and update the dev struct if successfull */
--int ixp400_dev_set_mac_address(struct net_device *dev, void *addr)
-+static int ixp400_dev_set_mac_address(struct net_device *dev, void *addr)
- {
-     int res;
-     IxEthAccMacAddr npeMacAddr;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/2.6.15.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/2.6.15.patch
deleted file mode 100644 (file)
index 83115d8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-2.6.15 needs platform_device.h
-
- ixp400_eth.c |    4 ++++
- 1 file changed, 4 insertions(+)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -65,6 +65,10 @@
- #include <linux/sysctl.h>
- #include <linux/unistd.h>
-+#ifndef to_platform_device
-+#include <linux/platform_device.h>
-+#endif
-+
- /*
-  * Intel IXP400 Software specific header files
-  */
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/Makefile.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/Makefile.patch
deleted file mode 100644 (file)
index 3bc51f0..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-This is an OpenEmbedded only patch to make the code buildable in
-the OpenEmbedded environment.
-
---- ixp400-eth/Makefile        1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/Makefile        1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,30 @@
-+obj-m := ixp400_eth.o
-+
-+CFLAGS_ixp400_eth.o = -DWall \
-+          -I$(IXP4XX_CSR_DIR) \
-+          -I$(OSAL_DIR)/ \
-+          -I$(OSAL_DIR)/os/linux/include/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/ioMem/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/core/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/bufferMgt/ \
-+          -I$(OSAL_DIR)/os/linux/include/core/  \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ \
-+          -I$(OSAL_DIR)/os/linux/include/core/ \
-+          -I$(OSAL_DIR)/include/ \
-+          -I$(OSAL_DIR)/include/modules/ \
-+          -I$(OSAL_DIR)/include/modules/bufferMgt/ \
-+          -I$(OSAL_DIR)/include/modules/ioMem/ \
-+          -I$(OSAL_DIR)/include/modules/core/ \
-+          -I$(OSAL_DIR)/include/platforms/ \
-+          -I$(OSAL_DIR)/include/platforms/ixp400/ \
-+          -I$(OSAL_DIR)/include/platforms/ixp400/xp425/ \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ixp425/ \
-+        $(IX_CFLAGS)
-+
-+default:
-+      $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) $(KERNEL_VERBOSE) symverfile=$(IXP4XX_CSR_SYMVERS) -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
-+
-+clean:
-+      rm -f ixp400_eth.ko
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/continue-if-qmgr-init-fails.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/continue-if-qmgr-init-fails.patch
deleted file mode 100644 (file)
index 8508790..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-tries to go on even if queue manager initialization
-fails. this is hand because you'll be allowed to
-insert ixp400_eth immediately after you have removed
-it, without re-inserting ixp400.
-
- ixp400_eth.c |    5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -2850,10 +2850,7 @@ static int qmgr_init(void)
-     /* Initialise Queue Manager */
-     P_VERBOSE("Initialising Queue Manager...\n");
-     if ((res = ixQMgrInit()))
--    {
--      P_ERROR("Error initialising queue manager!\n");
--      return -1;
--    }
-+      P_ERROR("Error initialising queue manager, trying to continue!\n");
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/debug.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/debug.patch
deleted file mode 100644 (file)
index c684c07..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-This patch is not necessary but helps when debugging the build
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -1350,9 +1350,10 @@ static int dev_media_check_thread (void*
-       
-           if (res != IX_ETH_ACC_SUCCESS)
-           {
--              P_WARN("ixEthMiiLinkStatus failed on PHY%d.\n"
-+              P_WARN("%s: ixEthMiiLinkStatus failed on PHY%d.\n"
-                      "\tCan't determine\nthe auto negotiated parameters. "
-                      "Using default values.\n",
-+                     dev->name,
-                      phyNum); 
-               /* something is bad, gracefully stops the loop */
-               priv->maintenanceCheckStopped = TRUE;
-@@ -2213,7 +2214,8 @@ static int port_enable(struct net_device
-          IX_IEEE803_MAC_ADDRESS_SIZE);
-     if ((res = ixEthAccPortUnicastMacAddressSet(priv->port_id, &npeMacAddr)))
-     {
--        P_VERBOSE("Failed to set MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+        P_VERBOSE("%s: Failed to set MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+             dev->name,
-              (unsigned)npeMacAddr.macAddress[0],
-              (unsigned)npeMacAddr.macAddress[1],
-              (unsigned)npeMacAddr.macAddress[2],
-@@ -2707,8 +2709,8 @@ static int do_dev_ioctl(struct net_devic
-           down (miiAccessMutex);     /* lock the MII register access mutex */
-           if ((res = ixEthAccMiiReadRtn (data->phy_id, data->reg_num, &data->val_out)))
-           {
--              P_ERROR("Error reading MII reg %d on phy %d\n",
--                     data->reg_num, data->phy_id);
-+              P_ERROR("%s: Error reading MII reg %d on phy %d\n",
-+                     dev->name, data->reg_num, data->phy_id);
-               res = -1;
-           }
-           up (miiAccessMutex);        /* release the MII register access mutex */
-@@ -2720,8 +2722,8 @@ static int do_dev_ioctl(struct net_devic
-           down (miiAccessMutex);     /* lock the MII register access mutex */
-           if ((res = ixEthAccMiiWriteRtn (data->phy_id, data->reg_num, data->val_in)))
-           {
--              P_ERROR("Error writing MII reg %d on phy %d\n",
--                        data->reg_num, data->phy_id);
-+              P_ERROR("%s: Error writing MII reg %d on phy %d\n",
-+                        dev->name, data->reg_num, data->phy_id);
-               res = -1;
-           }
-           up (miiAccessMutex);        /* release the MII register access mutex */
-@@ -3049,7 +3051,8 @@ static int set_mac_address(struct net_de
-     /* Set MAC addr in h/w (ethAcc checks for MAC address to be valid) */
-     if ((res = ixEthAccPortUnicastMacAddressSet(priv->port_id, &npeMacAddr)))
-     {
--        P_VERBOSE("Failed to set MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+        P_VERBOSE("%s: Failed to set MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+             dev->name,
-              (unsigned)npeMacAddr.macAddress[0],
-              (unsigned)npeMacAddr.macAddress[1],
-              (unsigned)npeMacAddr.macAddress[2],
-@@ -3267,6 +3270,8 @@ static int __devinit dev_eth_probe(struc
-       kmalloc(sizeof(struct semaphore), GFP_KERNEL);
-     if (!priv->maintenanceCheckThreadComplete)
-     {
-+      P_ERROR("%s: Failed to allocate maintenance semaphore %d\n",
-+              ndev->name, priv->port_id);
-       goto error;
-     }
-     priv->lock = SPIN_LOCK_UNLOCKED;
-@@ -3360,7 +3365,11 @@ static int __devinit dev_eth_probe(struc
- #if IS_KERNEL26
-     if (register_netdev(ndev))
-+    {
-+      P_ERROR("%s: Failed to register netdevice %d\n",
-+              ndev->name, priv->port_id);
-       goto error;
-+    }
- #else
-     found_devices++;
- #endif /* IS_KERNEL26 */
-@@ -3370,6 +3379,8 @@ static int __devinit dev_eth_probe(struc
-     /* register EthAcc callbacks for this port */
-     if (dev_rxtxcallback_register(portId, (UINT32)ndev))
-     {
-+      P_ERROR("%s: Failed to register callback %d\n",
-+              ndev->name, priv->port_id);
-       goto error;
-     }
-@@ -3393,6 +3404,7 @@ static int __devinit dev_eth_probe(struc
- /* Error handling: enter here whenever error detected */
- error:
-+    P_ERROR("%s: dev_eth_probe fails\n", ndev->name);
-     TRACE;
- #ifdef CONFIG_IXP400_ETH_QDISC_ENABLED
-@@ -3465,21 +3477,21 @@ static int __devexit dev_eth_remove(int 
-       {
-           if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEA))
-           {
--              P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
-+              P_NOTICE("%s: Error Halting NPE for Ethernet port %d!\n", ndev->name, portId);
-           }
-       }
-       if (default_npeImageId[portId] == IX_ETH_NPE_B_IMAGE_ID)
-       {
-           if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEB))
-           {
--              P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
-+              P_NOTICE("%s: Error Halting NPE for Ethernet port %d!\n", ndev->name, portId);
-           }
-       }
-       if (default_npeImageId[portId] == IX_ETH_NPE_C_IMAGE_ID)
-       {
-           if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEC))
-           {
--              P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
-+              P_NOTICE("%s: Error Halting NPE for Ethernet port %d!\n", ndev->name, portId);
-           }
-       }
-@@ -3528,6 +3540,9 @@ static int __init ixp400_eth_init(void)
-     TRACE;
-     P_INFO("Initializing IXP400 NPE Ethernet driver software v. " MOD_VERSION " \n");
-+#ifdef IX_OSAL_ENSURE_ON
-+    ixOsalLogLevelSet(IX_OSAL_LOG_LVL_ALL);
-+#endif
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/device-name.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/device-name.patch
deleted file mode 100644 (file)
index 492c927..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
- register the ethernet devices as ethX
-
- ixp400_eth.c |   12 +++---------
- 1 files changed, 3 insertions(+), 9 deletions(-)
-
-Index: ixp400-eth-1.5.1-r0/ixp400_eth.c
-===================================================================
---- ixp400-eth-1.5.1-r0.orig/ixp400_eth.c
-+++ ixp400-eth-1.5.1-r0/ixp400_eth.c
-@@ -160,9 +160,6 @@
- MODULE_PARM(dev_max_count, "i");
- MODULE_PARM_DESC(dev_max_count, "Number of devices to initialize");
--/* devices will be called ixp0 and ixp1 */
--#define DEVICE_NAME "ixp"
--
- /* boolean values for PHY link speed, duplex, and autonegotiation */
- #define PHY_SPEED_10    0
- #define PHY_SPEED_100   1
-@@ -1579,7 +1576,7 @@
-     if (request_irq(IX_OSAL_IXP400_XSCALE_PMU_IRQ_LVL,
-                     dev_pmu_timer_os_isr,
-                     SA_SHIRQ,
--                    DEVICE_NAME,
-+                    MODULE_NAME,
-                     (void *)IRQ_ANY_PARAMETER))
-     {
-         P_ERROR("Failed to reassign irq to PMU timer interrupt!\n");
-@@ -3035,8 +3032,8 @@
-       if (port_id == IX_ETH_PORT_2) npe_id = "C";
-       if (port_id == IX_ETH_PORT_3) npe_id = "A";
--      P_INFO("%s%d is using NPE%s and the PHY at address %d\n",
--             DEVICE_NAME, port_id, npe_id, phyAddresses[port_id]);
-+      P_INFO("ethernet %d is using NPE%s and the PHY at address %d\n",
-+             dev_count, npe_id, phyAddresses[port_id]);
-       /* Set the MAC to the same duplex mode as the phy */
-       ixEthAccPortDuplexModeSet(port_id,
-@@ -3244,9 +3241,6 @@
-     /* set the private port ID */
-     priv->port_id  = portId;
--    /* set device name */
--    sprintf(ndev->name, DEVICE_NAME"%d", priv->port_id);
--
-     TRACE;
-     /* initialize RX pool */
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/int-random.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/int-random.patch
deleted file mode 100644 (file)
index fede9da..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-use the ethernet device interrupts to gather entropy
-
- ixp400_eth.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -2864,7 +2864,7 @@ static int qmgr_init(void)
-     if (request_irq(IX_OSAL_IXP400_QM1_IRQ_LVL,
-                     dev_qmgr_os_isr,
--                    SA_SHIRQ,
-+                    SA_SHIRQ | SA_SAMPLE_RANDOM,
-                     MODULE_NAME,
-                     (void *)IRQ_ANY_PARAMETER))
-     {
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/le.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/le.patch
deleted file mode 100644 (file)
index 3d56901..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-little endian support
-
- ixp400_eth.c |   20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -2040,6 +2040,16 @@ static void rx_cb(UINT32 callbackTag, IX
-       skb->tail = skb->data + len;
-       skb->len = len;
-       
-+#ifndef __ARMEB__
-+      {
-+          /* Byte swap all words containing data from the buffer. */
-+          unsigned long *p = (unsigned long*)((unsigned)skb->data & ~0x3);
-+          unsigned long *e = (unsigned long*)(((unsigned)skb->data + skb->len + 3) & ~0x3);
-+          while (p < e)
-+              *p = ntohl(*p), ++p;
-+      }
-+#endif
-+
- #ifdef DEBUG_DUMP
-       skb_dump("rx", skb);
- #endif
-@@ -2431,6 +2441,16 @@ static int dev_hard_start_xmit(struct sk
-       return 0;
-     }
-+#ifndef __ARMEB__
-+    {
-+      /* Byte swap all words containing data from the buffer. */
-+      unsigned long *p = (unsigned long*)((unsigned)skb->data & ~0x3);
-+      unsigned long *e = (unsigned long*)(((unsigned)skb->data + skb->len + 3) & ~0x3);
-+      while (p < e)
-+          *p = ntohl(*p), ++p;
-+    }
-+#endif
-+
- #ifdef DEBUG_DUMP
-     skb_dump("tx", skb);
- #endif
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/mac-address.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/mac-address.patch
deleted file mode 100644 (file)
index e23eaf5..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-Patch to use maclist - get the MAC to use from the board level
-MAC repository based on the device portId.
-
-Signed-off-by: John Bowler <jbowler@acm.org>
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -23,10 +23,10 @@
-  * This driver is written and optimized for Intel Xscale technology.
-  *
-  * SETUP NOTES:
-- * By default, this driver uses predefined MAC addresses.
-- * These are set in global var 'default_mac_addr' in this file.
-- * If required, these can be changed at run-time using
-- * the 'ifconfig' tool.
-+ * By default, this driver uses MAC addresses from maclist, if
-+ * these are not available the kernel api to randomly generate
-+ * a locally assigned MAC address is used.  The MAC can be
-+ * overridden with ifconfig if absolutely necessary.
-  *
-  * Example - to set ixp0 MAC address to 00:02:B3:66:88:AA, 
-  * run ifconfig with the following arguments:
-@@ -64,6 +64,7 @@
- #include <linux/sysctl.h>
- #include <linux/unistd.h>
- #include <linux/version.h>
-+#include <net/maclist.h>
- #if KERNEL_VERSION(2,6,0) <= LINUX_VERSION_CODE
- #include <linux/workqueue.h>
-@@ -130,6 +131,8 @@ static int dev_max_count = 1; /* only NP
- static int dev_max_count = 2; /* only NPEB and NPEC */
- #elif defined (CONFIG_ARCH_IXDP465) || defined(CONFIG_MACH_IXDP465)
- static int dev_max_count = 3; /* all NPEs are used */
-+#else
-+static int dev_max_count = -1;/* use maclist_count */
- #endif
- #ifndef CONFIG_IXP400_NAPI
-@@ -614,21 +617,6 @@ static phy_cfg_t default_phy_cfg[] =
- #endif
- };
--/* Default MAC addresses for EthAcc Ports 1 and 2 (using Intel MAC prefix) 
-- * Default is 
-- *   IX_ETH_PORT_1 -> MAC 00:02:b3:01:01:01
-- *   IX_ETH_PORT_2 -> MAC 00:02:b3:02:02:02
-- *   IX_ETH_PORT_3 -> MAC 00:02:b3:03:03:03
--*/
--static IxEthAccMacAddr default_mac_addr[] =
--{
--    {{0x00, 0x02, 0xB3, 0x01, 0x01, 0x01}}  /* EthAcc Port 0 */
--    ,{{0x00, 0x02, 0xB3, 0x02, 0x02, 0x02}} /* EthAcc Port 1 */
--#if defined (CONFIG_ARCH_IXDP465) || defined(CONFIG_MACH_IXDP465)
--    ,{{0x00, 0x02, 0xB3, 0x03, 0x03, 0x03}} /* EthAcc Port 2 */
--#endif
--};
--
- /* Default mapping of  NpeImageIds for EthAcc Ports 
-  * Default is 
-  *   IX_ETH_PORT_1 -> IX_ETH_NPE_B
-@@ -3325,28 +3313,10 @@ static int __devinit dev_eth_probe(struc
-     /* Defines the unicast MAC address
-      *
--     * Here is a good place to read a board-specific MAC address
--     * from a non-volatile memory, e.g. an external eeprom.
--     * 
--     * This memcpy uses a default MAC address from this
--     * source code.
--     *
--     * This can be overriden later by the (optional) command
--     *
--     *     ifconfig ixp0 ether 0002b3010101
--     *
-+     * The code reads from the maclist API.
-      */
--
--    memcpy(ndev->dev_addr, 
--         &default_mac_addr[priv->port_id].macAddress,
--         IX_IEEE803_MAC_ADDRESS_SIZE);
--
--    /* possibly remove this test and the message when a valid MAC address 
--     * is not hardcoded in the driver source code. 
--     */
--    if (is_valid_ether_addr(ndev->dev_addr))
--    {
--      P_WARN("Use default MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+    maclist_read((u8(*)[6])&ndev->dev_addr, priv->port_id);
-+    P_INFO("Use MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-              (unsigned)ndev->dev_addr[0],
-              (unsigned)ndev->dev_addr[1],
-              (unsigned)ndev->dev_addr[2],
-@@ -3354,7 +3324,6 @@ static int __devinit dev_eth_probe(struc
-              (unsigned)ndev->dev_addr[4],
-              (unsigned)ndev->dev_addr[5],
-              priv->port_id);
--    }
-     
-     /* Set/update the internal packet size 
-      * This can be overriden later by the command
-@@ -3562,12 +3531,15 @@ static int __init ixp400_eth_init(void)
-     TRACE;
--    /* check module parameter range */
--    if (dev_max_count == 0 || dev_max_count > IX_ETH_ACC_NUMBER_OF_PORTS)
--    {
--      P_ERROR("Number of ports supported is dev_max_count <= %d\n", IX_ETH_ACC_NUMBER_OF_PORTS);
--      return -1;
--    }
-+    /* fix dev_max_count to maclist_count - the actual number of
-+     * available MACs
-+     */
-+    if (dev_max_count <= 0 || (dev_max_count > maclist_count() && maclist_count() > 0))
-+          dev_max_count = maclist_count();
-+    if (dev_max_count <= 0)
-+          dev_max_count = 1;
-+    else if (dev_max_count > IX_ETH_ACC_NUMBER_OF_PORTS)
-+          dev_max_count = IX_ETH_ACC_NUMBER_OF_PORTS;
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/modprobe.conf b/recipes/ixp425-eth/ixp400-eth-1.5.1/modprobe.conf
deleted file mode 100644 (file)
index f08b9a4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# Add an alias for eth0 to ixp400_eth to cause the S40networking
-# init script to load the ixp400_eth driver on the first boot
-alias eth0 ixp400_eth
-options ixp400_eth dev_max_count=1
\ No newline at end of file
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/module-param.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/module-param.patch
deleted file mode 100644 (file)
index c54c45d..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
- ixp400_eth.c |   32 ++++++++++++++++++++++++++++++++
- 1 files changed, 32 insertions(+)
-
-Index: ixp400_eth/ixp400_eth.c
-===================================================================
---- ixp400_eth.orig/ixp400_eth.c
-+++ ixp400_eth/ixp400_eth.c
-@@ -142,22 +142,54 @@
- static int datapath_poll = 1;     /* default : rx/tx polling, not interrupt driven*/
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(ixp400_netdev_max_backlog, "i");
-+#else
-+module_param(ixp400_netdev_max_backlog, int, 0644);
-+#endif
- MODULE_PARM_DESC(ixp400_netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(datapath_poll, "i");
-+#else
-+module_param(datapath_poll, int, 0644);
-+#endif
- MODULE_PARM_DESC(datapath_poll, "If non-zero, use polling method for datapath instead of interrupts");
- #endif /* CONFIG_IXP400_NAPI */
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(npe_learning, "i");
-+#else
-+module_param(npe_learning, int, 0644);
-+#endif
- MODULE_PARM_DESC(npe_learning, "If non-zero, NPE MAC Address Learning & Filtering feature will be enabled");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(log_level, "i");
-+#else
-+module_param(log_level, int, 0644);
-+#endif
- MODULE_PARM_DESC(log_level, "Set log level: 0 - None, 1 - Verbose, 2 - Debug");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(no_ixp400_sw_init, "i");
-+#else
-+module_param(no_ixp400_sw_init, int, 0644);
-+#endif
- MODULE_PARM_DESC(no_ixp400_sw_init, "If non-zero, do not initialise Intel IXP400 Software Release core components");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(no_phy_scan, "i");
-+#else
-+module_param(no_phy_scan, int, 0644);
-+#endif
- MODULE_PARM_DESC(no_phy_scan, "If non-zero, use hard-coded phy addresses");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(phy_reset, "i");
-+#else
-+module_param(phy_reset, int, 0644);
-+#endif
- MODULE_PARM_DESC(phy_reset, "If non-zero, reset the phys");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(dev_max_count, "i");
-+#else
-+module_param(dev_max_count, int, 0644);
-+#endif
- MODULE_PARM_DESC(dev_max_count, "Number of devices to initialize");
- /* boolean values for PHY link speed, duplex, and autonegotiation */
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/netdev_max_backlog.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/netdev_max_backlog.patch
deleted file mode 100644 (file)
index 6891b6b..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
---- ixp400_eth/ixp400_eth.c~   2006-01-09 01:03:11.000000000 +1030
-+++ ixp400_eth/ixp400_eth.c    2006-01-09 01:05:27.000000000 +1030
-@@ -139,12 +139,12 @@
-  * skbuf to push into the linux stack, and avoid the performance degradations 
-  * during overflow.
-  */
--static int netdev_max_backlog = 290;
-+static int ixp400_netdev_max_backlog = 290;
- static int datapath_poll = 1;     /* default : rx/tx polling, not interrupt driven*/
--MODULE_PARM(netdev_max_backlog, "i");
--MODULE_PARM_DESC(netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
-+MODULE_PARM(ixp400_netdev_max_backlog, "i");
-+MODULE_PARM_DESC(ixp400_netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
- MODULE_PARM(datapath_poll, "i");
- MODULE_PARM_DESC(datapath_poll, "If non-zero, use polling method for datapath instead of interrupts");
- #endif /* CONFIG_IXP400_NAPI */
-@@ -213,7 +213,7 @@
-  * high traffic rates. To measure the maximum throughput between the
-  * ports of the driver,
-  * - Modify /proc/sys/net/core/netdev_max_backlog value in the kernel 
-- * - Adjust netdev_max_backlog=n in the driver's command line
-+ * - Adjust ixp400_netdev_max_backlog=n in the driver's command line
-  * in order to get the best rates depending on the testing tool 
-  * and the OS load.
-  *
-@@ -1997,7 +1997,7 @@
-     /* check if the system accepts more traffic and
-      * against chained mbufs 
-      */
--    if ((qlevel < netdev_max_backlog)
-+    if ((qlevel < ixp400_netdev_max_backlog)
-         && (IX_OSAL_MBUF_NEXT_PKT_IN_CHAIN_PTR(mbuf) == NULL))
- #else
-     /* check against chained mbufs
-@@ -3776,13 +3776,13 @@
- #ifndef CONFIG_IXP400_NAPI
-     /* set the softirq rx queue thresholds 
-      * (These numbers are based on tuning experiments)
--     * maxbacklog =  (netdev_max_backlog * 10) / 63;
-+     * maxbacklog =  (ixp400_netdev_max_backlog * 10) / 63;
-     */
--    if (netdev_max_backlog == 0)
-+    if (ixp400_netdev_max_backlog == 0)
-     {
--      netdev_max_backlog = 290; /* system default */
-+      ixp400_netdev_max_backlog = 290; /* system default */
-     }
--    netdev_max_backlog /= BACKLOG_TUNE;
-+    ixp400_netdev_max_backlog /= BACKLOG_TUNE;
-     TRACE;
- #endif
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/params.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/params.patch
deleted file mode 100644 (file)
index 86011de..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-*** ixp/ixp400_eth.c.orig      Wed Jun  7 21:31:59 2006
---- ixp/ixp400_eth.c   Fri Jun  9 14:55:18 2006
-***************
-*** 112,135 ****
-  #define MOD_VERSION "1.5"
-  
-  /* Module parameters */
-! static int npe_learning = 1;      /* default : NPE learning & filtering enable */
-! static int log_level = 0;         /* default : no log */
-! static int no_ixp400_sw_init = 0; /* default : init core components of the IXP400 Software */
-! static int no_phy_scan = 0;       /* default : do phy discovery */
-! static int phy_reset = 0;         /* default : mo phy reset */
-  
-  /* maximum number of ports supported by this driver ixp0, ixp1 ....
-   * The default is to configure all ports defined in EthAcc component
-  */
-  #ifdef CONFIG_IXP400_ETH_NPEC_ONLY
-! static int dev_max_count = 1; /* only NPEC is used */
-! #elif defined (CONFIG_IXP400_ETH_NPEB_ONLY)
-! static int dev_max_count = 1; /* only NPEB is used */
-  #elif defined (CONFIG_ARCH_IXDP425) || defined(CONFIG_ARCH_IXDPG425)\
-        || defined (CONFIG_ARCH_ADI_COYOTE)
-! static int dev_max_count = 2; /* only NPEB and NPEC */
-  #elif defined (CONFIG_ARCH_IXDP465) || defined(CONFIG_MACH_IXDP465)
-! static int dev_max_count = 3; /* all NPEs are used */
-  #endif
-  
-  #ifndef CONFIG_IXP400_NAPI
---- 112,136 ----
-  #define MOD_VERSION "1.5"
-  
-  /* Module parameters */
-! /* gcc 4.1.1+kernel2.6.16 do not like it if these are static! */
-! int npe_learning = 1;      /* default : NPE learning & filtering enable */
-! int log_level = 0;         /* default : no log */
-! int no_ixp400_sw_init = 0; /* default : init core components of the IXP400 Software */
-! int no_phy_scan = 0;       /* default : do phy discovery */
-! int phy_reset = 0;         /* default : mo phy reset */
-  
-  /* maximum number of ports supported by this driver ixp0, ixp1 ....
-   * The default is to configure all ports defined in EthAcc component
-  */
-  #ifdef CONFIG_IXP400_ETH_NPEC_ONLY
-! int dev_max_count = 1; /* only NPEC is used */
-! #elif defined (CONFIG_IXP400_ETH_NPEB_ONLY)
-! int dev_max_count = 1; /* only NPEB is used */
-  #elif defined (CONFIG_ARCH_IXDP425) || defined(CONFIG_ARCH_IXDPG425)\
-        || defined (CONFIG_ARCH_ADI_COYOTE)
-! int dev_max_count = 2; /* only NPEB and NPEC */
-  #elif defined (CONFIG_ARCH_IXDP465) || defined(CONFIG_MACH_IXDP465)
-! int dev_max_count = 3; /* all NPEs are used */
-  #endif
-  
-  #ifndef CONFIG_IXP400_NAPI
-***************
-*** 138,146 ****
-   * skbuf to push into the linux stack, and avoid the performance degradations 
-   * during overflow.
-   */
-! static int ixp400_netdev_max_backlog = 290;
-  
-! static int datapath_poll = 1;     /* default : rx/tx polling, not interrupt driven*/
-  
-  MODULE_PARM(ixp400_netdev_max_backlog, "i");
-  MODULE_PARM_DESC(ixp400_netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
---- 139,147 ----
-   * skbuf to push into the linux stack, and avoid the performance degradations 
-   * during overflow.
-   */
-! int ixp400_netdev_max_backlog = 290;
-  
-! int datapath_poll = 1;     /* default : rx/tx polling, not interrupt driven*/
-  
-  MODULE_PARM(ixp400_netdev_max_backlog, "i");
-  MODULE_PARM_DESC(ixp400_netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/poll-controller.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/poll-controller.patch
deleted file mode 100644 (file)
index 64fb310..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-poll controller support
-
- ixp400_eth.c |   22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -348,6 +348,12 @@ static int dev_pmu_timer_init(void);
- extern void 
- ixEthTxFrameDoneQMCallback(IxQMgrQId qId, IxQMgrCallbackId callbackId);
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/* poll controller (needed for netconsole et al) */
-+static void
-+ixp425eth_poll_controller(struct net_device *dev);
-+#endif
-+
- /* Private device data */
- typedef struct {
-     spinlock_t lock;  /* multicast management lock */
-@@ -3060,6 +3066,19 @@ static int set_mac_address(struct net_de
-     return 0;
- }
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/*
-+ * Polling receive - used by netconsole and other diagnostic tools
-+ * to allow network i/o with interrupts disabled.
-+ * (stolen from 8139too.c by siddy)
-+ */
-+static void ixp425eth_poll_controller(struct net_device *dev)
-+{
-+        disable_irq(dev->irq);
-+        dev_qmgr_os_isr(dev->irq, dev, NULL);
-+        enable_irq(dev->irq);
-+}
-+#endif
- /* 
-  *  TX QDISC
-@@ -3270,6 +3289,9 @@ static int __devinit dev_eth_probe(struc
-     ndev->get_stats = dev_get_stats;
-     ndev->set_multicast_list = dev_set_multicast_list;
-     ndev->flags |= IFF_MULTICAST;
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+    ndev->poll_controller = ixp425eth_poll_controller;
-+#endif
-     ndev->set_mac_address = set_mac_address;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5.1/stop-on-rmmod.patch b/recipes/ixp425-eth/ixp400-eth-1.5.1/stop-on-rmmod.patch
deleted file mode 100644 (file)
index 2ddc989..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-devices must be explicitely stopped when
-the driver is going do be removed, otherwise
-it will simply hang.
-
- ixp400_eth.c |   13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -3800,9 +3800,16 @@ void __exit ixp400_eth_exit(void)
-     TRACE;
--    /* We can only get here when the module use count is 0,
--     * so there's no need to stop devices.
--     */
-+    /* stop devices */
-+
-+#if IS_KERNEL26
-+    for (dev_count = 0;
-+       dev_count < dev_max_count;  /* module parameter */
-+       dev_count++)
-+    {
-+      do_dev_stop(platform_get_drvdata(&ixp400_eth_devices[dev_count]));
-+    }
-+#endif
-     if (no_ixp400_sw_init == 0) /* module parameter */
-     {
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/2.6.14.patch b/recipes/ixp425-eth/ixp400-eth-1.5/2.6.14.patch
deleted file mode 100644 (file)
index f3426e4..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
- ixp400_eth.c |    8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -1838,7 +1838,11 @@ static inline void dev_eth_type_trans(un
-     skb->len -= header_len;
-    
-     /* fill the pkt arrival time (set at the irq callback entry) */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-     skb->stamp = irq_stamp;
-+#else
-+    skb_set_timestamp(skb, &irq_stamp);
-+#endif
-  
-     /* fill the input device field */
-     skb->dev = dev;
-@@ -3014,7 +3018,7 @@ static int phy_init(void)
- }
- /* set port MAC addr and update the dev struct if successfull */
--int dev_set_mac_address(struct net_device *dev, void *addr)
-+static int set_mac_address(struct net_device *dev, void *addr)
- {
-     int res;
-     IxEthAccMacAddr npeMacAddr;
-@@ -3266,7 +3270,7 @@ static int __devinit dev_eth_probe(struc
-     ndev->set_multicast_list = dev_set_multicast_list;
-     ndev->flags |= IFF_MULTICAST;
--    ndev->set_mac_address = dev_set_mac_address;
-+    ndev->set_mac_address = set_mac_address;
- #ifdef CONFIG_IXP400_NAPI
-     ndev->poll = &dev_rx_poll;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/2.6.15.patch b/recipes/ixp425-eth/ixp400-eth-1.5/2.6.15.patch
deleted file mode 100644 (file)
index 83115d8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-2.6.15 needs platform_device.h
-
- ixp400_eth.c |    4 ++++
- 1 file changed, 4 insertions(+)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -65,6 +65,10 @@
- #include <linux/sysctl.h>
- #include <linux/unistd.h>
-+#ifndef to_platform_device
-+#include <linux/platform_device.h>
-+#endif
-+
- /*
-  * Intel IXP400 Software specific header files
-  */
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/Makefile.patch b/recipes/ixp425-eth/ixp400-eth-1.5/Makefile.patch
deleted file mode 100644 (file)
index 3bc51f0..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-This is an OpenEmbedded only patch to make the code buildable in
-the OpenEmbedded environment.
-
---- ixp400-eth/Makefile        1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/Makefile        1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,30 @@
-+obj-m := ixp400_eth.o
-+
-+CFLAGS_ixp400_eth.o = -DWall \
-+          -I$(IXP4XX_CSR_DIR) \
-+          -I$(OSAL_DIR)/ \
-+          -I$(OSAL_DIR)/os/linux/include/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/ioMem/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/core/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/bufferMgt/ \
-+          -I$(OSAL_DIR)/os/linux/include/core/  \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ \
-+          -I$(OSAL_DIR)/os/linux/include/core/ \
-+          -I$(OSAL_DIR)/include/ \
-+          -I$(OSAL_DIR)/include/modules/ \
-+          -I$(OSAL_DIR)/include/modules/bufferMgt/ \
-+          -I$(OSAL_DIR)/include/modules/ioMem/ \
-+          -I$(OSAL_DIR)/include/modules/core/ \
-+          -I$(OSAL_DIR)/include/platforms/ \
-+          -I$(OSAL_DIR)/include/platforms/ixp400/ \
-+          -I$(OSAL_DIR)/include/platforms/ixp400/xp425/ \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ixp425/ \
-+        $(IX_CFLAGS)
-+
-+default:
-+      $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) $(KERNEL_VERBOSE) symverfile=$(IXP4XX_CSR_SYMVERS) -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
-+
-+clean:
-+      rm -f ixp400_eth.ko
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/continue-if-qmgr-init-fails.patch b/recipes/ixp425-eth/ixp400-eth-1.5/continue-if-qmgr-init-fails.patch
deleted file mode 100644 (file)
index 8508790..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-tries to go on even if queue manager initialization
-fails. this is hand because you'll be allowed to
-insert ixp400_eth immediately after you have removed
-it, without re-inserting ixp400.
-
- ixp400_eth.c |    5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -2850,10 +2850,7 @@ static int qmgr_init(void)
-     /* Initialise Queue Manager */
-     P_VERBOSE("Initialising Queue Manager...\n");
-     if ((res = ixQMgrInit()))
--    {
--      P_ERROR("Error initialising queue manager!\n");
--      return -1;
--    }
-+      P_ERROR("Error initialising queue manager, trying to continue!\n");
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/debug.patch b/recipes/ixp425-eth/ixp400-eth-1.5/debug.patch
deleted file mode 100644 (file)
index c684c07..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-This patch is not necessary but helps when debugging the build
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -1350,9 +1350,10 @@ static int dev_media_check_thread (void*
-       
-           if (res != IX_ETH_ACC_SUCCESS)
-           {
--              P_WARN("ixEthMiiLinkStatus failed on PHY%d.\n"
-+              P_WARN("%s: ixEthMiiLinkStatus failed on PHY%d.\n"
-                      "\tCan't determine\nthe auto negotiated parameters. "
-                      "Using default values.\n",
-+                     dev->name,
-                      phyNum); 
-               /* something is bad, gracefully stops the loop */
-               priv->maintenanceCheckStopped = TRUE;
-@@ -2213,7 +2214,8 @@ static int port_enable(struct net_device
-          IX_IEEE803_MAC_ADDRESS_SIZE);
-     if ((res = ixEthAccPortUnicastMacAddressSet(priv->port_id, &npeMacAddr)))
-     {
--        P_VERBOSE("Failed to set MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+        P_VERBOSE("%s: Failed to set MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+             dev->name,
-              (unsigned)npeMacAddr.macAddress[0],
-              (unsigned)npeMacAddr.macAddress[1],
-              (unsigned)npeMacAddr.macAddress[2],
-@@ -2707,8 +2709,8 @@ static int do_dev_ioctl(struct net_devic
-           down (miiAccessMutex);     /* lock the MII register access mutex */
-           if ((res = ixEthAccMiiReadRtn (data->phy_id, data->reg_num, &data->val_out)))
-           {
--              P_ERROR("Error reading MII reg %d on phy %d\n",
--                     data->reg_num, data->phy_id);
-+              P_ERROR("%s: Error reading MII reg %d on phy %d\n",
-+                     dev->name, data->reg_num, data->phy_id);
-               res = -1;
-           }
-           up (miiAccessMutex);        /* release the MII register access mutex */
-@@ -2720,8 +2722,8 @@ static int do_dev_ioctl(struct net_devic
-           down (miiAccessMutex);     /* lock the MII register access mutex */
-           if ((res = ixEthAccMiiWriteRtn (data->phy_id, data->reg_num, data->val_in)))
-           {
--              P_ERROR("Error writing MII reg %d on phy %d\n",
--                        data->reg_num, data->phy_id);
-+              P_ERROR("%s: Error writing MII reg %d on phy %d\n",
-+                        dev->name, data->reg_num, data->phy_id);
-               res = -1;
-           }
-           up (miiAccessMutex);        /* release the MII register access mutex */
-@@ -3049,7 +3051,8 @@ static int set_mac_address(struct net_de
-     /* Set MAC addr in h/w (ethAcc checks for MAC address to be valid) */
-     if ((res = ixEthAccPortUnicastMacAddressSet(priv->port_id, &npeMacAddr)))
-     {
--        P_VERBOSE("Failed to set MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+        P_VERBOSE("%s: Failed to set MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+             dev->name,
-              (unsigned)npeMacAddr.macAddress[0],
-              (unsigned)npeMacAddr.macAddress[1],
-              (unsigned)npeMacAddr.macAddress[2],
-@@ -3267,6 +3270,8 @@ static int __devinit dev_eth_probe(struc
-       kmalloc(sizeof(struct semaphore), GFP_KERNEL);
-     if (!priv->maintenanceCheckThreadComplete)
-     {
-+      P_ERROR("%s: Failed to allocate maintenance semaphore %d\n",
-+              ndev->name, priv->port_id);
-       goto error;
-     }
-     priv->lock = SPIN_LOCK_UNLOCKED;
-@@ -3360,7 +3365,11 @@ static int __devinit dev_eth_probe(struc
- #if IS_KERNEL26
-     if (register_netdev(ndev))
-+    {
-+      P_ERROR("%s: Failed to register netdevice %d\n",
-+              ndev->name, priv->port_id);
-       goto error;
-+    }
- #else
-     found_devices++;
- #endif /* IS_KERNEL26 */
-@@ -3370,6 +3379,8 @@ static int __devinit dev_eth_probe(struc
-     /* register EthAcc callbacks for this port */
-     if (dev_rxtxcallback_register(portId, (UINT32)ndev))
-     {
-+      P_ERROR("%s: Failed to register callback %d\n",
-+              ndev->name, priv->port_id);
-       goto error;
-     }
-@@ -3393,6 +3404,7 @@ static int __devinit dev_eth_probe(struc
- /* Error handling: enter here whenever error detected */
- error:
-+    P_ERROR("%s: dev_eth_probe fails\n", ndev->name);
-     TRACE;
- #ifdef CONFIG_IXP400_ETH_QDISC_ENABLED
-@@ -3465,21 +3477,21 @@ static int __devexit dev_eth_remove(int 
-       {
-           if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEA))
-           {
--              P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
-+              P_NOTICE("%s: Error Halting NPE for Ethernet port %d!\n", ndev->name, portId);
-           }
-       }
-       if (default_npeImageId[portId] == IX_ETH_NPE_B_IMAGE_ID)
-       {
-           if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEB))
-           {
--              P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
-+              P_NOTICE("%s: Error Halting NPE for Ethernet port %d!\n", ndev->name, portId);
-           }
-       }
-       if (default_npeImageId[portId] == IX_ETH_NPE_C_IMAGE_ID)
-       {
-           if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEC))
-           {
--              P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
-+              P_NOTICE("%s: Error Halting NPE for Ethernet port %d!\n", ndev->name, portId);
-           }
-       }
-@@ -3528,6 +3540,9 @@ static int __init ixp400_eth_init(void)
-     TRACE;
-     P_INFO("Initializing IXP400 NPE Ethernet driver software v. " MOD_VERSION " \n");
-+#ifdef IX_OSAL_ENSURE_ON
-+    ixOsalLogLevelSet(IX_OSAL_LOG_LVL_ALL);
-+#endif
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/device-name.patch b/recipes/ixp425-eth/ixp400-eth-1.5/device-name.patch
deleted file mode 100644 (file)
index d8bbc97..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
- register the ethernet devices as ethX
-
- ixp400_eth.c |   41 +++++++++++++++++++----------------------
- 1 file changed, 19 insertions(+), 22 deletions(-)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -160,9 +160,6 @@ MODULE_PARM_DESC(phy_reset, "If non-zero
- MODULE_PARM(dev_max_count, "i");
- MODULE_PARM_DESC(dev_max_count, "Number of devices to initialize");
--/* devices will be called ixp0 and ixp1 */
--#define DEVICE_NAME "ixp"
--
- /* boolean values for PHY link speed, duplex, and autonegotiation */
- #define PHY_SPEED_10    0
- #define PHY_SPEED_100   1
-@@ -1570,7 +1568,7 @@ static int dev_pmu_timer_setup(void)
-     if (request_irq(IX_OSAL_IXP400_XSCALE_PMU_IRQ_LVL,
-                     dev_pmu_timer_os_isr,
-                     SA_SHIRQ,
--                    DEVICE_NAME,
-+                    MODULE_NAME,
-                     (void *)IRQ_ANY_PARAMETER))
-     {
-         P_ERROR("Failed to reassign irq to PMU timer interrupt!\n");
-@@ -3009,8 +3008,8 @@ static int phy_init(void)
-       if (port_id == IX_ETH_PORT_2) npe_id = "C";
-       if (port_id == IX_ETH_PORT_3) npe_id = "A";
--      P_INFO("%s%d is using NPE%s and the PHY at address %d\n",
--             DEVICE_NAME, dev_count, npe_id, phyAddresses[port_id]);
-+      P_INFO("ethernet %d using NPE%s and the PHY at address %d\n",
-+             dev_count, npe_id, phyAddresses[port_id]);
-       /* Set the MAC to the same duplex mode as the phy */
-       ixEthAccPortDuplexModeSet(port_id,
-@@ -3215,9 +3215,6 @@ static int __devinit dev_eth_probe(struc
-     /* set the private port ID */
-     priv->port_id  = portId;
--    /* set device name */
--    sprintf(ndev->name, DEVICE_NAME"%d", priv->port_id);
--
-     TRACE;
-     /* initialize RX pool */
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/int-random.patch b/recipes/ixp425-eth/ixp400-eth-1.5/int-random.patch
deleted file mode 100644 (file)
index fede9da..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-use the ethernet device interrupts to gather entropy
-
- ixp400_eth.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -2864,7 +2864,7 @@ static int qmgr_init(void)
-     if (request_irq(IX_OSAL_IXP400_QM1_IRQ_LVL,
-                     dev_qmgr_os_isr,
--                    SA_SHIRQ,
-+                    SA_SHIRQ | SA_SAMPLE_RANDOM,
-                     MODULE_NAME,
-                     (void *)IRQ_ANY_PARAMETER))
-     {
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/le.patch b/recipes/ixp425-eth/ixp400-eth-1.5/le.patch
deleted file mode 100644 (file)
index 3d56901..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-little endian support
-
- ixp400_eth.c |   20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -2040,6 +2040,16 @@ static void rx_cb(UINT32 callbackTag, IX
-       skb->tail = skb->data + len;
-       skb->len = len;
-       
-+#ifndef __ARMEB__
-+      {
-+          /* Byte swap all words containing data from the buffer. */
-+          unsigned long *p = (unsigned long*)((unsigned)skb->data & ~0x3);
-+          unsigned long *e = (unsigned long*)(((unsigned)skb->data + skb->len + 3) & ~0x3);
-+          while (p < e)
-+              *p = ntohl(*p), ++p;
-+      }
-+#endif
-+
- #ifdef DEBUG_DUMP
-       skb_dump("rx", skb);
- #endif
-@@ -2431,6 +2441,16 @@ static int dev_hard_start_xmit(struct sk
-       return 0;
-     }
-+#ifndef __ARMEB__
-+    {
-+      /* Byte swap all words containing data from the buffer. */
-+      unsigned long *p = (unsigned long*)((unsigned)skb->data & ~0x3);
-+      unsigned long *e = (unsigned long*)(((unsigned)skb->data + skb->len + 3) & ~0x3);
-+      while (p < e)
-+          *p = ntohl(*p), ++p;
-+    }
-+#endif
-+
- #ifdef DEBUG_DUMP
-     skb_dump("tx", skb);
- #endif
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/mac-address.patch b/recipes/ixp425-eth/ixp400-eth-1.5/mac-address.patch
deleted file mode 100644 (file)
index e23eaf5..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-Patch to use maclist - get the MAC to use from the board level
-MAC repository based on the device portId.
-
-Signed-off-by: John Bowler <jbowler@acm.org>
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -23,10 +23,10 @@
-  * This driver is written and optimized for Intel Xscale technology.
-  *
-  * SETUP NOTES:
-- * By default, this driver uses predefined MAC addresses.
-- * These are set in global var 'default_mac_addr' in this file.
-- * If required, these can be changed at run-time using
-- * the 'ifconfig' tool.
-+ * By default, this driver uses MAC addresses from maclist, if
-+ * these are not available the kernel api to randomly generate
-+ * a locally assigned MAC address is used.  The MAC can be
-+ * overridden with ifconfig if absolutely necessary.
-  *
-  * Example - to set ixp0 MAC address to 00:02:B3:66:88:AA, 
-  * run ifconfig with the following arguments:
-@@ -64,6 +64,7 @@
- #include <linux/sysctl.h>
- #include <linux/unistd.h>
- #include <linux/version.h>
-+#include <net/maclist.h>
- #if KERNEL_VERSION(2,6,0) <= LINUX_VERSION_CODE
- #include <linux/workqueue.h>
-@@ -130,6 +131,8 @@ static int dev_max_count = 1; /* only NP
- static int dev_max_count = 2; /* only NPEB and NPEC */
- #elif defined (CONFIG_ARCH_IXDP465) || defined(CONFIG_MACH_IXDP465)
- static int dev_max_count = 3; /* all NPEs are used */
-+#else
-+static int dev_max_count = -1;/* use maclist_count */
- #endif
- #ifndef CONFIG_IXP400_NAPI
-@@ -614,21 +617,6 @@ static phy_cfg_t default_phy_cfg[] =
- #endif
- };
--/* Default MAC addresses for EthAcc Ports 1 and 2 (using Intel MAC prefix) 
-- * Default is 
-- *   IX_ETH_PORT_1 -> MAC 00:02:b3:01:01:01
-- *   IX_ETH_PORT_2 -> MAC 00:02:b3:02:02:02
-- *   IX_ETH_PORT_3 -> MAC 00:02:b3:03:03:03
--*/
--static IxEthAccMacAddr default_mac_addr[] =
--{
--    {{0x00, 0x02, 0xB3, 0x01, 0x01, 0x01}}  /* EthAcc Port 0 */
--    ,{{0x00, 0x02, 0xB3, 0x02, 0x02, 0x02}} /* EthAcc Port 1 */
--#if defined (CONFIG_ARCH_IXDP465) || defined(CONFIG_MACH_IXDP465)
--    ,{{0x00, 0x02, 0xB3, 0x03, 0x03, 0x03}} /* EthAcc Port 2 */
--#endif
--};
--
- /* Default mapping of  NpeImageIds for EthAcc Ports 
-  * Default is 
-  *   IX_ETH_PORT_1 -> IX_ETH_NPE_B
-@@ -3325,28 +3313,10 @@ static int __devinit dev_eth_probe(struc
-     /* Defines the unicast MAC address
-      *
--     * Here is a good place to read a board-specific MAC address
--     * from a non-volatile memory, e.g. an external eeprom.
--     * 
--     * This memcpy uses a default MAC address from this
--     * source code.
--     *
--     * This can be overriden later by the (optional) command
--     *
--     *     ifconfig ixp0 ether 0002b3010101
--     *
-+     * The code reads from the maclist API.
-      */
--
--    memcpy(ndev->dev_addr, 
--         &default_mac_addr[priv->port_id].macAddress,
--         IX_IEEE803_MAC_ADDRESS_SIZE);
--
--    /* possibly remove this test and the message when a valid MAC address 
--     * is not hardcoded in the driver source code. 
--     */
--    if (is_valid_ether_addr(ndev->dev_addr))
--    {
--      P_WARN("Use default MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-+    maclist_read((u8(*)[6])&ndev->dev_addr, priv->port_id);
-+    P_INFO("Use MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
-              (unsigned)ndev->dev_addr[0],
-              (unsigned)ndev->dev_addr[1],
-              (unsigned)ndev->dev_addr[2],
-@@ -3354,7 +3324,6 @@ static int __devinit dev_eth_probe(struc
-              (unsigned)ndev->dev_addr[4],
-              (unsigned)ndev->dev_addr[5],
-              priv->port_id);
--    }
-     
-     /* Set/update the internal packet size 
-      * This can be overriden later by the command
-@@ -3562,12 +3531,15 @@ static int __init ixp400_eth_init(void)
-     TRACE;
--    /* check module parameter range */
--    if (dev_max_count == 0 || dev_max_count > IX_ETH_ACC_NUMBER_OF_PORTS)
--    {
--      P_ERROR("Number of ports supported is dev_max_count <= %d\n", IX_ETH_ACC_NUMBER_OF_PORTS);
--      return -1;
--    }
-+    /* fix dev_max_count to maclist_count - the actual number of
-+     * available MACs
-+     */
-+    if (dev_max_count <= 0 || (dev_max_count > maclist_count() && maclist_count() > 0))
-+          dev_max_count = maclist_count();
-+    if (dev_max_count <= 0)
-+          dev_max_count = 1;
-+    else if (dev_max_count > IX_ETH_ACC_NUMBER_OF_PORTS)
-+          dev_max_count = IX_ETH_ACC_NUMBER_OF_PORTS;
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/modprobe.conf b/recipes/ixp425-eth/ixp400-eth-1.5/modprobe.conf
deleted file mode 100644 (file)
index f08b9a4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# Add an alias for eth0 to ixp400_eth to cause the S40networking
-# init script to load the ixp400_eth driver on the first boot
-alias eth0 ixp400_eth
-options ixp400_eth dev_max_count=1
\ No newline at end of file
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/module-param.patch b/recipes/ixp425-eth/ixp400-eth-1.5/module-param.patch
deleted file mode 100644 (file)
index c54c45d..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
- ixp400_eth.c |   32 ++++++++++++++++++++++++++++++++
- 1 files changed, 32 insertions(+)
-
-Index: ixp400_eth/ixp400_eth.c
-===================================================================
---- ixp400_eth.orig/ixp400_eth.c
-+++ ixp400_eth/ixp400_eth.c
-@@ -142,22 +142,54 @@
- static int datapath_poll = 1;     /* default : rx/tx polling, not interrupt driven*/
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(ixp400_netdev_max_backlog, "i");
-+#else
-+module_param(ixp400_netdev_max_backlog, int, 0644);
-+#endif
- MODULE_PARM_DESC(ixp400_netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(datapath_poll, "i");
-+#else
-+module_param(datapath_poll, int, 0644);
-+#endif
- MODULE_PARM_DESC(datapath_poll, "If non-zero, use polling method for datapath instead of interrupts");
- #endif /* CONFIG_IXP400_NAPI */
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(npe_learning, "i");
-+#else
-+module_param(npe_learning, int, 0644);
-+#endif
- MODULE_PARM_DESC(npe_learning, "If non-zero, NPE MAC Address Learning & Filtering feature will be enabled");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(log_level, "i");
-+#else
-+module_param(log_level, int, 0644);
-+#endif
- MODULE_PARM_DESC(log_level, "Set log level: 0 - None, 1 - Verbose, 2 - Debug");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(no_ixp400_sw_init, "i");
-+#else
-+module_param(no_ixp400_sw_init, int, 0644);
-+#endif
- MODULE_PARM_DESC(no_ixp400_sw_init, "If non-zero, do not initialise Intel IXP400 Software Release core components");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(no_phy_scan, "i");
-+#else
-+module_param(no_phy_scan, int, 0644);
-+#endif
- MODULE_PARM_DESC(no_phy_scan, "If non-zero, use hard-coded phy addresses");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(phy_reset, "i");
-+#else
-+module_param(phy_reset, int, 0644);
-+#endif
- MODULE_PARM_DESC(phy_reset, "If non-zero, reset the phys");
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(dev_max_count, "i");
-+#else
-+module_param(dev_max_count, int, 0644);
-+#endif
- MODULE_PARM_DESC(dev_max_count, "Number of devices to initialize");
- /* boolean values for PHY link speed, duplex, and autonegotiation */
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/netdev_max_backlog.patch b/recipes/ixp425-eth/ixp400-eth-1.5/netdev_max_backlog.patch
deleted file mode 100644 (file)
index 6891b6b..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
---- ixp400_eth/ixp400_eth.c~   2006-01-09 01:03:11.000000000 +1030
-+++ ixp400_eth/ixp400_eth.c    2006-01-09 01:05:27.000000000 +1030
-@@ -139,12 +139,12 @@
-  * skbuf to push into the linux stack, and avoid the performance degradations 
-  * during overflow.
-  */
--static int netdev_max_backlog = 290;
-+static int ixp400_netdev_max_backlog = 290;
- static int datapath_poll = 1;     /* default : rx/tx polling, not interrupt driven*/
--MODULE_PARM(netdev_max_backlog, "i");
--MODULE_PARM_DESC(netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
-+MODULE_PARM(ixp400_netdev_max_backlog, "i");
-+MODULE_PARM_DESC(ixp400_netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
- MODULE_PARM(datapath_poll, "i");
- MODULE_PARM_DESC(datapath_poll, "If non-zero, use polling method for datapath instead of interrupts");
- #endif /* CONFIG_IXP400_NAPI */
-@@ -213,7 +213,7 @@
-  * high traffic rates. To measure the maximum throughput between the
-  * ports of the driver,
-  * - Modify /proc/sys/net/core/netdev_max_backlog value in the kernel 
-- * - Adjust netdev_max_backlog=n in the driver's command line
-+ * - Adjust ixp400_netdev_max_backlog=n in the driver's command line
-  * in order to get the best rates depending on the testing tool 
-  * and the OS load.
-  *
-@@ -1997,7 +1997,7 @@
-     /* check if the system accepts more traffic and
-      * against chained mbufs 
-      */
--    if ((qlevel < netdev_max_backlog)
-+    if ((qlevel < ixp400_netdev_max_backlog)
-         && (IX_OSAL_MBUF_NEXT_PKT_IN_CHAIN_PTR(mbuf) == NULL))
- #else
-     /* check against chained mbufs
-@@ -3776,13 +3776,13 @@
- #ifndef CONFIG_IXP400_NAPI
-     /* set the softirq rx queue thresholds 
-      * (These numbers are based on tuning experiments)
--     * maxbacklog =  (netdev_max_backlog * 10) / 63;
-+     * maxbacklog =  (ixp400_netdev_max_backlog * 10) / 63;
-     */
--    if (netdev_max_backlog == 0)
-+    if (ixp400_netdev_max_backlog == 0)
-     {
--      netdev_max_backlog = 290; /* system default */
-+      ixp400_netdev_max_backlog = 290; /* system default */
-     }
--    netdev_max_backlog /= BACKLOG_TUNE;
-+    ixp400_netdev_max_backlog /= BACKLOG_TUNE;
-     TRACE;
- #endif
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/params.patch b/recipes/ixp425-eth/ixp400-eth-1.5/params.patch
deleted file mode 100644 (file)
index 86011de..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-*** ixp/ixp400_eth.c.orig      Wed Jun  7 21:31:59 2006
---- ixp/ixp400_eth.c   Fri Jun  9 14:55:18 2006
-***************
-*** 112,135 ****
-  #define MOD_VERSION "1.5"
-  
-  /* Module parameters */
-! static int npe_learning = 1;      /* default : NPE learning & filtering enable */
-! static int log_level = 0;         /* default : no log */
-! static int no_ixp400_sw_init = 0; /* default : init core components of the IXP400 Software */
-! static int no_phy_scan = 0;       /* default : do phy discovery */
-! static int phy_reset = 0;         /* default : mo phy reset */
-  
-  /* maximum number of ports supported by this driver ixp0, ixp1 ....
-   * The default is to configure all ports defined in EthAcc component
-  */
-  #ifdef CONFIG_IXP400_ETH_NPEC_ONLY
-! static int dev_max_count = 1; /* only NPEC is used */
-! #elif defined (CONFIG_IXP400_ETH_NPEB_ONLY)
-! static int dev_max_count = 1; /* only NPEB is used */
-  #elif defined (CONFIG_ARCH_IXDP425) || defined(CONFIG_ARCH_IXDPG425)\
-        || defined (CONFIG_ARCH_ADI_COYOTE)
-! static int dev_max_count = 2; /* only NPEB and NPEC */
-  #elif defined (CONFIG_ARCH_IXDP465) || defined(CONFIG_MACH_IXDP465)
-! static int dev_max_count = 3; /* all NPEs are used */
-  #endif
-  
-  #ifndef CONFIG_IXP400_NAPI
---- 112,136 ----
-  #define MOD_VERSION "1.5"
-  
-  /* Module parameters */
-! /* gcc 4.1.1+kernel2.6.16 do not like it if these are static! */
-! int npe_learning = 1;      /* default : NPE learning & filtering enable */
-! int log_level = 0;         /* default : no log */
-! int no_ixp400_sw_init = 0; /* default : init core components of the IXP400 Software */
-! int no_phy_scan = 0;       /* default : do phy discovery */
-! int phy_reset = 0;         /* default : mo phy reset */
-  
-  /* maximum number of ports supported by this driver ixp0, ixp1 ....
-   * The default is to configure all ports defined in EthAcc component
-  */
-  #ifdef CONFIG_IXP400_ETH_NPEC_ONLY
-! int dev_max_count = 1; /* only NPEC is used */
-! #elif defined (CONFIG_IXP400_ETH_NPEB_ONLY)
-! int dev_max_count = 1; /* only NPEB is used */
-  #elif defined (CONFIG_ARCH_IXDP425) || defined(CONFIG_ARCH_IXDPG425)\
-        || defined (CONFIG_ARCH_ADI_COYOTE)
-! int dev_max_count = 2; /* only NPEB and NPEC */
-  #elif defined (CONFIG_ARCH_IXDP465) || defined(CONFIG_MACH_IXDP465)
-! int dev_max_count = 3; /* all NPEs are used */
-  #endif
-  
-  #ifndef CONFIG_IXP400_NAPI
-***************
-*** 138,146 ****
-   * skbuf to push into the linux stack, and avoid the performance degradations 
-   * during overflow.
-   */
-! static int ixp400_netdev_max_backlog = 290;
-  
-! static int datapath_poll = 1;     /* default : rx/tx polling, not interrupt driven*/
-  
-  MODULE_PARM(ixp400_netdev_max_backlog, "i");
-  MODULE_PARM_DESC(ixp400_netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
---- 139,147 ----
-   * skbuf to push into the linux stack, and avoid the performance degradations 
-   * during overflow.
-   */
-! int ixp400_netdev_max_backlog = 290;
-  
-! int datapath_poll = 1;     /* default : rx/tx polling, not interrupt driven*/
-  
-  MODULE_PARM(ixp400_netdev_max_backlog, "i");
-  MODULE_PARM_DESC(ixp400_netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/poll-controller.patch b/recipes/ixp425-eth/ixp400-eth-1.5/poll-controller.patch
deleted file mode 100644 (file)
index 64fb310..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-poll controller support
-
- ixp400_eth.c |   22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -348,6 +348,12 @@ static int dev_pmu_timer_init(void);
- extern void 
- ixEthTxFrameDoneQMCallback(IxQMgrQId qId, IxQMgrCallbackId callbackId);
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/* poll controller (needed for netconsole et al) */
-+static void
-+ixp425eth_poll_controller(struct net_device *dev);
-+#endif
-+
- /* Private device data */
- typedef struct {
-     spinlock_t lock;  /* multicast management lock */
-@@ -3060,6 +3066,19 @@ static int set_mac_address(struct net_de
-     return 0;
- }
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/*
-+ * Polling receive - used by netconsole and other diagnostic tools
-+ * to allow network i/o with interrupts disabled.
-+ * (stolen from 8139too.c by siddy)
-+ */
-+static void ixp425eth_poll_controller(struct net_device *dev)
-+{
-+        disable_irq(dev->irq);
-+        dev_qmgr_os_isr(dev->irq, dev, NULL);
-+        enable_irq(dev->irq);
-+}
-+#endif
- /* 
-  *  TX QDISC
-@@ -3270,6 +3289,9 @@ static int __devinit dev_eth_probe(struc
-     ndev->get_stats = dev_get_stats;
-     ndev->set_multicast_list = dev_set_multicast_list;
-     ndev->flags |= IFF_MULTICAST;
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+    ndev->poll_controller = ixp425eth_poll_controller;
-+#endif
-     ndev->set_mac_address = set_mac_address;
diff --git a/recipes/ixp425-eth/ixp400-eth-1.5/stop-on-rmmod.patch b/recipes/ixp425-eth/ixp400-eth-1.5/stop-on-rmmod.patch
deleted file mode 100644 (file)
index 2ddc989..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-devices must be explicitely stopped when
-the driver is going do be removed, otherwise
-it will simply hang.
-
- ixp400_eth.c |   13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
---- ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-+++ ixp400-eth/ixp400_eth.c    1970-01-01 00:00:00.000000000 +0000
-@@ -3800,9 +3800,16 @@ void __exit ixp400_eth_exit(void)
-     TRACE;
--    /* We can only get here when the module use count is 0,
--     * so there's no need to stop devices.
--     */
-+    /* stop devices */
-+
-+#if IS_KERNEL26
-+    for (dev_count = 0;
-+       dev_count < dev_max_count;  /* module parameter */
-+       dev_count++)
-+    {
-+      do_dev_stop(platform_get_drvdata(&ixp400_eth_devices[dev_count]));
-+    }
-+#endif
-     if (no_ixp400_sw_init == 0) /* module parameter */
-     {
diff --git a/recipes/ixp425-eth/ixp400-eth_1.4.bb b/recipes/ixp425-eth/ixp400-eth_1.4.bb
deleted file mode 100644 (file)
index 6b1ff0c..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-# This is the Intel GPL IXP4XX ethernet driver (Linux) plus patches
-# to make it work on 2.6 kernels.
-#
-LICENSE = "GPL"
-SRC_URI = "ftp://aiedownload.intel.com/df-support/8500/eng/GPL_ixp400LinuxEthernetDriverPatch-1_4.zip"
-SRC_URI += "file://ixp400-le-be.patch;patch=1"
-SRC_URI += "file://makefile.patch;patch=1"
-SRC_URI += "file://2.6.13.patch;patch=1"
-SRC_URI += "file://2.6.14.patch;patch=1"
-SRC_URI += "file://ixp400_pollcontroller.patch;patch=1"
-SRC_URI += "file://2.6.14-mm.patch;patch=1"
-SRC_URI += "file://modprobe.conf"
-PR = "r9"
-
-DEPENDS = "ixp4xx-csr"
-RDEPENDS = "ixp4xx-csr"
-
-S = "${WORKDIR}"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-PROVIDES = "virtual/ixp-eth"
-RPROVIDES = "ixp-eth"
-
-inherit module
-
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'PWD=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               'IXP4XX_CSR_DIR=${STAGING_INCDIR}/linux/ixp4xx-csr' \
-               'OSAL_DIR=${OSAL_DIR}' \
-               'IX_CFLAGS=-DIX_UTOPIAMODE=0 -DIX_MPHYSINGLEPORT=1 -DCONFIG_IXP400_ETH_NPEB_ONLY=1' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               "
-
-do_compile () {
-        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-       oe_runmake
-}
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
-       install -m 0644 ixp400_eth.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
-       install -d ${D}${sysconfdir}/modprobe.d
-       install -m 0644 modprobe.conf ${D}${sysconfdir}/modprobe.d/eth0
-}
diff --git a/recipes/ixp425-eth/ixp400-eth_1.5.1.bb b/recipes/ixp425-eth/ixp400-eth_1.5.1.bb
deleted file mode 100644 (file)
index 2fa04fc..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-DEFAULT_PREFERENCE = "-1"
-# This is the Intel GPL IXP4XX ethernet driver (Linux) plus patches
-# to make it work on 2.6 kernels.
-#
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "GPL"
-PR = "r0"
-
-DEPENDS = "ixp-osal"
-DEPENDS = "ixp4xx-csr"
-RDEPENDS = "ixp4xx-csr"
-
-SRC_URI = "http://downloadmirror.intel.com/df-support/10159/eng/GPL_ixp400LinuxEthernetDriverPatch-1_5_1.zip"
-SRC_URI += "file://2.6.14.patch;patch=1"
-SRC_URI += "file://2.6.15.patch;patch=1"
-SRC_URI += "file://device-name.patch;patch=1"
-SRC_URI += "file://poll-controller.patch;patch=1"
-SRC_URI += "file://le.patch;patch=1"
-SRC_URI += "file://int-random.patch;patch=1"
-SRC_URI += "file://stop-on-rmmod.patch;patch=1"
-SRC_URI += "file://continue-if-qmgr-init-fails.patch;patch=1"
-SRC_URI += "file://netdev_max_backlog.patch;patch=1"
-SRC_URI += "file://debug.patch;patch=1"
-SRC_URI += "file://Makefile.patch;patch=1"
-SRC_URI += "file://params.patch;patch=1"
-SRC_URI += "file://module-param.patch;patch=1"
-SRC_URI += "file://modprobe.conf"
-
-S = "${WORKDIR}"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-PROVIDES = "virtual/ixp-eth"
-RPROVIDES = "ixp-eth"
-
-inherit module
-
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-IX_ENSURE = ""
-#IX_ENSURE = "-DIX_OSAL_ENSURE_ON=1"
-# The following controls the name of the ethernet devices which get
-# registered, the default (if this is empty) is ixp0, ixp1, otherwise
-# it is eth0, eth1
-DEVICE_NAME = "-DIX_DEVICE_NAME_ETH=1"
-
-IXP4XX_CSR_SYMVERS = "${STAGING_KERNEL_DIR}/ixp400-csr.symvers"
-
-EXTRA_OEMAKE = "'PWD=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               'IXP4XX_CSR_DIR=${STAGING_INCDIR}/linux/ixp4xx-csr' \
-               'IXP4XX_CSR_SYMVERS=${IXP4XX_CSR_SYMVERS}' \
-               'OSAL_DIR=${OSAL_DIR}' \
-               'IX_CFLAGS=-DIX_UTOPIAMODE=0 -DIX_MPHYSINGLEPORT=1 ${IX_ENSURE} ${DEVICE_NAME} -DIX_COMPONENT_NAME=-1' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               "
-
-# This is to check for unresolved symbol errors and ensure the build
-# fails, an error here probably means too much as been deconfigured
-# out of ixp4xx-csr.
-KCONFIG_FILE = "${STAGING_KERNEL_DIR}/kernel-config"
-do_compile_append () {
-       . '${KCONFIG_FILE}'
-       echo "MODPOST: checking that all symbols are resolved"
-       if '${STAGING_KERNEL_DIR}/scripts/mod/modpost' \
-               ${CONFIG_MODVERSIONS:+-m} \
-               ${CONFIG_MODULE_SRCVERSION_ALL:+-a} \
-               -i '${STAGING_KERNEL_DIR}/ixp400-csr.symvers' \
-               ixp400_eth.o 2>&1 | egrep .
-       then
-               echo "MODPOST errors - see above"
-               return 1
-       else
-               return 0
-       fi
-}
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
-       install -m 0644 ixp400_eth.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
-       install -d ${D}${sysconfdir}/modprobe.d
-       install -m 0644 modprobe.conf ${D}${sysconfdir}/modprobe.d/eth0
-}
diff --git a/recipes/ixp425-eth/ixp400-eth_1.5.bb b/recipes/ixp425-eth/ixp400-eth_1.5.bb
deleted file mode 100644 (file)
index 5e25deb..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-# This is the Intel GPL IXP4XX ethernet driver (Linux) plus patches
-# to make it work on 2.6 kernels.
-#
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "GPL"
-PR = "r15"
-
-DEPENDS = "ixp-osal"
-DEPENDS = "ixp4xx-csr"
-RDEPENDS = "ixp4xx-csr"
-
-SRC_URI = "ftp://aiedownload.intel.com/df-support/9519/eng/GPL_ixp400LinuxEthernetDriverPatch-1_5.zip"
-SRC_URI += "file://2.6.14.patch;patch=1"
-SRC_URI += "file://2.6.15.patch;patch=1"
-SRC_URI += "file://device-name.patch;patch=1"
-SRC_URI += "file://poll-controller.patch;patch=1"
-SRC_URI += "file://le.patch;patch=1"
-SRC_URI += "file://int-random.patch;patch=1"
-SRC_URI += "file://stop-on-rmmod.patch;patch=1"
-SRC_URI += "file://continue-if-qmgr-init-fails.patch;patch=1"
-SRC_URI += "file://netdev_max_backlog.patch;patch=1"
-SRC_URI += "file://debug.patch;patch=1"
-SRC_URI += "file://Makefile.patch;patch=1"
-SRC_URI += "file://params.patch;patch=1"
-SRC_URI += "file://module-param.patch;patch=1"
-SRC_URI += "file://modprobe.conf"
-
-S = "${WORKDIR}"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-PROVIDES = "virtual/ixp-eth"
-RPROVIDES = "ixp-eth"
-
-inherit module
-
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-IX_ENSURE = ""
-#IX_ENSURE = "-DIX_OSAL_ENSURE_ON=1"
-# The following controls the name of the ethernet devices which get
-# registered, the default (if this is empty) is ixp0, ixp1, otherwise
-# it is eth0, eth1
-DEVICE_NAME = "-DIX_DEVICE_NAME_ETH=1"
-
-IXP4XX_CSR_SYMVERS = "${STAGING_KERNEL_DIR}/ixp400-csr.symvers"
-
-EXTRA_OEMAKE = "'PWD=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               'IXP4XX_CSR_DIR=${STAGING_INCDIR}/linux/ixp4xx-csr' \
-               'IXP4XX_CSR_SYMVERS=${IXP4XX_CSR_SYMVERS}' \
-               'OSAL_DIR=${OSAL_DIR}' \
-               'IX_CFLAGS=-DIX_UTOPIAMODE=0 -DIX_MPHYSINGLEPORT=1 ${IX_ENSURE} ${DEVICE_NAME} -DIX_COMPONENT_NAME=-1' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               "
-
-# This is to check for unresolved symbol errors and ensure the build
-# fails, an error here probably means too much as been deconfigured
-# out of ixp4xx-csr.
-KCONFIG_FILE = "${STAGING_KERNEL_DIR}/kernel-config"
-do_compile_append () {
-       . '${KCONFIG_FILE}'
-       echo "MODPOST: checking that all symbols are resolved"
-       if '${STAGING_KERNEL_DIR}/scripts/mod/modpost' \
-               ${CONFIG_MODVERSIONS:+-m} \
-               ${CONFIG_MODULE_SRCVERSION_ALL:+-a} \
-               -i '${STAGING_KERNEL_DIR}/ixp400-csr.symvers' \
-               ixp400_eth.o 2>&1 | egrep .
-       then
-               echo "MODPOST errors - see above"
-               return 1
-       else
-               return 0
-       fi
-}
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
-       install -m 0644 ixp400_eth.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
-       install -d ${D}${sysconfdir}/modprobe.d
-       install -m 0644 modprobe.conf ${D}${sysconfdir}/modprobe.d/eth0
-}
diff --git a/recipes/ixp425-eth/ixp425-eth-1.2/2.6.13.patch b/recipes/ixp425-eth/ixp425-eth-1.2/2.6.13.patch
deleted file mode 100644 (file)
index e582574..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
---- ./ixp425_eth.c     2005-10-01 00:45:45.180897520 -0700
-+++ ./ixp425_eth.c     2005-10-01 00:50:45.179775259 -0700
-@@ -797,7 +797,9 @@
-       skb->pkt_type = PACKET_HOST;    /* Default type */
-         skb->ip_summed = 0;
-         skb->priority = 0;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
-         skb->security = 0;
-+#endif
- #ifdef CONFIG_NET_SCHED
-       skb->tc_index = 0;
- #endif
-@@ -2564,8 +2566,14 @@
- }
- /* set port MAC addr and update the dev struct if successfull */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
- int dev_set_mac_address(struct net_device *dev, struct sockaddr *saddr)
- {
-+#else
-+static int set_mac_address(struct net_device *dev, void *saddrIn)
-+{
-+    struct sockaddr *saddr = saddrIn;
-+#endif
-     int res;
-     priv_data_t *priv = dev->priv;
-     IxEthAccMacAddr npeMacAddr;
-@@ -2700,7 +2708,11 @@
- #ifdef CONFIG_NET_POLL_CONTROLLER
-     ndev->poll_controller = ixp425eth_poll_controller;
- #endif
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
-     ndev->set_mac_address = dev_set_mac_address;
-+#else
-+    ndev->set_mac_address = set_mac_address;
-+#endif
-     TRACE;
diff --git a/recipes/ixp425-eth/ixp425-eth-1.2/2.6.14.patch b/recipes/ixp425-eth/ixp425-eth-1.2/2.6.14.patch
deleted file mode 100644 (file)
index 57f441c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./ixp425_eth.c     2005-10-01 00:50:45.179775259 -0700
-+++ ./ixp425_eth.c     2005-10-01 00:54:10.976725245 -0700
-@@ -777,7 +777,9 @@
-        * before re-using it on the Rx-path
-        */
-         skb->nfmark = 0;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-       skb->nfcache = 0;
-+#endif
-         nf_conntrack_put(skb->nfct);
-         skb->nfct = NULL;
- #ifdef CONFIG_NETFILTER_DEBUG
-@@ -1451,7 +1453,11 @@
-     skb->len -= header_len;
-    
-     /* fill the pkt arrival time (set at the irq callback entry) */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-     skb->stamp = irq_stamp;
-+#else
-+    skb_set_timestamp(skb, &irq_stamp);
-+#endif
-  
-     /* fill the input device field */
-     skb->dev = dev;
diff --git a/recipes/ixp425-eth/ixp425-eth-1.2/ixp400linuxethernetdriver-1_2-kernel26_hr_20050929.patch b/recipes/ixp425-eth/ixp425-eth-1.2/ixp400linuxethernetdriver-1_2-kernel26_hr_20050929.patch
deleted file mode 100644 (file)
index e4ef3f9..0000000
+++ /dev/null
@@ -1,1468 +0,0 @@
-diff -Naur ixp425_eth.orig/Makefile ixp425_eth/Makefile
---- ixp425_eth.orig/Makefile   1970-01-01 01:00:00.000000000 +0100
-+++ ixp425_eth/Makefile        2005-09-28 19:03:50.000000000 +0200
-@@ -0,0 +1,36 @@
-+obj-m := ixp425_eth.o
-+
-+PWD         := $(shell pwd)
-+
-+LINUX_SRC := $($(IX_TARGET)_KERNEL_DIR)
-+
-+OSAL_DIR := $(IX_XSCALE_SW)/../ixp_osal
-+CFLAGS_ixp425_eth.o = -DWall \
-+          -I$(IX_XSCALE_SW)/src/include \
-+          -I$(OSAL_DIR)/ \
-+          -I$(OSAL_DIR)/os/linux/include/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/ioMem/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/core/ \
-+          -I$(OSAL_DIR)/os/linux/include/modules/bufferMgt/ \
-+          -I$(OSAL_DIR)/os/linux/include/core/  \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ \
-+          -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ \
-+          -I$(OSAL_DIR)/os/linux/include/core/ \
-+          -I$(OSAL_DIR)/include/ \
-+          -I$(OSAL_DIR)/include/modules/ \
-+          -I$(OSAL_DIR)/include/modules/bufferMgt/ \
-+          -I$(OSAL_DIR)/include/modules/ioMem/ \
-+          -I$(OSAL_DIR)/include/modules/core/ \
-+          -I$(OSAL_DIR)/include/platforms/ \
-+          -I$(OSAL_DIR)/include/platforms/ixp400/ \
-+
-+#     -DDEBUG 
-+
-+# -DDEBUG_DUMP
-+
-+default:
-+      $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) V=1 -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
-+
-+clean:
-+      rm -f ixp425_eth.ko
-diff -Naur ixp425_eth.orig/Readme-Kernel-2_6-Patch.txt ixp425_eth/Readme-Kernel-2_6-Patch.txt
---- ixp425_eth.orig/Readme-Kernel-2_6-Patch.txt        1970-01-01 01:00:00.000000000 +0100
-+++ ixp425_eth/Readme-Kernel-2_6-Patch.txt     2005-09-28 20:26:19.000000000 +0200
-@@ -0,0 +1,33 @@
-+This file describes a patch to use version 1.2 of the ethernet driver
-+for Intel Ixp4XX with Linux 2.6 kernels.
-+
-+Authors/History
-+---------------
-+
-+This patch is based on the nslu2-linux project's patches for version
-+1.1 of the same driver. The changes were adapted to version 1.2 by
-+Hannes Reich & Cian Masterson.
-+
-+Status
-+------
-+
-+This code has been tested on a Linksys NSLU2. It works in big-endian
-+mode, performance seems around 10% faster than 1.4.
-+
-+The code does not work in little-endian mode. It appears as though the
-+hardware is initialised correctly, but packet receive / transmit done
-+callbacks are never called.
-+
-+The driver has not been tested in "polling mode".
-+
-+Licence Information
-+-------------------
-+
-+This patch is licenced under the same terms as the original Ethernet
-+driver (GPL v2).
-+
-+References
-+----------
-+
-+The nslu2-linux project's patch for version 1.1 of the driver is at
-+http://nslu.sourceforge.net/downloads/ixp425_eth.c.patch
-\ No newline at end of file
-diff -Naur ixp425_eth.orig/ixp425_eth.c ixp425_eth/ixp425_eth.c
---- ixp425_eth.orig/ixp425_eth.c       2005-08-26 21:44:19.000000000 +0200
-+++ ixp425_eth/ixp425_eth.c    2005-09-02 00:01:59.000000000 +0200
-@@ -47,21 +47,18 @@
-  */
- #include <linux/config.h>
- #include <linux/module.h>
--#include <linux/kernel.h>
-+#include <linux/moduleparam.h>
- #include <linux/init.h>
-+#include <linux/kernel.h>
- #include <linux/ioport.h>
-+#include <linux/device.h>
- #include <linux/netdevice.h>
- #include <linux/etherdevice.h>
--#include <linux/delay.h>
- #include <linux/mii.h>
--#include <linux/socket.h>
--#include <linux/cache.h>
- #include <asm/io.h>
- #include <asm/errno.h>
- #include <net/pkt_sched.h>
- #include <net/ip.h>
--#include <linux/sysctl.h>
--#include <linux/unistd.h>
- /*
-  * Intel IXP400 Software specific header files
-@@ -93,8 +90,8 @@
- MODULE_DESCRIPTION("IXP425 NPE Ethernet driver");
- MODULE_LICENSE("GPL");
- MODULE_AUTHOR("Intel Corporation");
--#define MODULE_NAME "ixp425_eth"
--#define MODULE_VERSION "1.2"
-+#define DRV_NAME "ixp425_eth"
-+#define DRV_VERSION "1.2A"
- /* Module parameters */
- static int npe_learning = 1; /* default : NPE learning & filtering enable */
-@@ -122,26 +119,23 @@
-  */
- static int netdev_max_backlog = 290;
--MODULE_PARM(npe_learning, "i");
-+module_param(npe_learning, int, 4);
- MODULE_PARM_DESC(npe_learning, "If non-zero, NPE MAC Address Learning & Filtering feature will be enabled");
--MODULE_PARM(log_level, "i");
-+module_param(log_level, int, 6);
- MODULE_PARM_DESC(log_level, "Set log level: 0 - None, 1 - Verbose, 2 - Debug");
--MODULE_PARM(no_csr_init, "i");
-+module_param(no_csr_init, int, 0);
- MODULE_PARM_DESC(no_csr_init, "If non-zero, do not initialise Intel IXP400 Software Release core components");
--MODULE_PARM(no_phy_scan, "i");
-+module_param(no_phy_scan, int, 0);
- MODULE_PARM_DESC(no_phy_scan, "If non-zero, use hard-coded phy addresses");
--MODULE_PARM(datapath_poll, "i");
-+module_param(datapath_poll, int, 0);
- MODULE_PARM_DESC(datapath_poll, "If non-zero, use polling method for datapath instead of interrupts");
--MODULE_PARM(phy_reset, "i");
-+module_param(phy_reset, int, 0);
- MODULE_PARM_DESC(phy_reset, "If non-zero, reset the phys");
--MODULE_PARM(netdev_max_backlog, "i");
-+module_param(netdev_max_backlog, int, 4);
- MODULE_PARM_DESC(netdev_max_backlog, "Should be set to the value of /proc/sys/net/core/netdev_max_backlog (perf affecting)");
--MODULE_PARM(dev_max_count, "i");
-+module_param(dev_max_count, int, 4);
- MODULE_PARM_DESC(dev_max_count, "Number of devices to initialize");
--/* devices will be called ixp0 and ixp1 */
--#define DEVICE_NAME "ixp"
--
- /* boolean values for PHY link speed, duplex, and autonegotiation */
- #define PHY_SPEED_10    0
- #define PHY_SPEED_100   1
-@@ -257,36 +251,35 @@
-  */
- /* Print kernel error */
- #define P_ERROR(args...) \
--    printk(KERN_ERR MODULE_NAME ": " args)
-+    printk(KERN_ERR DRV_NAME ": " args)
- /* Print kernel warning */
- #define P_WARN(args...) \
--    printk(KERN_WARNING MODULE_NAME ": " args)
-+    printk(KERN_WARNING DRV_NAME ": " args)
- /* Print kernel notice */
- #define P_NOTICE(args...) \
--    printk(KERN_NOTICE MODULE_NAME ": " args)
-+    printk(KERN_NOTICE DRV_NAME ": " args)
- /* Print kernel info */
- #define P_INFO(args...) \
--    printk(KERN_INFO MODULE_NAME ": " args)
-+    printk(KERN_INFO DRV_NAME ": " args)
- /* Print verbose message. Enabled/disabled by 'log_level' param */
- #define P_VERBOSE(args...) \
--    if (log_level >= 1) printk(MODULE_NAME ": " args)
-+    if (log_level >= 1) printk(DRV_NAME ": " args)
- /* Print debug message. Enabled/disabled by 'log_level' param  */
- #define P_DEBUG(args...) \
-     if (log_level >= 2) { \
--        printk("%s: %s()\n", MODULE_NAME, __FUNCTION__); \
-+        printk("%s: %s()\n", DRV_NAME, __FUNCTION__); \
-         printk(args); }
- #ifdef DEBUG
- /* Print trace message */
- #define TRACE \
--    if (log_level >= 2) printk("%s: %s(): line %d\n", MODULE_NAME, __FUNCTION__, __LINE__)
-+    if (log_level >= 2) printk("%s: %s(): line %d\n", DRV_NAME, __FUNCTION__, __LINE__)
- #else
- /* no trace */
- #define TRACE 
- #endif
- /* extern Linux kernel data */
--extern struct softnet_data softnet_data[]; /* used to get the current queue level */
- extern unsigned long loops_per_jiffy; /* used to calculate CPU clock speed */
- /* internal Ethernet Access layer polling entry points */
-@@ -295,10 +288,12 @@
- extern void 
- ixEthTxFrameDoneQMCallback(IxQMgrQId qId, IxQMgrCallbackId callbackId);
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+static void ixp425eth_poll_controller(struct net_device *dev);
-+#endif
-+
- /* Private device data */
- typedef struct {
--    spinlock_t lock;  /* multicast management lock */
--    
-     unsigned int msdu_size;
-     unsigned int replenish_size;
-     unsigned int pkt_size;
-@@ -338,17 +333,11 @@
-     /* TX MBUF pool */
-     IX_OSAL_MBUF_POOL *tx_pool;
--    /* id of thread for the link duplex monitoring */
--    int maintenanceCheckThreadId;
--
--    /* mutex locked by thread, until the thread exits */
--    struct semaphore *maintenanceCheckThreadComplete;
--
--    /* Used to stop the kernel thread for link monitoring. */
--    volatile BOOL maintenanceCheckStopped;
-+    /* link duplex monitoring */
-+    struct work_struct mii_job;
--    /* used for tx timeout */
--    struct tq_struct tq_timeout;
-+    /* handle tx timeouts */
-+    struct work_struct tx_timeout_job;
-     /* used to control the message output */
-     UINT32 devFlags;
-@@ -370,11 +359,13 @@
-  */
- /* values used inside the irq */
-+#ifdef IXP425ETH_POLLING_MODE
- static unsigned long timer_countup_ticks;
-+static unsigned int rx_queue_id = IX_QMGR_MAX_NUM_QUEUES;
-+#endif
- static IxQMgrDispatcherFuncPtr dispatcherFunc;
- static struct timeval  irq_stamp;  /* time of interrupt */
- static unsigned int maxbacklog = RX_MBUF_POOL_SIZE;
--static unsigned int rx_queue_id = IX_QMGR_MAX_NUM_QUEUES;
- /* Implements a software queue for skbufs 
-  * This queue is written in the tx done process and 
-@@ -523,13 +514,18 @@
- #endif
- };
-+/*
-+ * Shared workqueue thread for device maintenance tasks.
-+ */
-+static struct workqueue_struct *npe_eth_workqueue;
-+
- /* Mutex lock used to coordinate access to IxEthAcc functions
-  * which manipulate the MII registers on the PHYs
-  */
--static struct semaphore *miiAccessMutex;
-+static DECLARE_MUTEX(miiAccessMutex);
- /* mutex locked when maintenance is being performed */
--static struct semaphore *maintenance_mutex;
-+static DECLARE_MUTEX(maintenance_mutex);
- /* Flags which is set when the corresponding IRQ is running,
-  */
-@@ -592,7 +588,7 @@
-     printk(">> mbuf:\n");
-     hex_dump(mbuf, sizeof(*mbuf));
-     printk(">> m_data:\n");
--    hex_dump(__va(IX_OSAL_MBUF_MDATA(mbuf)), IX_OSAL_MBUF_MLEN(mbuf));
-+    hex_dump(IX_OSAL_MBUF_MDATA(mbuf), IX_OSAL_MBUF_MLEN(mbuf));
-     printk("\n-------------------------\n");
- }
-@@ -791,6 +787,8 @@
- #ifdef CONFIG_NETFILTER
- #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
- /* We need to free the memory attached to the nf_bridge pointer to avoid a memory leak */
-+       nf_bridge_put(skb->nf_bridge);
-+        skb->nf_bridge = NULL;
- #endif
- #endif /* CONFIG_NETFILTER */
-@@ -1041,135 +1039,63 @@
-  * KERNEL THREADS
-  */
--/* flush the pending signals for a thread and 
-- * check if a thread is killed  (e.g. system shutdown)
-- */
--static BOOL dev_thread_signal_killed(void)
--{
--    int killed = FALSE;
--    if (signal_pending (current))
--    {
--      spin_lock_irq(&current->sigmask_lock);
--      if (sigismember(&(current->pending.signal), SIGKILL)
--          || sigismember(&(current->pending.signal), SIGTERM))
--      {
--          /* someone kills this thread */
--          killed = TRUE;
--      }
--      flush_signals(current);
--      spin_unlock_irq(&current->sigmask_lock);
--    }
--    return killed;
--}
--
--/* This timer will check the PHY for the link duplex and
-+/* This workqueue job will check the PHY for the link duplex and
-  * update the MAC accordingly. It also executes some buffer
-  * maintenance to release mbuf in excess or replenish after
-  * a severe starvation
-  *
-  * This function loops and wake up every 3 seconds.
-  */
--static int dev_media_check_thread (void* arg)
-+static void dev_media_check_work (void* arg)
- {
-     struct net_device *dev = (struct net_device *) arg;
-     priv_data_t *priv = dev->priv;
--    int linkUp;
--    int speed100;
--    int fullDuplex = -1; /* unknown duplex mode */
--    int newDuplex;
--    int autonegotiate;
--    unsigned phyNum = phyAddresses[priv->port_id];
--    int res;
--    TRACE;
--    /* Lock the mutex for this thread.
--       This mutex can be used to wait until the thread exits
--    */
--    down (priv->maintenanceCheckThreadComplete);
--
--    daemonize();
--    reparent_to_init();
--    spin_lock_irq(&current->sigmask_lock);
--    sigemptyset(&current->blocked);
--    recalc_sigpending(current);
--    spin_unlock_irq(&current->sigmask_lock);
--    
--    snprintf(current->comm, sizeof(current->comm), "ixp425 %s", dev->name);
-+    /*
-+     * Determine the link status
-+     */
--    TRACE;
--    
--    while (1)
-+    if (default_phy_cfg[priv->port_id].linkMonitor)
-     {
--      /* We may have been woken up by a signal. If so, we need to
--       * flush it out and check for thread termination 
--       */ 
--      if (dev_thread_signal_killed())
--      {
--          priv->maintenanceCheckStopped = TRUE;
--      }
--
--      /* If the interface is down, or the thread is killed,
--       * or gracefully aborted, we need to exit this loop
--       */
--      if (priv->maintenanceCheckStopped)
--      {
--          break;
--      }
--      
--      /*
--       * Determine the link status
--       */
-+      int linkUp;
-+      int speed100;
-+      int fullDuplex = -1; /* unknown duplex mode */
-+      int newDuplex;
-+      int autonegotiate;
-+      unsigned phyNum = phyAddresses[priv->port_id];
-+      int res;
-       TRACE;
--      if (default_phy_cfg[priv->port_id].linkMonitor)
--      {
--          /* lock the MII register access mutex */
--          down(miiAccessMutex);
-+      /* lock the MII register access mutex */
-+      down(&miiAccessMutex);
-           
--          res = ixEthMiiLinkStatus(phyNum,
--                                   &linkUp,
--                                   &speed100,
--                                   &newDuplex, 
--                                   &autonegotiate);
--          /* release the MII register access mutex */
--          up(miiAccessMutex);
--
--          /* We may have been woken up by a signal. If so, we need to
--           * flush it out and check for thread termination 
--           */ 
--          if (dev_thread_signal_killed())
--          {
--              priv->maintenanceCheckStopped = TRUE;
--          }
-+      res = ixEthMiiLinkStatus(phyNum,
-+                               &linkUp,
-+                               &speed100,
-+                               &newDuplex, 
-+                               &autonegotiate);
-+      /* release the MII register access mutex */
-+      up(&miiAccessMutex);
-+
-+      if (res != IX_ETH_ACC_SUCCESS)
-+      {
-+          P_WARN("ixEthMiiLinkStatus failed on PHY%d.\n"
-+                 "\tCan't determine\nthe auto negotiated parameters. "
-+                 "Using default values.\n",
-+                 phyNum); 
-+            /* this shouldn't happen. exit the thread if it does */
-+            goto out;
-+      }
-           
--          /* If the interface is down, or the thread is killed,
--           * or gracefully aborted, we need to exit this loop
--           */
--          if (priv->maintenanceCheckStopped)
--          {
--              break;
--          }
--      
--          if (res != IX_ETH_ACC_SUCCESS)
-+      if (linkUp)
-+      {
-+          if (! netif_carrier_ok(dev))
-           {
--              P_WARN("ixEthMiiLinkStatus failed on PHY%d.\n"
--                     "\tCan't determine\nthe auto negotiated parameters. "
--                     "Using default values.\n",
--                     phyNum); 
--              /* something is bad, gracefully stops the loop */
--              priv->maintenanceCheckStopped = TRUE;
--              break;
-+              /* inform the kernel of a change in link state */
-+              netif_carrier_on(dev);
-           }
--          
--          if (linkUp)
--          {
--              if (! netif_carrier_ok(dev))
--              {
--                  /* inform the kernel of a change in link state */
--                  netif_carrier_on(dev);
--              }
-               /*
-                * Update the MAC mode to match the PHY mode if 
-@@ -1218,18 +1144,14 @@
-        * long
-        */
-       dev_buff_maintenance(dev);
--    
--      /* Now sleep for 3 seconds */
--      current->state = TASK_INTERRUPTIBLE;
--      schedule_timeout(MEDIA_CHECK_INTERVAL);
--    } /* while (1) ... */
--
--    /* free the mutex for this thread. */
--    up (priv->maintenanceCheckThreadComplete);
--
--    return 0;
-+      /* reschedule to run in 3 seconds */
-+      queue_delayed_work(npe_eth_workqueue, &priv->mii_job, 3*HZ);
-+out:
-+      return;
- }
-+#ifdef IXP425ETH_POLLING_MODE
-+
- /*
-  * TIMERS
-  *
-@@ -1263,12 +1185,14 @@
-     restore_flags(flags);
- }
-+#endif /* IXP425ETH_POLLING_MODE */
-+
- /* Internal ISR : run a few thousand times per second and calls 
-  * the queue manager dispatcher entry point.
-  */
--static void dev_qmgr_os_isr(int irg, void *dev_id, struct pt_regs *regs)
-+static irqreturn_t dev_qmgr_os_isr(int irg, void *dev_id, struct pt_regs *regs)
- {
--    int qlevel = softnet_data[0].input_pkt_queue.qlen;
-+    int qlevel = __get_cpu_var(softnet_data).input_pkt_queue.qlen;
-     /* at the interrupt entry, the queue contains already a few entries 
-      * so it is safe to decrease the number of entries
-@@ -1302,14 +1226,17 @@
-     /* call the queue manager entry point */
-     dispatcherFunc(IX_QMGR_QUELOW_GROUP);
-+    return IRQ_HANDLED;
- }
-+#ifdef IXP425ETH_POLLING_MODE
-+
- /* Internal ISR : run a few thousand times per second and calls 
-  * the ethernet entry point.
-  */
--static void dev_poll_os_isr(int irg, void *dev_id, struct pt_regs *regs)
-+static irqreturn_t dev_poll_os_isr(int irg, void *dev_id, struct pt_regs *regs)
- {
--    int qlevel = softnet_data[0].input_pkt_queue.qlen;
-+    int qlevel = __get_cpu_var(softnet_data).input_pkt_queue.qlen;
-     dev_pmu_timer_restart(); /* set up the timer for the next interrupt */
-     /* at the interrupt entry, the queue contains already a few entries 
-@@ -1346,6 +1273,7 @@
-     ixEthRxFrameQMCallback(rx_queue_id,0);
-     ixEthTxFrameDoneQMCallback(0,0);
-    
-+    return IRQ_HANDLED;
- }
- /* initialize the PMU timer */
-@@ -1400,46 +1328,33 @@
-     restore_flags(flags);
- }
--/* This timer will call ixEthDBDatabaseMaintenance every
-- * IX_ETH_DB_MAINTENANCE_TIME jiffies
-- */
--static void maintenance_timer_cb(unsigned long data);
--
--static struct timer_list maintenance_timer = {
--    function:&maintenance_timer_cb
--};
-+#endif /* IXP425ETH_POLLING_MODE */
--static void maintenance_timer_task(void *data);
--/* task spawned by timer interrupt for EthDB maintenance */
--static struct tq_struct tq_maintenance = {
--  routine:maintenance_timer_task
--};
-+static void db_maintenance_code(void *data);
-+static DECLARE_WORK(db_maintenance_job, db_maintenance_code, NULL);
--static void maintenance_timer_set(void)
-+static inline
-+void schedule_db_maintenance(void)
- {
--    maintenance_timer.expires = jiffies + DB_MAINTENANCE_TIME;
--    add_timer(&maintenance_timer);
-+    queue_delayed_work(npe_eth_workqueue, &db_maintenance_job,
-+                       DB_MAINTENANCE_TIME);
- }
--static void maintenance_timer_clear(void)
-+static inline
-+void cancel_db_maintenance(void)
- {
--    del_timer_sync(&maintenance_timer);
-+    cancel_delayed_work(&db_maintenance_job);
- }
--static void maintenance_timer_task(void *data)
-+static void db_maintenance_code(void *data)
- {
--    down(maintenance_mutex);
-+    down(&maintenance_mutex);
-     ixEthDBDatabaseMaintenance();
--    up(maintenance_mutex);
-+    up(&maintenance_mutex);
-+    schedule_db_maintenance();
- }
--static void maintenance_timer_cb(unsigned long data)
--{
--    schedule_task(&tq_maintenance);
--
--    maintenance_timer_set();
--}
- /*
-  *  DATAPLANE
-@@ -1553,7 +1468,7 @@
-        * and its constants are taken from the eth_type_trans()
-        * function.
-        */
--      struct ethhdr *eth = skb->mac.ethernet;
-+      struct ethhdr *eth = eth_hdr(skb);
-       unsigned short hproto = ntohs(eth->h_proto);
-       
-       if (hproto >= 1536)
-@@ -1595,7 +1510,7 @@
-            * mode is set This costs
-            * a lookup inside the packet payload.
-            */
--          struct ethhdr *eth = skb->mac.ethernet;
-+          struct ethhdr *eth = eth_hdr(skb);
-           unsigned char *hdest = eth->h_dest;
-           
-           if (memcmp(hdest, dev->dev_addr, ETH_ALEN)!=0)
-@@ -1654,7 +1569,7 @@
-     dev = (struct net_device *)callbackTag;
-     priv = dev->priv;
--    qlevel = softnet_data[0].input_pkt_queue.qlen;
-+    qlevel = __get_cpu_var(softnet_data).input_pkt_queue.qlen;
-     /* check if the system accepts more traffic and
-      * against chained mbufs 
-      */
-@@ -1754,10 +1669,6 @@
-     TRACE;
--    /* if called from irq handler, lock already acquired */
--    if (!in_irq())
--      spin_lock_irq(&priv->lock);
--
-     /* clear multicast addresses that were set the last time (if exist) */
-     ixEthAccPortMulticastAddressLeaveAll (priv->port_id);
-@@ -1838,10 +1749,10 @@
-     }
- Exit:
--    if (!in_irq())
--      spin_unlock_irq(&priv->lock);
-+    return;
- }
-+#ifdef IXP425ETH_POLLING_MODE
- /* The QMgr dispatch entry point can be called from the 
-  * IX_OSAL_IXP400_QM1_IRQ_LVL irq (which will trigger
-  * an interrupt for every packet) or a timer (which will
-@@ -1893,8 +1804,8 @@
-     /* poll the datapath from a timer IRQ */
-     if (request_irq(IX_OSAL_IXP400_XSCALE_PMU_IRQ_LVL,
-                     dev_poll_os_isr,
--                    SA_SHIRQ,
--                    MODULE_NAME,
-+                    SA_SHIRQ | SA_SAMPLE_RANDOM,
-+                    DRV_NAME,
-                     (void *)IRQ_ANY_PARAMETER))
-     {
-         P_ERROR("Failed to reassign irq to PMU timer interrupt!\n");
-@@ -1918,6 +1829,8 @@
-   return 0;
- }
-+#endif /* IXP425ETH_POLLING_MODE */
-+
- /* Enable the MAC port.
-  * Called on do_dev_open, dev_tx_timeout and mtu size changes
-  */
-@@ -1946,23 +1859,6 @@
-       return convert_error_ethAcc(res);       
-     }
--    /* restart the link-monitoring thread if necessary */
--    if (priv->maintenanceCheckStopped)
--    {
--      /* Starts the driver monitoring thread, if configured */
--      priv->maintenanceCheckStopped = FALSE;
--      
--      priv->maintenanceCheckThreadId = 
--          kernel_thread(dev_media_check_thread,
--                        (void *) dev,
--                        CLONE_FS | CLONE_FILES);
--      if (priv->maintenanceCheckThreadId < 0)
--      {
--          P_ERROR("%s: Failed to start thread for media checks\n", dev->name);
--          priv->maintenanceCheckStopped = TRUE;
--      }
--    }
--
-     /* force replenish if necessary */
-     dev_rx_buff_prealloc(priv);
-@@ -2019,38 +1915,11 @@
- static void port_disable(struct net_device *dev)
- {
-     priv_data_t *priv = dev->priv;
--    int res;
-     IX_STATUS status;
-     P_DEBUG("port_disable(%s)\n", dev->name);
--    if (!netif_queue_stopped(dev))
--    {
--        dev->trans_start = jiffies;
--        netif_stop_queue(dev);
--    }
--
--    if (priv->maintenanceCheckStopped)
--    {
--      /* thread is not running */
--    }
--    else
--    {
--      /* thread is running */
--      priv->maintenanceCheckStopped = TRUE;
--      /* Wake up the media-check thread with a signal.
--         It will check the 'running' flag and exit */
--      if ((res = kill_proc (priv->maintenanceCheckThreadId, SIGKILL, 1)))
--      {
--          P_ERROR("%s: unable to signal thread\n", dev->name);
--      }
--      else
--      {
--          /* wait for the thread to exit. */
--          down (priv->maintenanceCheckThreadComplete);
--          up (priv->maintenanceCheckThreadComplete);
--      }
--    }
-+    netif_stop_queue(dev);
-     /* Set callbacks when port is disabled */
-     ixEthAccPortTxDoneCallbackRegister(priv->port_id, 
-@@ -2100,7 +1969,6 @@
-             ixEthAccPortTxDoneCallbackRegister(priv->port_id, 
-                                                tx_done_queue_stopped_cb,
-                                                (UINT32)dev);
--            dev->trans_start = jiffies;
-             netif_stop_queue (dev);
-         }
-       return 0;
-@@ -2143,12 +2011,19 @@
-     int res;
-     /* prevent the maintenance task from running while bringing up port */
--    down(maintenance_mutex);
-+    down(&maintenance_mutex);
-     /* bring up the port */
-     res = port_enable(dev);
--    up(maintenance_mutex);
-+    up(&maintenance_mutex);
-+
-+    if(!res)
-+    {
-+      /* schedule mii job to run in 3 seconds */
-+      priv_data_t *priv = dev->priv;  
-+      queue_delayed_work(npe_eth_workqueue, &priv->mii_job, 3*HZ);
-+    }
-     return res;
- }
-@@ -2158,28 +2033,34 @@
-  */
- static int do_dev_stop(struct net_device *dev)
- {
-+    priv_data_t *priv = dev->priv;
-+
-     TRACE;
-+    cancel_delayed_work(&priv->mii_job);
-+    cancel_delayed_work(&priv->tx_timeout_job);
-+    netif_stop_queue(dev);
-+    netif_carrier_off(dev);
-     /* prevent the maintenance task from running while bringing up port */
--    down(maintenance_mutex);
-+    down(&maintenance_mutex);
-     /* bring the port down */
-     port_disable(dev);
--    up(maintenance_mutex);
-+    up(&maintenance_mutex);
-     return 0;
- }
- static void
--dev_tx_timeout_task(void *dev_id)
-+dev_tx_timeout_work(void *arg)
- {
--    struct net_device *dev = (struct net_device *)dev_id;
-+    struct net_device *dev = (struct net_device *)arg;
-     priv_data_t *priv = dev->priv;
-     P_WARN("%s: Tx Timeout for port %d\n", dev->name, priv->port_id);
--    down(maintenance_mutex);
-+    down(&maintenance_mutex);
-     port_disable(dev);
-     /* Note to user: Consider performing other reset operations here
-@@ -2202,7 +2083,7 @@
-       port_enable(dev);
-     }
--    up(maintenance_mutex);
-+    up(&maintenance_mutex);
- }
-@@ -2212,8 +2093,7 @@
-     priv_data_t *priv = dev->priv;
-     TRACE;
--    schedule_task(&priv->tq_timeout);
--    
-+    queue_work(npe_eth_workqueue, &priv->tx_timeout_job);
- }
- /* update the maximum msdu value for this device */
-@@ -2270,14 +2150,14 @@
-     }
-     /* safer to stop maintenance task while bringing port down and up */
--    down(maintenance_mutex);
-+    down(&maintenance_mutex);
-     if (ixEthDBFilteringPortMaximumFrameSizeSet(priv->port_id, 
-                                               new_msdu_size))
-     {
-       P_ERROR("%s: ixEthDBFilteringPortMaximumFrameSizeSet failed for port %d\n",
-               dev->name, priv->port_id);
--      up(maintenance_mutex);
-+      up(&maintenance_mutex);
-       return -1;
-     }
-@@ -2287,7 +2167,7 @@
-     /* update the driver mtu value */
-     dev->mtu = new_mtu_size;
--    up(maintenance_mutex);
-+    up(&maintenance_mutex);
-     return 0;
- }
-@@ -2316,27 +2196,27 @@
-         /* Read MII PHY register */
-       case SIOCGMIIREG:               
-       case SIOCDEVPRIVATE+1:
--          down (miiAccessMutex);     /* lock the MII register access mutex */
-+          down (&miiAccessMutex);     /* lock the MII register access mutex */
-           if ((res = ixEthAccMiiReadRtn (data->phy_id, data->reg_num, &data->val_out)))
-           {
-               P_ERROR("Error reading MII reg %d on phy %d\n",
-                      data->reg_num, data->phy_id);
-               res = -1;
-           }
--          up (miiAccessMutex);        /* release the MII register access mutex */
-+          up (&miiAccessMutex);       /* release the MII register access mutex */
-           return res;
-       /* Write MII PHY register */
-       case SIOCSMIIREG:
-       case SIOCDEVPRIVATE+2:
--          down (miiAccessMutex);     /* lock the MII register access mutex */
-+          down (&miiAccessMutex);     /* lock the MII register access mutex */
-           if ((res = ixEthAccMiiWriteRtn (data->phy_id, data->reg_num, data->val_in)))
-           {
-               P_ERROR("Error writing MII reg %d on phy %d\n",
-                         data->reg_num, data->phy_id);
-               res = -1;
-           }
--          up (miiAccessMutex);        /* release the MII register access mutex */
-+          up (&miiAccessMutex);       /* release the MII register access mutex */
-           return res;
-       /* set the MTU size */
-@@ -2373,7 +2253,7 @@
-     TRACE;
--    invalidate_dcache_range((unsigned int)&ethStats, sizeof(ethStats));
-+    IX_ACC_DATA_CACHE_INVALIDATE(&ethStats, sizeof(ethStats));
-     if ((res = ixEthAccMibIIStatsGetClear(priv->port_id, &ethStats)))
-     {
-       P_ERROR("%s: ixEthAccMibIIStatsGet failed for port %d, res = %d\n",
-@@ -2462,8 +2342,8 @@
-      */
-     if (request_irq(IX_OSAL_IXP400_QM1_IRQ_LVL,
-                     dev_qmgr_os_isr,
--                    SA_SHIRQ,
--                    MODULE_NAME,
-+                    SA_SHIRQ | SA_SAMPLE_RANDOM,
-+                    DRV_NAME,
-                     (void *)IRQ_ANY_PARAMETER))
-     {
-         P_ERROR("Failed to request_irq to Queue Manager interrupt!\n");
-@@ -2582,15 +2462,6 @@
-     BOOL physcan[IXP425_ETH_ACC_MII_MAX_ADDR];
-     int i, phy_found, num_phys_to_set, dev_count;
--    /* initialise the MII register access mutex */
--    miiAccessMutex = (struct semaphore *) kmalloc(sizeof(struct semaphore), GFP_KERNEL);
--    if (!miiAccessMutex)
--      return -ENOMEM;
--
--    init_MUTEX(miiAccessMutex);
--
--    TRACE;
--
-     /* detect the PHYs (ethMii requires the PHYs to be detected) 
-      * and provides a maximum number of PHYs to search for.
-      */
-@@ -2680,8 +2551,8 @@
-       if (port_id == IX_ETH_PORT_1) npe_id = "B";
-       if (port_id == IX_ETH_PORT_2) npe_id = "C";
--      P_INFO("%s%d is using NPE%s and the PHY at address %d\n",
--             DEVICE_NAME, dev_count, npe_id, phyAddresses[port_id]);
-+      P_INFO("npe%d is using NPE%s and the PHY at address %d\n",
-+             dev_count, npe_id, phyAddresses[port_id]);
-       /* Set the MAC to the same duplex mode as the phy */
-       ixEthAccPortDuplexModeSet(port_id,
-@@ -2693,12 +2564,11 @@
- }
- /* set port MAC addr and update the dev struct if successfull */
--int dev_set_mac_address(struct net_device *dev, void *addr)
-+int dev_set_mac_address(struct net_device *dev, struct sockaddr *saddr)
- {
-     int res;
-     priv_data_t *priv = dev->priv;
-     IxEthAccMacAddr npeMacAddr;
--    struct sockaddr *saddr = (struct sockaddr *)addr;
-     /* Get MAC addr from parameter */
-     memcpy(&npeMacAddr.macAddress,
-@@ -2758,7 +2628,7 @@
- static struct Qdisc_ops dev_qdisc_ops =
- {
--      NULL, NULL, "ixp425_eth", 0,
-+      NULL, NULL, DRV_NAME, 0,
-       dev_qdisc_no_enqueue, 
-       dev_qdisc_no_dequeue,
-       dev_qdisc_no_enqueue, 
-@@ -2771,35 +2641,13 @@
- /* Initialize device structs.
-  * Resource allocation is deffered until do_dev_open
-  */
--static int __devinit dev_eth_probe(struct net_device *dev)
-+static int __devinit dev_eth_probe(struct device *dev)
- {
--    static int found_devices = 0;
--    priv_data_t *priv;
--
--    TRACE;
--
--    /* there is a limited number of devices */
--    if (found_devices >= dev_max_count) /* module parameter */
--      return -ENODEV;
--
--    SET_MODULE_OWNER(dev);
--
--    /* set device name */
--    strcpy(dev->name, found_devices ? DEVICE_NAME "1" : DEVICE_NAME "0");
--
--    /* allocate and initialize priv struct */
--    priv = dev->priv = kmalloc(sizeof(priv_data_t), GFP_KERNEL);
--    if (dev->priv == NULL)
--      return -ENOMEM;
--
--    memset(dev->priv, 0, sizeof(priv_data_t));
--
--    TRACE;
--
--    /* set the mapping between port ID and devices 
--     * 
--     */
--    priv->port_id  = default_portId[found_devices];
-+    int res = -ENOMEM;
-+    struct platform_device *pdev = to_platform_device(dev);
-+    struct net_device *ndev = dev_get_drvdata(dev);
-+    priv_data_t *priv = (priv_data_t*)ndev->priv;
-+    priv->port_id  = pdev->id;
-     TRACE;
-@@ -2809,9 +2657,8 @@
-     if(priv->rx_pool == NULL)
-     {
-       P_ERROR("%s: Buffer RX Pool init failed on port %d\n",
--              dev->name, priv->port_id);
--      kfree(dev->priv);
--      return -ENOMEM;
-+              ndev->name, priv->port_id);
-+      goto out;
-     }
-     TRACE;
-@@ -2822,45 +2669,38 @@
-     if(priv->tx_pool == NULL)
-     {
-       P_ERROR("%s: Buffer TX Pool init failed on port %d\n",
--              dev->name, priv->port_id);
--      kfree(dev->priv);
--      return -ENOMEM;
-+              ndev->name, priv->port_id);
-+      goto out;
-     }
--     TRACE;
-+    TRACE;
--   /* initialise the MII register access mutex */
--    priv->maintenanceCheckThreadComplete = (struct semaphore *)
--      kmalloc(sizeof(struct semaphore), GFP_KERNEL);
--    if (!priv->maintenanceCheckThreadComplete)
--    {
--      kfree(dev->priv);
--      return -ENOMEM;
--    }
--    priv->lock = SPIN_LOCK_UNLOCKED;
--    init_MUTEX(priv->maintenanceCheckThreadComplete);
--    priv->maintenanceCheckStopped = TRUE;
--
--    /* initialize ethernet device (default handlers) */
--    ether_setup(dev);
-+    /* initialise the MII and tx timeout jobs */
-+    INIT_WORK(&priv->mii_job, dev_media_check_work, ndev);
-+    INIT_WORK(&priv->tx_timeout_job, dev_tx_timeout_work, ndev);
-     TRACE;
--     /* fill in dev struct callbacks with customized handlers */
--    dev->open = do_dev_open;
--    dev->stop = do_dev_stop;
-+    /* initialize ethernet device (default handlers) */
-+    ether_setup(ndev);
--    dev->hard_start_xmit = dev_hard_start_xmit;
-+     /* fill in dev struct callbacks with customized handlers */
-+    ndev->open = do_dev_open;
-+    ndev->stop = do_dev_stop;
--    dev->watchdog_timeo = DEV_WATCHDOG_TIMEO;
--    dev->tx_timeout = dev_tx_timeout;
--    dev->change_mtu = dev_change_mtu;
--    dev->do_ioctl = do_dev_ioctl;
--    dev->get_stats = dev_get_stats;
--    dev->set_multicast_list = dev_set_multicast_list;
--    dev->flags |= IFF_MULTICAST;
-+    ndev->hard_start_xmit = dev_hard_start_xmit;
--    dev->set_mac_address = dev_set_mac_address;
-+    ndev->watchdog_timeo = DEV_WATCHDOG_TIMEO;
-+    ndev->tx_timeout = dev_tx_timeout;
-+    ndev->change_mtu = dev_change_mtu;
-+    ndev->do_ioctl = do_dev_ioctl;
-+    ndev->get_stats = dev_get_stats;
-+    ndev->set_multicast_list = dev_set_multicast_list;
-+    ndev->flags |= IFF_MULTICAST;
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+    ndev->poll_controller = ixp425eth_poll_controller;
-+#endif
-+    ndev->set_mac_address = dev_set_mac_address;
-     TRACE;
-@@ -2878,22 +2718,22 @@
-      *
-      */
--    memcpy(dev->dev_addr, 
-+    memcpy(ndev->dev_addr, 
-          &default_mac_addr[priv->port_id].macAddress,
-          IX_IEEE803_MAC_ADDRESS_SIZE);
-     /* possibly remove this test and the message when a valid MAC address 
-      * is not hardcoded in the driver source code. 
-      */
--    if (is_valid_ether_addr(dev->dev_addr))
-+    if (is_valid_ether_addr(ndev->dev_addr))
-     {
-       P_WARN("Use default MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x for port %d\n",
--             (unsigned)dev->dev_addr[0],
--             (unsigned)dev->dev_addr[1],
--             (unsigned)dev->dev_addr[2],
--             (unsigned)dev->dev_addr[3],
--             (unsigned)dev->dev_addr[4],
--             (unsigned)dev->dev_addr[5],
-+             (unsigned)ndev->dev_addr[0],
-+             (unsigned)ndev->dev_addr[1],
-+             (unsigned)ndev->dev_addr[2],
-+             (unsigned)ndev->dev_addr[3],
-+             (unsigned)ndev->dev_addr[4],
-+             (unsigned)ndev->dev_addr[5],
-              priv->port_id);
-     }
-     
-@@ -2903,62 +2743,132 @@
-      */
-     TRACE;
--    dev_change_msdu(dev, dev->mtu + dev->hard_header_len + VLAN_HDR);
--
--    priv->tq_timeout.routine = dev_tx_timeout_task;
--    priv->tq_timeout.data = (void *)dev;
-+    dev_change_msdu(ndev, ndev->mtu + ndev->hard_header_len + VLAN_HDR);
- #ifdef CONFIG_IXP425_ETH_QDISC_ENABLED
-     /* configure and enable a fast TX queuing discipline */
-     TRACE;
--    priv->qdisc = qdisc_create_dflt(dev, &dev_qdisc_ops);
--    dev->qdisc_sleeping = priv->qdisc;
--    dev->qdisc = priv->qdisc;
-+    priv->qdisc = qdisc_create_dflt(ndev, &dev_qdisc_ops);
-+    ndev->qdisc_sleeping = priv->qdisc;
-+    ndev->qdisc = priv->qdisc;
-     
--    if (!dev->qdisc_sleeping)
-+    if (!ndev->qdisc_sleeping)
-     {
-       P_ERROR("%s: qdisc_create_dflt failed on port %d\n",
--              dev->name, priv->port_id);
--      kfree(dev->priv);
--      return -ENOMEM;
-+              ndev->name, priv->port_id);
-+      goto out;
-     }
- #endif
-     /* set the internal maximum queueing capabilities */
--    dev->tx_queue_len = TX_MBUF_POOL_SIZE;
-+    ndev->tx_queue_len = TX_MBUF_POOL_SIZE;
--    if (!netif_queue_stopped(dev))
--    {
--      TRACE;
-+    if ((res = register_netdev(ndev)))
-+        P_ERROR("Failed to register netdev. res = %d\n", res);
-+out:
-+    return res;
-+}
--        dev->trans_start = jiffies;
--        netif_stop_queue(dev);
--    }
-+#ifdef CONFIG_NET_POLL_CONTROLLER
-+/*
-+ * Polling receive - used by netconsole and other diagnostic tools
-+ * to allow network i/o with interrupts disabled.
-+ * (stolen from 8139too.c by siddy)
-+ */
-+static void ixp425eth_poll_controller(struct net_device *dev)
-+{
-+        disable_irq(dev->irq);
-+        dev_qmgr_os_isr(dev->irq, dev, NULL);
-+        enable_irq(dev->irq);
-+}
-+#endif
--    found_devices++;
-+static int __devinit npe_eth_init_device(struct device *dev)
-+{
-+    int res = -ENOMEM;
-+    int ixRes = 0;
-+    struct platform_device *pdev = to_platform_device(dev);
-+    struct net_device *ndev = alloc_etherdev(sizeof(priv_data_t));
-+    if (ndev == NULL) {
-+        P_ERROR("could not allocate device.\n");
-+        goto out;
-+    }
-+    SET_MODULE_OWNER(ndev);
-+    SET_NETDEV_DEV(ndev, dev);
-+    ixEthAccTxSchedulingDisciplineSet(pdev->id, FIFO_NO_PRIORITY);
-+    dev_set_drvdata(dev, ndev);
-+    res = dev_eth_probe(dev);
-+    if (res == 0) {
-+        /* This was added in v0.1.8 of the driver. It seems that we need to
-+         * enable the port before the user can set a mac address for the port
-+         * using 'ifconfig hw ether ...'. To enable the port we must first
-+         * register Q callbacks, so we register the portDisable callbacks to
-+         * ensure that no buffers are passed up to the kernel until the port is
-+         * brought up properly (ifconfig up)
-+         */
-+        if ((ixRes = ixEthAccPortTxDoneCallbackRegister(pdev->id, 
-+                                                    tx_done_disable_cb,
-+                                                    (UINT32)dev)))
--    TRACE;
-+      {
-+          TRACE;
-+          res = convert_error_ethAcc(ixRes);
-+          goto out;
-+      }
-+        if ((ixRes = ixEthAccPortRxCallbackRegister(pdev->id, 
-+                                                rx_disable_cb, 
-+                                                (UINT32)dev)))
-+      {
-+          TRACE;
-+          res = convert_error_ethAcc(ixRes);
-+          goto out;
-+      }
-+        port_enable(ndev);
-+    } else {
-+        dev_set_drvdata(dev, NULL);
-+        kfree(ndev);
-+    }
-+out:
-+    return res;
-+}
-+static int __devexit npe_eth_fini_device(struct device *dev)
-+{
-+    struct net_device *ndev = dev_get_drvdata(dev);
-+    dev_set_drvdata(dev, NULL);
-+    unregister_netdev(ndev);
-+    kfree(ndev);
-     return 0;
- }
--
- /* Module initialization and cleanup */
- #ifdef MODULE
--static struct net_device ixp425_devices[IX_ETH_ACC_NUMBER_OF_PORTS];
-+static struct device_driver npe_eth_driver = {
-+    .name       = DRV_NAME,
-+    .bus        = &platform_bus_type,
-+    .probe      = npe_eth_init_device,
-+    .remove     = npe_eth_fini_device,
-+};
--int init_module(void)
--{
--    int res, dev_count;
--    IxEthAccPortId portId;
--    struct net_device *dev;
-+static struct platform_device npe_eth_devs[] = {
-+    {
-+        .name   = DRV_NAME,
-+        .id     = IX_ETH_PORT_1,
-+    },
-+    {
-+        .name   = DRV_NAME,
-+        .id     = IX_ETH_PORT_2,
-+    }
-+};
--    TRACE;
-+static int __init ixp425_eth_init(void)
-+{
-+    int res;
--    P_INFO("Initializing IXP425 NPE Ethernet driver software v. " MODULE_VERSION " \n");
-+    P_INFO("Initializing IXP425 NPE Ethernet driver software v. " DRV_VERSION " \n");
-     TRACE;
-@@ -3037,82 +2947,16 @@
-     TRACE;
--    /* Initialise the driver structure */
--    for (dev_count = 0; 
--       dev_count < dev_max_count;  /* module parameter */
--       dev_count++)
--    {
--      portId = default_portId[dev_count];
--
--      dev = &ixp425_devices[dev_count];
--
--      dev->init = dev_eth_probe;
--
--        TRACE;
--
--      if ((res = register_netdev(dev)))
--      {
--          TRACE;
--
--          P_ERROR("Failed to register netdev. res = %d\n", res);
--          return res;
--      }
--
--        TRACE;
--
--      /* register "safe" callbacks. This ensure that no traffic will be 
--       * sent to the stack until the port is brought up (ifconfig up)
--       */
--        if ((res = ixEthAccPortTxDoneCallbackRegister(portId, 
--                                                    tx_done_disable_cb,
--                                                    (UINT32)dev)))
--
--      {
--          TRACE;
--          return convert_error_ethAcc(res);
--      }
--        if ((res = ixEthAccPortRxCallbackRegister(portId, 
--                                                rx_disable_cb, 
--                                                (UINT32)dev)))
--      {
--          TRACE;
--          return convert_error_ethAcc(res);
--      }
--    }
--
--    TRACE;
--
--    if (no_csr_init == 0 && datapath_poll != 0 ) /* module parameter */
--    {
--      /* The QMgr dispatch entry point is called from the 
--       * IX_OSAL_IXP400_QM1_IRQ_LVL irq (which will trigger
--       * an interrupt for every packet)
--       * This function setup the datapath in polling mode
--       * for better performances.
--       */
--
--        if ((res = ethAcc_datapath_poll_setup()))
--      {
--          TRACE;
--          return res;
--      }
--    }
--
--    TRACE;
--
--    /* initialise the DB Maintenance task mutex */
--    maintenance_mutex = (struct semaphore *) kmalloc(sizeof(struct semaphore), GFP_KERNEL);
--    if (!maintenance_mutex)
-+    npe_eth_workqueue = create_workqueue(DRV_NAME);
-+    if (npe_eth_workqueue == NULL)
-       return -ENOMEM;
--    init_MUTEX(maintenance_mutex);
--
-     TRACE;
-     /* Do not start the EthDB maintenance thread if learning & filtering feature is disabled */
-     if (npe_learning) /* module parameter */
-     {
--        maintenance_timer_set();
-+        schedule_db_maintenance();
-     }
-     TRACE;
-@@ -3127,12 +2971,29 @@
-     }
-     netdev_max_backlog /= BACKLOG_TUNE;
-+    res = driver_register(&npe_eth_driver);
-+    if (res != 0) {
-+        P_ERROR("Failed to register NPE EThernet driver (res = %d)\n", res);
-+        return res;
-+    }
-+
-     TRACE;
-+    res = platform_device_register(&npe_eth_devs[0]);
-+    if (res != 0) {
-+        P_ERROR("Failed to register NPE platform device 0 (res = %d)\n", res);
-+        return res;
-+    }
-+    res = platform_device_register(&npe_eth_devs[1]);
-+    if (res != 0) {
-+        P_ERROR("Failed to register NPE platform device 1 (res = %d)\n", res);
-+        return res;
-+    }
-+
-     return 0;
- }
--void cleanup_module(void)
-+static void __exit ixp425_eth_exit(void)
- {
-     int dev_count;
-@@ -3147,7 +3008,9 @@
-     {
-       TRACE;
-+#ifdef IXP425ETH_POLLING_MODE
-       dev_pmu_timer_disable(); /* stop the timer */
-+#endif
-     
-       if (irq_pmu_used) 
-         {
-@@ -3169,19 +3032,10 @@
-     TRACE;
--    /* stop the maintenance timer */
--    maintenance_timer_clear();
--
--    TRACE;
--
--    /* Wait for maintenance task to complete (if started) */
--    if (npe_learning) /* module parameter */
--    {
--      TRACE;
--
--      down(maintenance_mutex);
--      up(maintenance_mutex);
--    }
-+    /* stop the maintenance timer and destroy the driver's work queue */
-+    cancel_db_maintenance();
-+    flush_workqueue(npe_eth_workqueue);
-+    destroy_workqueue(npe_eth_workqueue);
-     TRACE;
-@@ -3194,37 +3048,39 @@
-        dev_count < dev_max_count;  /* module parameter */
-        dev_count++)
-     {
--      struct net_device *dev = &ixp425_devices[dev_count];
--      priv_data_t *priv = dev->priv;
--      if (priv != NULL)
-+      IxEthAccPortId portId = default_portId[dev_count];
-+      
-+      if (default_npeImageId[portId] == IX_ETH_NPE_B_IMAGE_ID)
-       {
--          IxEthAccPortId portId = default_portId[dev_count];
--
--          if (default_npeImageId[portId] == IX_ETH_NPE_B_IMAGE_ID)
-+          if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEB))
-           {
--              if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEB))
--              {
--                  P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
--              }
-+              P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
-           }
--          if (default_npeImageId[portId] == IX_ETH_NPE_C_IMAGE_ID)
-+      }
-+      if (default_npeImageId[portId] == IX_ETH_NPE_C_IMAGE_ID)
-+      {
-+          if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEC))
-           {
--              if (IX_SUCCESS != ixNpeDlNpeStopAndReset(IX_NPEDL_NPEID_NPEC))
--              {
--                  P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
--              }
-+              P_NOTICE("Error Halting NPE for Ethernet port %d!\n", portId);
-           }
--          unregister_netdev(dev);
--          kfree(dev->priv);
--          dev->priv = NULL;
-       }
-     }
-     TRACE;
-+    driver_unregister(&npe_eth_driver);
-+    platform_device_unregister(&npe_eth_devs[1]);
-+    platform_device_unregister(&npe_eth_devs[0]);
-+
-+    TRACE;
-+
-     P_VERBOSE("IXP425 NPE Ethernet driver software uninstalled\n");
- }
- #endif /* MODULE */
-+module_init(ixp425_eth_init);
-+module_exit(ixp425_eth_exit);
-+
-+
diff --git a/recipes/ixp425-eth/ixp425-eth-1.2/makefile.patch b/recipes/ixp425-eth/ixp425-eth-1.2/makefile.patch
deleted file mode 100644 (file)
index f26c28e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./Makefile 2005-10-01 00:36:42.634757244 -0700
-+++ ./Makefile 2005-10-01 00:39:00.107407852 -0700
-@@ -6,7 +6,7 @@
- OSAL_DIR := $(IX_XSCALE_SW)/../ixp_osal
- CFLAGS_ixp425_eth.o = -DWall \
--          -I$(IX_XSCALE_SW)/src/include \
-+          -I$(IXP4XX_CSR_DIR) \
-           -I$(OSAL_DIR)/ \
-           -I$(OSAL_DIR)/os/linux/include/ \
-           -I$(OSAL_DIR)/os/linux/include/modules/ \
diff --git a/recipes/ixp425-eth/ixp425-eth_1.1.bb b/recipes/ixp425-eth/ixp425-eth_1.1.bb
deleted file mode 100644 (file)
index 92e11e3..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-DEPENDS = "ixp4xx-csr patcher-native"
-LICENSE = "GPL"
-SRC_URI = "http://www.intel.com/design/network/swsup/ixp400LinuxEthernetDriverPatch-1_1.zip \
-          http://nslu.sourceforge.net/downloads/ixp425_eth.c.patch \
-          file://makefile.patch;patch=1 \
-          file://ethhdr.patch;patch=1 \
-          file://intdriven.patch;patch=1 \
-          file://pollcontroller.patch;patch=1 \
-          file://mm4.patch;patch=1"
-SRC_URI += "file://2.6.13.patch;patch=1"
-SRC_URI += "file://2.6.14.patch;patch=1"
-SRC_URI += "file://modprobe.conf"
-PR = "r15"
-
-RDEPENDS = "ixp4xx-csr"
-
-S = "${WORKDIR}"
-
-COMPATIBLE_HOST = "^armeb-linux.*"
-
-PROVIDES = "virtual/ixp-eth"
-RPROVIDES = "ixp-eth"
-
-inherit module
-
-do_pre_patch () {
-       patcher -p 0 -i ixp425_eth_1_1_update_nf_bridge.patch
-       patcher -f -p 0 -i ixp425_eth.c.patch
-}
-
-addtask pre_patch before do_patch
-
-do_compile () {
-        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-       oe_runmake 'KDIR=${STAGING_KERNEL_DIR}' \
-                  'CC=${KERNEL_CC}' \
-                  'LD=${KERNEL_LD}' \
-                  'EXTRA_CFLAGS=-I${STAGING_INCDIR}/linux/ixp4xx-csr -I${STAGING_KERNEL_DIR}/include -DCPU=33 -DXSCALE=33'
-}
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
-       install -m 0644 ixp425_eth.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
-       install -d ${D}${sysconfdir}/modprobe.d
-       install -m 0644 modprobe.conf ${D}${sysconfdir}/modprobe.d/eth0
-}
diff --git a/recipes/ixp425-eth/ixp425-eth_1.2.bb b/recipes/ixp425-eth/ixp425-eth_1.2.bb
deleted file mode 100644 (file)
index 9d537d9..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# This is the Intel GPL IXP4XX ethernet driver (Linux) plus patches
-# to make it work on 2.6 kernels.
-#
-LICENSE = "GPL"
-SRC_URI = "ftp://download.intel.com/design/network/swsup/ixp400linuxethernetdriverpatch-1_2.zip"
-SRC_URI += "file://ixp400linuxethernetdriver-1_2-kernel26_hr_20050929.patch;patch=1"
-SRC_URI += "file://makefile.patch;patch=1"
-SRC_URI += "file://2.6.13.patch;patch=1"
-SRC_URI += "file://2.6.14.patch;patch=1"
-SRC_URI += "file://modprobe.conf"
-PR = "r4"
-
-DEPENDS = "ixp4xx-csr"
-RDEPENDS = "ixp4xx-csr"
-
-S = "${WORKDIR}"
-
-COMPATIBLE_HOST = "^armeb-linux.*"
-
-PROVIDES = "virtual/ixp-eth"
-RPROVIDES = "ixp-eth"
-
-inherit module
-
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'IXP4XX_CSR_DIR=${STAGING_INCDIR}/linux/ixp4xx-csr' \
-               'OSAL_DIR=${OSAL_DIR}' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               "
-
-do_compile () {
-        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-       oe_runmake
-}
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
-       install -m 0644 ixp425_eth.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/
-       install -d ${D}${sysconfdir}/modprobe.d
-       install -m 0644 modprobe.conf ${D}${sysconfdir}/modprobe.d/eth0
-}
diff --git a/recipes/ixp4xx/ixp-osal-1.5/2.6.patch b/recipes/ixp4xx/ixp-osal-1.5/2.6.patch
deleted file mode 100644 (file)
index 3e47fe2..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-diff -Naur ixp_osal.orig/Makefile ixp_osal/Makefile
---- ixp_osal.orig/Makefile     2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/Makefile  2005-08-24 00:18:02.000000000 +0200
-@@ -172,7 +172,7 @@
- # TODO push this to linux make
- ifeq ($(IX_OSAL_MK_HOST_OS), linux)
--INCLUDE_DIRS += $(LINUX_SRC)/include/asm-arm/arch-ixp425/
-+INCLUDE_DIRS += $(LINUX_SRC)/include/asm-arm/arch-ixp4xx/
- endif
- CFLAGS += $(INCLUDE_DIRS:%=-I%)
-diff -Naur ixp_osal.orig/include/linux-2.6.h ixp_osal/include/linux-2.6.h
---- ixp_osal.orig/include/linux-2.6.h  1970-01-01 01:00:00.000000000 +0100
-+++ ixp_osal/include/linux-2.6.h       2005-08-26 15:20:23.000000000 +0200
-@@ -0,0 +1,52 @@
-+/* */
-+
-+#include "asm/page.h"
-+
-+#if !defined (IXP425_TIMER_BASE_PHYS)
-+# define IXP425_TIMER_BASE_PHYS       IXP4XX_TIMER_BASE_PHYS
-+#endif
-+#if !defined (IRQ_IXP425_XSCALE_PMU)
-+# define IRQ_IXP425_XSCALE_PMU                IRQ_IXP4XX_XSCALE_PMU
-+#endif
-+#if !defined (IXP425_QMGR_BASE_PHYS)
-+# define IXP425_QMGR_BASE_PHYS                IXP4XX_QMGR_BASE_PHYS
-+#endif
-+#if !defined (IXP425_PERIPHERAL_BASE_PHYS)
-+# define IXP425_PERIPHERAL_BASE_PHYS  IXP4XX_PERIPHERAL_BASE_PHYS
-+#endif
-+#if !defined (IXP425_PERIPHERAL_BASE_VIRT)
-+# define IXP425_PERIPHERAL_BASE_VIRT  IXP4XX_PERIPHERAL_BASE_VIRT
-+#endif
-+#if !defined (IXP425_EXP_CFG_BASE_PHYS)
-+# define IXP425_EXP_CFG_BASE_PHYS     IXP4XX_EXP_CFG_BASE_PHYS
-+#endif
-+#if !defined (IXP425_EXP_CFG_BASE_VIRT)
-+# define IXP425_EXP_CFG_BASE_VIRT     IXP4XX_EXP_CFG_BASE_VIRT
-+#endif
-+#if !defined (IXP425_PCI_CFG_BASE_PHYS)
-+# define IXP425_PCI_CFG_BASE_PHYS     IXP4XX_PCI_CFG_BASE_PHYS
-+#endif
-+#if !defined (IXP425_PCI_CFG_BASE_VIRT)
-+# define IXP425_PCI_CFG_BASE_VIRT     IXP4XX_PCI_CFG_BASE_VIRT
-+#endif
-+#if !defined (IXP425_EXP_BUS_BASE2_PHYS)
-+# define IXP425_EXP_BUS_BASE2_PHYS    IXP4XX_EXP_BUS_CS2_BASE_PHYS
-+#endif
-+#if !defined (IXP425_EthA_BASE_PHYS)
-+# define IXP425_EthA_BASE_PHYS                (IXP4XX_PERIPHERAL_BASE_PHYS + 0x9000)
-+#endif
-+#if !defined (IXP425_EthB_BASE_PHYS)
-+# define IXP425_EthB_BASE_PHYS                (IXP4XX_PERIPHERAL_BASE_PHYS + 0xA000)
-+#endif
-+#if !defined (IXP425_ICMR)
-+# define IXP425_ICMR                  IXP4XX_ICMR
-+#endif
-+#if !defined (IXP425_USB_BASE_PHYS)
-+# define IXP425_USB_BASE_PHYS         IXP4XX_USB_BASE_PHYS
-+#endif
-+#if !defined (IXP425_INTC_BASE_PHYS)
-+# define IXP425_INTC_BASE_PHYS                IXP4XX_INTC_BASE_PHYS
-+#endif
-+#if !defined (IRQ_IXP425_USB)
-+# define IRQ_IXP425_USB                       IRQ_IXP4XX_USB
-+#endif
-diff -Naur ixp_osal.orig/os/linux/include/core/IxOsalOs.h ixp_osal/os/linux/include/core/IxOsalOs.h
---- ixp_osal.orig/os/linux/include/core/IxOsalOs.h     2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/include/core/IxOsalOs.h  2005-08-26 01:56:22.000000000 +0200
-@@ -56,6 +56,7 @@
- #include <linux/cache.h>
- #include <linux/mm.h>
- #include <linux/config.h>
-+#include <linux/version.h>
- #include <asm/pgalloc.h>
- /**
-@@ -66,9 +67,23 @@
- #define IX_OSAL_OS_MMU_PHYS_TO_VIRT(addr)  ((addr) ? phys_to_virt((unsigned int)(addr)) : 0)
--#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size)  ( invalidate_dcache_range((__u32)addr, (__u32)addr + size )) 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+/*
-+ * 2.6 kernels do not export the required cache functions.
-+ */
-+extern void ixOsalCacheInvalidateRange(unsigned long start, unsigned long size);
-+extern void ixOsalCacheFlushRange(unsigned long start, unsigned long size);
-+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size) \
-+ixOsalCacheInvalidateRange((unsigned long)addr, (unsigned long)addr + size)
-+#define IX_OSAL_OS_CACHE_FLUSH(addr, size) \
-+ixOsalCacheFlushRange((unsigned long)addr, (unsigned long)addr + size )
-+#else
-+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size)  ( invalidate_dcache_range((__u32)addr, (__u32)addr + size )) 
- #define IX_OSAL_OS_CACHE_FLUSH(addr, size) ( clean_dcache_range((__u32)addr, (__u32)addr + size ))
-+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
- #define printf        printk /* For backword compatibility, needs to move to better location */
-diff -Naur ixp_osal.orig/os/linux/include/platforms/ixp400/IxOsalOsIxp400.h ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400.h
---- ixp_osal.orig/os/linux/include/platforms/ixp400/IxOsalOsIxp400.h   2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400.h        2005-08-26 15:20:23.000000000 +0200
-@@ -53,6 +53,8 @@
- #include "asm/hardware.h"
- #include "asm/arch/irqs.h"
-+#include <linux-2.6.h>                /* Glue */
-+
- /* physical addresses to be used when requesting memory with IX_OSAL_MEM_MAP */
- #define IX_OSAL_IXP400_INTC_PHYS_BASE          IXP425_INTC_BASE_PHYS
- #define IX_OSAL_IXP400_GPIO_PHYS_BASE          IXP425_GPIO_BASE_PHYS
-@@ -108,7 +110,6 @@
- #define IX_OSAL_IXP400_NPEB_VIRT_BASE          IXP425_NPEB_BASE_VIRT
- #define IX_OSAL_IXP400_NPEC_VIRT_BASE          IXP425_NPEC_BASE_VIRT
- #define IX_OSAL_IXP400_PERIPHERAL_VIRT_BASE    IXP425_PERIPHERAL_BASE_VIRT
--#define IX_OSAL_IXP400_QMGR_VIRT_BASE          IXP425_QMGR_BASE_VIRT
- #define IX_OSAL_IXP400_OSTS_VIRT_BASE          IXP425_TIMER_BASE_VIRT
- #define IX_OSAL_IXP400_USB_VIRT_BASE           IXP425_USB_BASE_VIRT
- #define IX_OSAL_IXP400_EXP_CFG_VIRT_BASE       IXP425_EXP_CFG_BASE_VIRT
-@@ -239,12 +240,21 @@
-      * Queue Manager 
-      */
-     {
-+#ifdef IXP425_QMGR_BASE_VIRT
-      IX_OSAL_STATIC_MAP,      /* type            */
-      IX_OSAL_IXP400_QMGR_PHYS_BASE,   /* physicalAddress */
-      IX_OSAL_IXP400_QMGR_MAP_SIZE,    /* size            */
-      IX_OSAL_IXP400_QMGR_VIRT_BASE,   /* virtualAddress  */
-      NULL,                    /* mapFunction     */
-      NULL,                    /* unmapFunction   */
-+#else
-+     IX_OSAL_DYNAMIC_MAP,                  /* type            */
-+     IX_OSAL_IXP400_QMGR_PHYS_BASE,   /* physicalAddress */
-+     IX_OSAL_IXP400_QMGR_MAP_SIZE,    /* size            */
-+     0,                               /* virtualAddress  */
-+     ixOsalLinuxMemMap,               /* mapFunction     */
-+     ixOsalLinuxMemUnmap,     /* unmapFunction   */
-+#endif
-      0,                               /* refCount        */
-      IX_OSAL_BE | IX_OSAL_LE_DC,      /* endianType      */   
-      "qMgr"                   /* name            */
-diff -Naur ixp_osal.orig/os/linux/make/macros.mk ixp_osal/os/linux/make/macros.mk
---- ixp_osal.orig/os/linux/make/macros.mk      2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/make/macros.mk   2005-08-26 15:17:37.000000000 +0200
-@@ -71,10 +71,12 @@
- ################################################################
- # Linux Compiler & linker commands
--ifeq ($(IX_OSAL_MK_TARGET_ENDIAN), linuxbe)
--LINUX_CROSS_COMPILE := $(HARDHAT_BASE)/devkit/arm/xscale_be/bin/xscale_be-
--else
--LINUX_CROSS_COMPILE := $(HARDHAT_BASE)/devkit/arm/xscale_le/bin/xscale_le-
-+ifeq "$(LINUX_CROSS_COMPILE)" "" 
-+ ifeq ($(IX_OSAL_MK_TARGET_ENDIAN), linuxbe)
-+  LINUX_CROSS_COMPILE := $(HARDHAT_BASE)/devkit/arm/xscale_be/bin/xscale_be-
-+ else
-+  LINUX_CROSS_COMPILE := $(HARDHAT_BASE)/devkit/arm/xscale_le/bin/xscale_le-
-+ endif
- endif
- LINUX_SRC := $($(IX_TARGET)_KERNEL_DIR)
-@@ -91,9 +93,11 @@
- LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
- CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common \
--          -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE \
-+          -pipe -mapcs-32 -msoft-float -DMODULE \
-           -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS) -DEXPORT_SYMTAB
-+# -mshort-load-bytes removed by Marc Singer's patch TODO(hannes) why?
-+
- # Linux linker flags
- LDFLAGS := -r
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsCacheMMU.c ixp_osal/os/linux/src/core/IxOsalOsCacheMMU.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsCacheMMU.c 2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsCacheMMU.c      2005-08-26 01:56:22.000000000 +0200
-@@ -210,3 +210,59 @@
-       free_pages ((unsigned int) memptr, order);
-     }
- }
-+
-+
-+/*
-+ * 2.6 kernels do not export the required cache functions.
-+ */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+
-+#define _IX_STR(x) #x
-+#define IX_STR(x) _IX_STR(x)
-+#define IX_CLM IX_STR(IX_OSAL_CACHE_LINE_SIZE-1)
-+
-+/*
-+ * reimplementation of kernel's invalidate_dcache_range()
-+ */
-+void
-+ixOsalCacheInvalidateRange(unsigned long start, unsigned long size)
-+{
-+  __asm__
-+    ("    tst    %0, #" IX_CLM "\n"
-+     "    mcrne  p15, 0, %0, c7, c10, 1      @ clean D cache line\n"
-+     "    bic    %0, %0, #" IX_CLM "\n"
-+     "    tst    %1, #" IX_CLM "\n"
-+     "    mcrne  p15, 0, %1, c7, c10, 1      @ clean D cache line\n"
-+     "1:  mcr    p15, 0, %0, c7, c6, 1       @ invalidate D cache line\n"
-+     "    add    %0, %0, #" IX_STR(IX_OSAL_CACHE_LINE_SIZE) "\n"
-+     "    cmp    %0, %1\n"
-+     "    blo    1b\n"
-+     "    mcr    p15, 0, %0, c7, c10, 4      @ drain write & fill buffer\n"
-+     : /* no output */
-+     : "r"(start), "r"(size)
-+     : "cc");
-+}
-+
-+/*
-+ * reimplementation of kernel's invalidate_dcache_range()
-+ */
-+void
-+ixOsalCacheFlushRange(unsigned long start, unsigned long size)
-+{
-+  __asm__
-+    ("    bic    %0, %0, #" IX_CLM "\n"
-+     "1:  mcr    p15, 0, %0, c7, c10, 1      @ clean D cache line\n"
-+     "    add    %0, %0, #" IX_STR(IX_OSAL_CACHE_LINE_SIZE) "\n"
-+     "    cmp    %0, %1\n"
-+     "    blo    1b\n"
-+     "    mcr    p15, 0, %0, c7, c10, 4      @ drain write & fill buffer\n"
-+     : /* no output */
-+     : "r"(start), "r"(size)
-+     : "cc");
-+}
-+
-+#undef _IX_STR
-+#undef IX_STR
-+#undef IX_CLM
-+
-+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsMsgQ.c ixp_osal/os/linux/src/core/IxOsalOsMsgQ.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsMsgQ.c     2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsMsgQ.c  2005-08-24 00:18:02.000000000 +0200
-@@ -45,9 +45,9 @@
-  * -- End Intel Copyright Notice --
-  */
- #include <linux/linkage.h>
-+#include <linux/spinlock.h>
- #include <linux/ipc.h>
- #include <linux/msg.h>
--#include <linux/spinlock.h>
- #include <linux/interrupt.h>
- #include "IxOsal.h"
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsSemaphore.c ixp_osal/os/linux/src/core/IxOsalOsSemaphore.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsSemaphore.c        2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsSemaphore.c     2005-08-26 15:58:16.000000000 +0200
-@@ -46,7 +46,7 @@
-  */
- #include <linux/slab.h>
--#include <asm-arm/hardirq.h>
-+#include <linux/hardirq.h>
- #include "IxOsal.h"
- /* Define a large number */
-@@ -93,7 +93,7 @@
- {
-     IX_STATUS ixStatus = IX_SUCCESS;
--    UINT32 timeoutTime;
-+    unsigned long timeoutTime;
-     if (sid == NULL)
-     {
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsServices.c ixp_osal/os/linux/src/core/IxOsalOsServices.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsServices.c 2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsServices.c      2005-08-26 15:53:22.000000000 +0200
-@@ -53,6 +53,7 @@
- #include <linux/time.h>
- #include <linux/sched.h>
- #include <linux/slab.h>
-+#include <linux/interrupt.h>
- #include "IxOsal.h"
-@@ -88,7 +89,7 @@
- /*
-  * General interrupt handler
-  */
--static void
-+static irqreturn_t
- ixOsalOsIsrProxy (int irq, void *dev_id, struct pt_regs *regs)
- {
-     IxOsalInfoType *isr_proxy_info = (IxOsalInfoType *) dev_id;
-@@ -97,6 +98,7 @@
-                  "ixOsalOsIsrProxy: Interrupt used before ixOsalIrqBind was invoked");
-     isr_proxy_info->routine (isr_proxy_info->parameter);
-+    return IRQ_HANDLED;
- }
- /*
-@@ -104,11 +106,12 @@
-  * This handler saves the interrupted Program Counter (PC)
-  * into a global variable
-  */
--static void
-+static irqreturn_t
- ixOsalOsIsrProxyWithPC (int irq, void *dev_id, struct pt_regs *regs)
- {
-     ixOsalLinuxInterruptedPc = regs->ARM_pc;
-     ixOsalOsIsrProxy(irq, dev_id, regs);
-+    return IRQ_HANDLED;
- }
- /**************************************
-@@ -190,10 +193,15 @@
- PUBLIC UINT32
- ixOsalIrqLock ()
- {
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+    unsigned long flags;
-+    local_irq_save(flags);
-+#else
-     UINT32 flags;
-     save_flags (flags);
-     cli ();
--    return flags;
-+#endif
-+    return (UINT32)flags;
- }
- /* Enable interrupts and task scheduling,
-@@ -203,7 +211,11 @@
- PUBLIC void
- ixOsalIrqUnlock (UINT32 lockKey)
- {
-+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+    local_irq_restore((unsigned long)lockKey);
-+# else
-     restore_flags (lockKey);
-+# endif
- }
- PUBLIC UINT32
-@@ -315,10 +327,11 @@
- PUBLIC void
- ixOsalSleep (UINT32 milliseconds)
- {
--    if (milliseconds != 0)
-+    signed long delay = milliseconds*HZ;
-+    if ( delay >= 1000 )
-     {
-         current->state = TASK_INTERRUPTIBLE;
--        schedule_timeout ((milliseconds * HZ) / 1000);
-+        schedule_timeout (delay / 1000);
-     }
-     else
-     {
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsSymbols.c ixp_osal/os/linux/src/core/IxOsalOsSymbols.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsSymbols.c  2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsSymbols.c       2005-08-30 19:19:33.000000000 +0200
-@@ -64,6 +64,10 @@
- EXPORT_SYMBOL (ixOsalCacheDmaMalloc);
- EXPORT_SYMBOL (ixOsalCacheDmaFree);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+EXPORT_SYMBOL (ixOsalCacheInvalidateRange);
-+EXPORT_SYMBOL (ixOsalCacheFlushRange);
-+#endif
- EXPORT_SYMBOL (ixOsalThreadCreate);
- EXPORT_SYMBOL (ixOsalThreadStart);
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsThread.c ixp_osal/os/linux/src/core/IxOsalOsThread.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsThread.c   2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsThread.c        2005-08-26 00:50:32.000000000 +0200
-@@ -46,6 +46,7 @@
-  */
- #include <linux/sched.h>
-+#include <linux/version.h>
- #include "IxOsal.h"
-@@ -65,11 +66,11 @@
-     void *arg = IxOsalOsThreadData.arg;
-     static int seq = 0;
--    daemonize ();
-+    daemonize ("IxOsal %d", ++seq);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0))
-     exit_files (current);
--
--    snprintf(current->comm, sizeof(current->comm), "IxOsal %d", ++seq);
-+#endif
-     up (&IxOsalThreadMutex);
-diff -Naur ixp_osal.orig/os/linux/src/modules/ioMem/IxOsalOsIoMem.c ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c
---- ixp_osal.orig/os/linux/src/modules/ioMem/IxOsalOsIoMem.c   2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c        2005-08-24 00:18:02.000000000 +0200
-@@ -45,6 +45,7 @@
-  * -- End Intel Copyright Notice --
-  */
-+#include <asm/page.h>
- #include <asm/io.h>
- #include <linux/ioport.h>
diff --git a/recipes/ixp4xx/ixp-osal-2.0/2.6.patch b/recipes/ixp4xx/ixp-osal-2.0/2.6.patch
deleted file mode 100644 (file)
index 6c14385..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-diff -Naur ixp_osal.orig/include/linux-2.6.h ixp_osal/include/linux-2.6.h
---- ixp_osal.orig/include/linux-2.6.h  1970-01-01 01:00:00.000000000 +0100
-+++ ixp_osal/include/linux-2.6.h       2005-08-26 15:20:23.000000000 +0200
-@@ -0,0 +1,52 @@
-+/* */
-+
-+#include "asm/page.h"
-+
-+#if !defined (IXP425_TIMER_BASE_PHYS)
-+# define IXP425_TIMER_BASE_PHYS       IXP4XX_TIMER_BASE_PHYS
-+#endif
-+#if !defined (IRQ_IXP425_XSCALE_PMU)
-+# define IRQ_IXP425_XSCALE_PMU                IRQ_IXP4XX_XSCALE_PMU
-+#endif
-+#if !defined (IXP425_QMGR_BASE_PHYS)
-+# define IXP425_QMGR_BASE_PHYS                IXP4XX_QMGR_BASE_PHYS
-+#endif
-+#if !defined (IXP425_PERIPHERAL_BASE_PHYS)
-+# define IXP425_PERIPHERAL_BASE_PHYS  IXP4XX_PERIPHERAL_BASE_PHYS
-+#endif
-+#if !defined (IXP425_PERIPHERAL_BASE_VIRT)
-+# define IXP425_PERIPHERAL_BASE_VIRT  IXP4XX_PERIPHERAL_BASE_VIRT
-+#endif
-+#if !defined (IXP425_EXP_CFG_BASE_PHYS)
-+# define IXP425_EXP_CFG_BASE_PHYS     IXP4XX_EXP_CFG_BASE_PHYS
-+#endif
-+#if !defined (IXP425_EXP_CFG_BASE_VIRT)
-+# define IXP425_EXP_CFG_BASE_VIRT     IXP4XX_EXP_CFG_BASE_VIRT
-+#endif
-+#if !defined (IXP425_PCI_CFG_BASE_PHYS)
-+# define IXP425_PCI_CFG_BASE_PHYS     IXP4XX_PCI_CFG_BASE_PHYS
-+#endif
-+#if !defined (IXP425_PCI_CFG_BASE_VIRT)
-+# define IXP425_PCI_CFG_BASE_VIRT     IXP4XX_PCI_CFG_BASE_VIRT
-+#endif
-+#if !defined (IXP425_EXP_BUS_BASE2_PHYS)
-+# define IXP425_EXP_BUS_BASE2_PHYS    IXP4XX_EXP_BUS_CS2_BASE_PHYS
-+#endif
-+#if !defined (IXP425_EthA_BASE_PHYS)
-+# define IXP425_EthA_BASE_PHYS                (IXP4XX_PERIPHERAL_BASE_PHYS + 0x9000)
-+#endif
-+#if !defined (IXP425_EthB_BASE_PHYS)
-+# define IXP425_EthB_BASE_PHYS                (IXP4XX_PERIPHERAL_BASE_PHYS + 0xA000)
-+#endif
-+#if !defined (IXP425_ICMR)
-+# define IXP425_ICMR                  IXP4XX_ICMR
-+#endif
-+#if !defined (IXP425_USB_BASE_PHYS)
-+# define IXP425_USB_BASE_PHYS         IXP4XX_USB_BASE_PHYS
-+#endif
-+#if !defined (IXP425_INTC_BASE_PHYS)
-+# define IXP425_INTC_BASE_PHYS                IXP4XX_INTC_BASE_PHYS
-+#endif
-+#if !defined (IRQ_IXP425_USB)
-+# define IRQ_IXP425_USB                       IRQ_IXP4XX_USB
-+#endif
-diff -Naur ixp_osal.orig/os/linux/include/core/IxOsalOs.h ixp_osal/os/linux/include/core/IxOsalOs.h
---- ixp_osal.orig/os/linux/include/core/IxOsalOs.h     2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/include/core/IxOsalOs.h  2005-08-26 01:56:22.000000000 +0200
-@@ -56,6 +56,7 @@
- #include <linux/cache.h>
- #include <linux/mm.h>
- #include <linux/config.h>
-+#include <linux/version.h>
- #include <asm/pgalloc.h>
- /**
-@@ -66,9 +67,23 @@
- #define IX_OSAL_OS_MMU_PHYS_TO_VIRT(addr)  ((addr) ? phys_to_virt((unsigned int)(addr)) : 0)
--#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size)  ( invalidate_dcache_range((__u32)addr, (__u32)addr + size )) 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+/*
-+ * 2.6 kernels do not export the required cache functions.
-+ */
-+extern void ixOsalCacheInvalidateRange(unsigned long start, unsigned long size);
-+extern void ixOsalCacheFlushRange(unsigned long start, unsigned long size);
-+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size) \
-+ixOsalCacheInvalidateRange((unsigned long)addr, (unsigned long)addr + size)
-+#define IX_OSAL_OS_CACHE_FLUSH(addr, size) \
-+ixOsalCacheFlushRange((unsigned long)addr, (unsigned long)addr + size )
-+#else
-+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size)  ( invalidate_dcache_range((__u32)addr, (__u32)addr + size )) 
- #define IX_OSAL_OS_CACHE_FLUSH(addr, size) ( clean_dcache_range((__u32)addr, (__u32)addr + size ))
-+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
- #define printf        printk /* For backword compatibility, needs to move to better location */
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsCacheMMU.c ixp_osal/os/linux/src/core/IxOsalOsCacheMMU.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsCacheMMU.c 2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsCacheMMU.c      2005-08-26 01:56:22.000000000 +0200
-@@ -210,3 +210,59 @@
-       free_pages ((unsigned int) memptr, order);
-     }
- }
-+
-+
-+/*
-+ * 2.6 kernels do not export the required cache functions.
-+ */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+
-+#define _IX_STR(x) #x
-+#define IX_STR(x) _IX_STR(x)
-+#define IX_CLM IX_STR(IX_OSAL_CACHE_LINE_SIZE-1)
-+
-+/*
-+ * reimplementation of kernel's invalidate_dcache_range()
-+ */
-+void
-+ixOsalCacheInvalidateRange(unsigned long start, unsigned long size)
-+{
-+  __asm__
-+    ("    tst    %0, #" IX_CLM "\n"
-+     "    mcrne  p15, 0, %0, c7, c10, 1      @ clean D cache line\n"
-+     "    bic    %0, %0, #" IX_CLM "\n"
-+     "    tst    %1, #" IX_CLM "\n"
-+     "    mcrne  p15, 0, %1, c7, c10, 1      @ clean D cache line\n"
-+     "1:  mcr    p15, 0, %0, c7, c6, 1       @ invalidate D cache line\n"
-+     "    add    %0, %0, #" IX_STR(IX_OSAL_CACHE_LINE_SIZE) "\n"
-+     "    cmp    %0, %1\n"
-+     "    blo    1b\n"
-+     "    mcr    p15, 0, %0, c7, c10, 4      @ drain write & fill buffer\n"
-+     : /* no output */
-+     : "r"(start), "r"(size)
-+     : "cc");
-+}
-+
-+/*
-+ * reimplementation of kernel's invalidate_dcache_range()
-+ */
-+void
-+ixOsalCacheFlushRange(unsigned long start, unsigned long size)
-+{
-+  __asm__
-+    ("    bic    %0, %0, #" IX_CLM "\n"
-+     "1:  mcr    p15, 0, %0, c7, c10, 1      @ clean D cache line\n"
-+     "    add    %0, %0, #" IX_STR(IX_OSAL_CACHE_LINE_SIZE) "\n"
-+     "    cmp    %0, %1\n"
-+     "    blo    1b\n"
-+     "    mcr    p15, 0, %0, c7, c10, 4      @ drain write & fill buffer\n"
-+     : /* no output */
-+     : "r"(start), "r"(size)
-+     : "cc");
-+}
-+
-+#undef _IX_STR
-+#undef IX_STR
-+#undef IX_CLM
-+
-+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsMsgQ.c ixp_osal/os/linux/src/core/IxOsalOsMsgQ.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsMsgQ.c     2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsMsgQ.c  2005-08-24 00:18:02.000000000 +0200
-@@ -45,9 +45,9 @@
-  * -- End Intel Copyright Notice --
-  */
- #include <linux/linkage.h>
-+#include <linux/spinlock.h>
- #include <linux/ipc.h>
- #include <linux/msg.h>
--#include <linux/spinlock.h>
- #include <linux/interrupt.h>
- #include "IxOsal.h"
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsSemaphore.c ixp_osal/os/linux/src/core/IxOsalOsSemaphore.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsSemaphore.c        2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsSemaphore.c     2005-08-26 15:58:16.000000000 +0200
-@@ -46,7 +46,7 @@
-  */
- #include <linux/slab.h>
--#include <asm-arm/hardirq.h>
-+#include <linux/hardirq.h>
- #include "IxOsal.h"
- /* Define a large number */
-@@ -93,7 +93,7 @@
- {
-     IX_STATUS ixStatus = IX_SUCCESS;
--    UINT32 timeoutTime;
-+    unsigned long timeoutTime;
-     if (sid == NULL)
-     {
-diff -Naur ixp_osal.orig/os/linux/src/core/IxOsalOsSymbols.c ixp_osal/os/linux/src/core/IxOsalOsSymbols.c
---- ixp_osal.orig/os/linux/src/core/IxOsalOsSymbols.c  2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/core/IxOsalOsSymbols.c       2005-08-30 19:19:33.000000000 +0200
-@@ -64,6 +64,10 @@
- EXPORT_SYMBOL (ixOsalCacheDmaMalloc);
- EXPORT_SYMBOL (ixOsalCacheDmaFree);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+EXPORT_SYMBOL (ixOsalCacheInvalidateRange);
-+EXPORT_SYMBOL (ixOsalCacheFlushRange);
-+#endif
- EXPORT_SYMBOL (ixOsalThreadCreate);
- EXPORT_SYMBOL (ixOsalThreadStart);
-diff -Naur ixp_osal.orig/os/linux/src/modules/ioMem/IxOsalOsIoMem.c ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c
---- ixp_osal.orig/os/linux/src/modules/ioMem/IxOsalOsIoMem.c   2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c        2005-08-24 00:18:02.000000000 +0200
-@@ -45,6 +45,7 @@
-  * -- End Intel Copyright Notice --
-  */
-+#include <asm/page.h>
- #include <asm/io.h>
- #include <linux/ioport.h>
---- ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400.h.orig   2005-04-17 20:56:27.000000000 -0700
-+++ ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400.h        2005-10-01 16:27:05.566984144 -0700
-@@ -53,6 +53,8 @@
- #include "asm/hardware.h"
- #include "asm/arch/irqs.h"
-+#include <linux-2.6.h>                /* Glue */
-+
- /* physical addresses to be used when requesting memory with IX_OSAL_MEM_MAP */
- #define IX_OSAL_IXP400_INTC_PHYS_BASE          IXP425_INTC_BASE_PHYS
- #define IX_OSAL_IXP400_GPIO_PHYS_BASE          IXP425_GPIO_BASE_PHYS
-@@ -108,7 +110,6 @@
- #define IX_OSAL_IXP400_NPEB_VIRT_BASE          IXP425_NPEB_BASE_VIRT
- #define IX_OSAL_IXP400_NPEC_VIRT_BASE          IXP425_NPEC_BASE_VIRT
- #define IX_OSAL_IXP400_PERIPHERAL_VIRT_BASE    IXP425_PERIPHERAL_BASE_VIRT
--#define IX_OSAL_IXP400_QMGR_VIRT_BASE          IXP425_QMGR_BASE_VIRT
- #define IX_OSAL_IXP400_OSTS_VIRT_BASE          IXP425_TIMER_BASE_VIRT
- #define IX_OSAL_IXP400_USB_VIRT_BASE           IXP425_USB_BASE_VIRT
- #define IX_OSAL_IXP400_EXP_CFG_VIRT_BASE       IXP425_EXP_CFG_BASE_VIRT
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h.orig 2005-04-17 20:56:27.000000000 -0700
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      2005-10-01 16:31:05.670092880 -0700
-@@ -85,12 +85,21 @@
-      * Queue Manager 
-      */
-     {
-+#ifdef IXP425_QMGR_BASE_VIRT
-      IX_OSAL_STATIC_MAP,      /* type            */
-      IX_OSAL_IXP400_QMGR_PHYS_BASE,   /* physicalAddress */
-      IX_OSAL_IXP400_QMGR_MAP_SIZE,    /* size            */
-      IX_OSAL_IXP400_QMGR_VIRT_BASE,   /* virtualAddress  */
-      NULL,                    /* mapFunction     */
-      NULL,                    /* unmapFunction   */
-+#else
-+     IX_OSAL_DYNAMIC_MAP,                  /* type            */
-+     IX_OSAL_IXP400_QMGR_PHYS_BASE,   /* physicalAddress */
-+     IX_OSAL_IXP400_QMGR_MAP_SIZE,    /* size            */
-+     0,                               /* virtualAddress  */
-+     ixOsalLinuxMemMap,               /* mapFunction     */
-+     ixOsalLinuxMemUnmap,     /* unmapFunction   */
-+#endif
-      0,                               /* refCount        */
-      IX_OSAL_BE | IX_OSAL_LE_DC,      /* endianType      */   
-      "qMgr"                   /* name            */
---- ixp_osal/os/linux/src/core/IxOsalOsServices.c.orig 2005-04-17 20:56:28.000000000 -0700
-+++ ixp_osal/os/linux/src/core/IxOsalOsServices.c      2005-10-01 16:37:00.876444607 -0700
-@@ -54,6 +54,7 @@
- #include <linux/time.h>
- #include <linux/sched.h>
- #include <linux/slab.h>
-+#include <linux/interrupt.h>
- #include "IxOsal.h"
-@@ -89,7 +90,7 @@
- /*
-  * General interrupt handler
-  */
--static void
-+static irqreturn_t
- ixOsalOsIsrProxy (int irq, void *dev_id, struct pt_regs *regs)
- {
-     IxOsalInfoType *isr_proxy_info = (IxOsalInfoType *) dev_id;
-@@ -98,6 +99,7 @@
-                  "ixOsalOsIsrProxy: Interrupt used before ixOsalIrqBind was invoked");
-     isr_proxy_info->routine (isr_proxy_info->parameter);
-+    return IRQ_HANDLED;
- }
- /*
-@@ -105,11 +107,12 @@
-  * This handler saves the interrupted Program Counter (PC)
-  * into a global variable
-  */
--static void
-+static irqreturn_t
- ixOsalOsIsrProxyWithPC (int irq, void *dev_id, struct pt_regs *regs)
- {
-     ixOsalLinuxInterruptedPc = regs->ARM_pc;
-     ixOsalOsIsrProxy(irq, dev_id, regs);
-+    return IRQ_HANDLED;
- }
- /**************************************
-@@ -191,10 +194,15 @@
- PUBLIC UINT32
- ixOsalIrqLock ()
- {
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+    unsigned long flags;
-+    local_irq_save(flags);
-+#else
-     UINT32 flags;
-     save_flags (flags);
-     cli ();
--    return flags;
-+#endif
-+    return (UINT32)flags;
- }
- /* Enable interrupts and task scheduling,
-@@ -204,7 +212,11 @@
- PUBLIC void
- ixOsalIrqUnlock (UINT32 lockKey)
- {
-+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+    local_irq_restore((unsigned long)lockKey);
-+# else
-     restore_flags (lockKey);
-+# endif
- }
- PUBLIC UINT32
-@@ -329,7 +341,7 @@
- PUBLIC void
- ixOsalSleep (UINT32 milliseconds)
- {
--    if (milliseconds != 0)
-+    if (milliseconds*HZ >= 1000)
-     {
-         set_current_state(TASK_INTERRUPTIBLE); 
-         schedule_timeout ((milliseconds * HZ) / 1000);
---- ixp_osal/os/linux/src/core/IxOsalOsThread.c.orig   2005-04-17 20:56:28.000000000 -0700
-+++ ixp_osal/os/linux/src/core/IxOsalOsThread.c        2005-10-01 16:38:58.227829064 -0700
-@@ -46,6 +46,7 @@
-  */
- #include <linux/sched.h>
-+#include <linux/version.h>
- #include "IxOsal.h"
-@@ -65,12 +66,12 @@
-     void *arg = IxOsalOsThreadData.arg;
-     static int seq = 0;
--    daemonize ();
-+    daemonize ("IxOsal %d", ++seq);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0))
-     reparent_to_init ();
-     exit_files (current);
--
--    snprintf(current->comm, sizeof(current->comm), "IxOsal %d", ++seq);
-+#endif
-     up (&IxOsalThreadMutex);
diff --git a/recipes/ixp4xx/ixp-osal-2.0/Makefile.patch b/recipes/ixp4xx/ixp-osal-2.0/Makefile.patch
deleted file mode 100644 (file)
index f852ea2..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -Naur ixp_osal.orig/Makefile ixp_osal/Makefile
---- ixp_osal.orig/Makefile     2005-08-24 00:16:37.000000000 +0200
-+++ ixp_osal/Makefile  2005-08-24 00:18:02.000000000 +0200
-@@ -172,7 +172,7 @@
- # TODO push this to linux make
- ifeq ($(IX_OSAL_MK_HOST_OS), linux)
--INCLUDE_DIRS += $(LINUX_SRC)/include/asm-arm/arch-ixp425/
-+INCLUDE_DIRS += $(LINUX_SRC)/include/asm-arm/arch-ixp4xx/
- endif
- CFLAGS += $(INCLUDE_DIRS:%=-I%)
---- ixp_osal/os/linux/make/macros.mk.orig      2005-10-01 15:50:19.544167880 -0700
-+++ ixp_osal/os/linux/make/macros.mk   2005-10-01 15:50:43.053647239 -0700
-@@ -88,10 +88,10 @@
- # Compiler & linker options
- # Compiler flags
--LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
-+LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mtune=xscale
- CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common \
--          -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE \
-+          -pipe -mapcs-32 -msoft-float -DMODULE \
-           -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS) -DEXPORT_SYMTAB
- # Linux linker flags
diff --git a/recipes/ixp4xx/ixp-osal-2.0/le.patch b/recipes/ixp4xx/ixp-osal-2.0/le.patch
deleted file mode 100644 (file)
index ecb93d7..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -urp ixp_osal/.pc/le.patch/include/modules/ioMem/IxOsalMemAccess.h ixp_osal/include/modules/ioMem/IxOsalMemAccess.h
---- ixp_osal/.pc/le.patch/include/modules/ioMem/IxOsalMemAccess.h      2005-04-17 20:56:25.000000000 -0700
-+++ ixp_osal/include/modules/ioMem/IxOsalMemAccess.h   2005-11-19 16:44:33.414684841 -0800
-@@ -84,7 +84,7 @@
- #elif defined (IX_OSAL_LINUX_LE)
--#define IX_SDRAM_LE_DATA_COHERENT
-+#define IX_SDRAM_LE_ADDRESS_COHERENT
- #elif defined (IX_OSAL_WINCE_LE)
-diff -urp ixp_osal/.pc/le.patch/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h
---- ixp_osal/.pc/le.patch/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h  2005-04-17 20:56:27.000000000 -0700
-+++ ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h       2005-11-19 16:45:35.298578949 -0800
-@@ -171,7 +171,7 @@
-  ***************************/
- #if (IX_COMPONENT_NAME == ix_qmgr)
--#define IX_OSAL_LE_DC_MAPPING
-+#define IX_OSAL_LE_AC_MAPPING
- #endif /* qmgr */
-diff -urp ixp_osal/.pc/le.patch/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h
---- ixp_osal/.pc/le.patch/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h 2005-11-19 15:53:11.808771607 -0800
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      2005-11-19 16:51:40.729574072 -0800
-@@ -101,7 +101,7 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[] 
-      ixOsalLinuxMemUnmap,     /* unmapFunction   */
- #endif
-      0,                               /* refCount        */
--     IX_OSAL_BE | IX_OSAL_LE_DC,      /* endianType      */   
-+     IX_OSAL_BE | IX_OSAL_LE_AC,      /* endianType      */   
-      "qMgr"                   /* name            */
-      },
-diff -bBdurN hannes/ixp_osal/include/modules/ioMem/IxOsalIoMem.h merged/ixp_osal/include/modules/ioMem/IxOsalIoMem.h
---- ixp_osal/include/modules/ioMem/IxOsalIoMem.h       2005-04-17 20:56:25.000000000 -0700
-+++ ixp_osal/include/modules/ioMem/IxOsalIoMem.h       2005-10-07 16:20:27.786083595 -0700
-@@ -105,8 +105,8 @@
- #endif /* ndef __wince */
- #define IX_OSAL_SWAP_SHORT(sData)         ((sData >> 8) | ((sData & 0xFF) << 8))
--#define IX_OSAL_SWAP_SHORT_ADDRESS(sAddr) ((sAddr) ^ 0x2)
--#define IX_OSAL_SWAP_BYTE_ADDRESS(bAddr)  ((bAddr) ^ 0x3)
-+#define IX_OSAL_SWAP_SHORT_ADDRESS(sAddr) ((UINT16*)((UINT32)(sAddr) ^ 0x2))
-+#define IX_OSAL_SWAP_BYTE_ADDRESS(bAddr)  ((UINT8*)((UINT32)(bAddr) ^ 0x3))
- #define IX_OSAL_BE_XSTOBUSL(wData)  (wData)
- #define IX_OSAL_BE_XSTOBUSS(sData)  (sData)
diff --git a/recipes/ixp4xx/ixp-osal-2.1.1/2.6.patch b/recipes/ixp4xx/ixp-osal-2.1.1/2.6.patch
deleted file mode 100644 (file)
index 9725b44..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
- os/linux/src/core/IxOsalOsMsgQ.c      |    2 +-
- os/linux/src/core/IxOsalOsSemaphore.c |    6 +++---
- os/linux/src/core/IxOsalOsServices.c  |   20 ++++++++++++++++----
- os/linux/src/core/IxOsalOsThread.c    |    7 +------
- 4 files changed, 21 insertions(+), 14 deletions(-)
-
---- ixp_osal/os/linux/src/core/IxOsalOsMsgQ.c  1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsMsgQ.c  1970-01-01 00:00:00.000000000 +0000
-@@ -45,9 +45,9 @@
-  * -- End Intel Copyright Notice --
-  */
- #include <linux/linkage.h>
-+#include <linux/spinlock.h>
- #include <linux/ipc.h>
- #include <linux/msg.h>
--#include <linux/spinlock.h>
- #include <linux/interrupt.h>
- #include "IxOsal.h"
---- ixp_osal/os/linux/src/core/IxOsalOsSemaphore.c     1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsSemaphore.c     1970-01-01 00:00:00.000000000 +0000
-@@ -46,7 +46,7 @@
-  */
- #include <linux/slab.h>
--#include <asm-arm/hardirq.h>
-+#include <linux/hardirq.h>
- #include "IxOsal.h"
- /* Define a large number */
-@@ -93,7 +93,7 @@ ixOsalSemaphoreWait (IxOsalOsSemaphore *
- {
-     IX_STATUS ixStatus = IX_SUCCESS;
--    UINT32 timeoutTime;
-+    unsigned long timeoutTime;
-     if (sid == NULL)
-     {
-@@ -261,7 +261,7 @@ ixOsalMutexInit (IxOsalMutex * mutex)
- PUBLIC IX_STATUS
- ixOsalMutexLock (IxOsalMutex * mutex, INT32 timeout)
- {
--    UINT32 timeoutTime;
-+    unsigned long timeoutTime;
-     if (in_irq ())
-     {
---- ixp_osal/os/linux/src/core/IxOsalOsServices.c      1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsServices.c      1970-01-01 00:00:00.000000000 +0000
-@@ -54,6 +54,7 @@
- #include <linux/time.h>
- #include <linux/sched.h>
- #include <linux/slab.h>
-+#include <linux/interrupt.h>
- #include "IxOsal.h"
-@@ -89,7 +90,7 @@ static IxOsalInfoType IxOsalInfo[NR_IRQS
- /*
-  * General interrupt handler
-  */
--static void
-+static irqreturn_t
- ixOsalOsIsrProxy (int irq, void *dev_id, struct pt_regs *regs)
- {
-     IxOsalInfoType *isr_proxy_info = (IxOsalInfoType *) dev_id;
-@@ -98,6 +99,7 @@ ixOsalOsIsrProxy (int irq, void *dev_id,
-                  "ixOsalOsIsrProxy: Interrupt used before ixOsalIrqBind was invoked");
-     isr_proxy_info->routine (isr_proxy_info->parameter);
-+    return IRQ_HANDLED;
- }
- /*
-@@ -105,11 +107,12 @@ ixOsalOsIsrProxy (int irq, void *dev_id,
-  * This handler saves the interrupted Program Counter (PC)
-  * into a global variable
-  */
--static void
-+static irqreturn_t
- ixOsalOsIsrProxyWithPC (int irq, void *dev_id, struct pt_regs *regs)
- {
-     ixOsalLinuxInterruptedPc = regs->ARM_pc;
-     ixOsalOsIsrProxy(irq, dev_id, regs);
-+    return IRQ_HANDLED;
- }
- /**************************************
-@@ -191,10 +194,15 @@ ixOsalIrqUnbind (UINT32 vector)
- PUBLIC UINT32
- ixOsalIrqLock ()
- {
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+    unsigned long flags;
-+    local_irq_save(flags);
-+#else
-     UINT32 flags;
-     save_flags (flags);
-     cli ();
--    return flags;
-+#endif
-+    return (UINT32)flags;
- }
- /* Enable interrupts and task scheduling,
-@@ -204,7 +212,11 @@ ixOsalIrqLock ()
- PUBLIC void
- ixOsalIrqUnlock (UINT32 lockKey)
- {
-+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+    local_irq_restore((unsigned long)lockKey);
-+# else
-     restore_flags (lockKey);
-+# endif
- }
- PUBLIC UINT32
-@@ -329,7 +341,7 @@ ixOsalBusySleep (UINT32 microseconds)
- PUBLIC void
- ixOsalSleep (UINT32 milliseconds)
- {
--    if (milliseconds != 0)
-+    if (milliseconds*HZ >= 1000)
-     {
-         set_current_state(TASK_INTERRUPTIBLE); 
-         schedule_timeout ((milliseconds * HZ) / 1000);
---- ixp_osal/os/linux/src/core/IxOsalOsThread.c        1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsThread.c        1970-01-01 00:00:00.000000000 +0000
-@@ -65,12 +65,7 @@ thread_internal (void *unused)
-     void *arg = IxOsalOsThreadData.arg;
-     static int seq = 0;
--    daemonize ();
--    reparent_to_init ();
--
--    exit_files (current);
--
--    snprintf(current->comm, sizeof(current->comm), "IxOsal %d", ++seq);
-+    daemonize ("IxOsal %d", ++seq);
-     up (&IxOsalThreadMutex);
diff --git a/recipes/ixp4xx/ixp-osal-2.1.1/Makefile.patch b/recipes/ixp4xx/ixp-osal-2.1.1/Makefile.patch
deleted file mode 100644 (file)
index 1558e9c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
- Makefile                |    2 +-
- os/linux/make/macros.mk |    4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
---- ixp_osal/Makefile  1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/Makefile  1970-01-01 00:00:00.000000000 +0000
-@@ -185,7 +185,7 @@ endif
- INCLUDE_DIRS = include $(OSAL_DIRS:%=$(MAIN_INC_PREFIX)/%) $(OSAL_DIRS:%=$(OS_INC_PREFIX)/%)  
- ifeq ($(IX_OSAL_MK_HOST_OS), linux)
--INCLUDE_DIRS += $(LINUX_SRC)/include/asm-arm/arch-ixp425/
-+INCLUDE_DIRS += $(LINUX_SRC)/include/asm-arm/arch-ixp4xx/
- endif
- CFLAGS += $(INCLUDE_DIRS:%=-I%) 
---- ixp_osal/os/linux/make/macros.mk   1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/make/macros.mk   1970-01-01 00:00:00.000000000 +0000
-@@ -88,10 +88,10 @@ AR := $(LINUX_CROSS_COMPILE)ar
- # Compiler & linker options
- # Compiler flags
--LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
-+LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mtune=xscale
- CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common \
--          -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE \
-+          -pipe -msoft-float -DMODULE \
-           -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS) -DEXPORT_SYMTAB
- # Linux linker flags
diff --git a/recipes/ixp4xx/ixp-osal-2.1.1/assert.patch b/recipes/ixp4xx/ixp-osal-2.1.1/assert.patch
deleted file mode 100644 (file)
index a03113d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# Unnecessary patch - reduces the code size slightly, gives clearer
-# messages if IX_OSAL_ENSURE_ON is set
-# include/IxOsalAssert.h                 |    4 ++--
-# os/linux/include/core/IxOsalOsAssert.h |    9 ++++++++-
-# 2 files changed, 10 insertions(+), 3 deletions(-)
-#
---- ixp_osal/include/IxOsalAssert.h    1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/include/IxOsalAssert.h    1970-01-01 00:00:00.000000000 +0000
-@@ -72,8 +72,8 @@
-  */
- #ifdef IX_OSAL_ENSURE_ON
- #define IX_OSAL_ENSURE(c, str) do { \
--if (!(c)) ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE, IX_OSAL_LOG_DEV_STDOUT, str, \
--0, 0, 0, 0, 0, 0); } while (0)
-+if (!(c)) ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE, IX_OSAL_LOG_DEV_STDOUT, __FILE__ ": line %d: " str, \
-+__LINE__, 0, 0, 0, 0, 0); } while (0)
- #else
- #define IX_OSAL_ENSURE(c, str)
---- ixp_osal/os/linux/include/core/IxOsalOsAssert.h    1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/core/IxOsalOsAssert.h    1970-01-01 00:00:00.000000000 +0000
-@@ -47,11 +47,18 @@
- #ifndef IxOsalOsAssert_H
- #define IxOsalOsAssert_H
-+#ifdef IX_OSAL_ENSURE_ON
- #define IX_OSAL_OS_ASSERT(c)    if(!(c)) \
-                                 { \
--                                    ixOsalLog (IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDOUT, "Assertion failure \n", 0, 0, 0, 0, 0, 0);\
-+                                    ixOsalLog (IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDOUT, "%s line %d: Assertion failure: %s\n", (int)__FILE__, __LINE__, (int)#c, 0, 0, 0);\
-                                     BUG(); \
-                                 }
-+#else
-+#define IX_OSAL_OS_ASSERT(c)    if(!(c)) \
-+                                { \
-+                                    BUG(); \
-+                                }
-+#endif
- /* 
-  * Place holder.
diff --git a/recipes/ixp4xx/ixp-osal-2.1.1/invalidate-cache.patch b/recipes/ixp4xx/ixp-osal-2.1.1/invalidate-cache.patch
deleted file mode 100644 (file)
index 33c1d13..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
- os/linux/include/core/IxOsalOs.h     |   17 ++++++++++
- os/linux/src/core/IxOsalOsCacheMMU.c |   56 +++++++++++++++++++++++++++++++++++
- os/linux/src/core/IxOsalOsSymbols.c  |    4 ++
- 3 files changed, 76 insertions(+), 1 deletion(-)
-
---- ixp_osal/os/linux/include/core/IxOsalOs.h  1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/core/IxOsalOs.h  1970-01-01 00:00:00.000000000 +0000
-@@ -56,6 +56,7 @@
- #include <linux/cache.h>
- #include <linux/mm.h>
- #include <linux/config.h>
-+#include <linux/version.h>
- #include <asm/pgalloc.h>
- /**
-@@ -66,9 +67,23 @@
- #define IX_OSAL_OS_MMU_PHYS_TO_VIRT(addr)  ((addr) ? phys_to_virt((unsigned int)(addr)) : 0)
--#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size)  ( invalidate_dcache_range((__u32)addr, (__u32)addr + size )) 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+/*
-+ * 2.6 kernels do not export the required cache functions.
-+ */
-+extern void ixOsalCacheInvalidateRange(unsigned long start, unsigned long size);
-+extern void ixOsalCacheFlushRange(unsigned long start, unsigned long size);
-+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size) \
-+ixOsalCacheInvalidateRange((unsigned long)addr, (unsigned long)addr + size)
-+#define IX_OSAL_OS_CACHE_FLUSH(addr, size) \
-+ixOsalCacheFlushRange((unsigned long)addr, (unsigned long)addr + size )
-+#else
-+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size)  ( invalidate_dcache_range((__u32)addr, (__u32)addr + size ))
- #define IX_OSAL_OS_CACHE_FLUSH(addr, size) ( clean_dcache_range((__u32)addr, (__u32)addr + size ))
-+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
- /* Cache preload not available*/
- #define IX_OSAL_OS_CACHE_PRELOAD(addr,size) {}
---- ixp_osal/os/linux/src/core/IxOsalOsCacheMMU.c      1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsCacheMMU.c      1970-01-01 00:00:00.000000000 +0000
-@@ -210,3 +210,59 @@ ixOsalCacheDmaFree (void *ptr)
-       free_pages ((unsigned int) memptr, order);
-     }
- }
-+
-+
-+/*
-+ * 2.6 kernels do not export the required cache functions.
-+ */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+
-+#define _IX_STR(x) #x
-+#define IX_STR(x) _IX_STR(x)
-+#define IX_CLM IX_STR(IX_OSAL_CACHE_LINE_SIZE-1)
-+
-+/*
-+ * reimplementation of kernel's invalidate_dcache_range()
-+ */
-+void
-+ixOsalCacheInvalidateRange(unsigned long start, unsigned long size)
-+{
-+  __asm__
-+    ("    tst    %0, #" IX_CLM "\n"
-+     "    mcrne  p15, 0, %0, c7, c10, 1      @ clean D cache line\n"
-+     "    bic    %0, %0, #" IX_CLM "\n"
-+     "    tst    %1, #" IX_CLM "\n"
-+     "    mcrne  p15, 0, %1, c7, c10, 1      @ clean D cache line\n"
-+     "1:  mcr    p15, 0, %0, c7, c6, 1       @ invalidate D cache line\n"
-+     "    add    %0, %0, #" IX_STR(IX_OSAL_CACHE_LINE_SIZE) "\n"
-+     "    cmp    %0, %1\n"
-+     "    blo    1b\n"
-+     "    mcr    p15, 0, %0, c7, c10, 4      @ drain write & fill buffer\n"
-+     : /* no output */
-+     : "r"(start), "r"(size)
-+     : "cc");
-+}
-+
-+/*
-+ * reimplementation of kernel's invalidate_dcache_range()
-+ */
-+void
-+ixOsalCacheFlushRange(unsigned long start, unsigned long size)
-+{
-+  __asm__
-+    ("    bic    %0, %0, #" IX_CLM "\n"
-+     "1:  mcr    p15, 0, %0, c7, c10, 1      @ clean D cache line\n"
-+     "    add    %0, %0, #" IX_STR(IX_OSAL_CACHE_LINE_SIZE) "\n"
-+     "    cmp    %0, %1\n"
-+     "    blo    1b\n"
-+     "    mcr    p15, 0, %0, c7, c10, 4      @ drain write & fill buffer\n"
-+     : /* no output */
-+     : "r"(start), "r"(size)
-+     : "cc");
-+}
-+
-+#undef _IX_STR
-+#undef IX_STR
-+#undef IX_CLM
-+
-+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
---- ixp_osal/os/linux/src/core/IxOsalOsSymbols.c       1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsSymbols.c       1970-01-01 00:00:00.000000000 +0000
-@@ -64,6 +64,10 @@ EXPORT_SYMBOL (ixOsalMemSet);
- EXPORT_SYMBOL (ixOsalCacheDmaMalloc);
- EXPORT_SYMBOL (ixOsalCacheDmaFree);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+EXPORT_SYMBOL (ixOsalCacheInvalidateRange);
-+EXPORT_SYMBOL (ixOsalCacheFlushRange);
-+#endif
- EXPORT_SYMBOL (ixOsalThreadCreate);
- EXPORT_SYMBOL (ixOsalThreadStart);
diff --git a/recipes/ixp4xx/ixp-osal-2.1.1/ixp4xx-header.patch b/recipes/ixp4xx/ixp-osal-2.1.1/ixp4xx-header.patch
deleted file mode 100644 (file)
index a9d87d4..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
- os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Base.h |   72 ++++++++++
- os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h  |   10 -
- 2 files changed, 78 insertions(+), 4 deletions(-)
-
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      1970-01-01 00:00:00.000000000 +0000
-@@ -53,6 +53,8 @@
- #error "Error: IxOsalOsIxp425Sys.h cannot be included directly before IxOsalOsIxp400.h"
- #endif
-+#include "IxOsalOsIxp425Base.h"
-+
- /* Memory Base Address */
- #define IX_OSAL_IXP400_EXP_BUS_PHYS_BASE              IXP425_EXP_BUS_BASE2_PHYS
- #define IX_OSAL_IXP400_EXP_BUS_BOOT_PHYS_BASE         IXP425_EXP_BUS_BASE1_PHYS
-@@ -98,12 +100,12 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[] 
-      * Queue Manager 
-      */
-     {
--     IX_OSAL_STATIC_MAP,      /* type            */
-+     IX_OSAL_DYNAMIC_MAP,     /* type            */
-      IX_OSAL_IXP400_QMGR_PHYS_BASE,   /* physicalAddress */
-      IX_OSAL_IXP400_QMGR_MAP_SIZE,    /* size            */
--     IX_OSAL_IXP400_QMGR_VIRT_BASE,   /* virtualAddress  */
--     NULL,                    /* mapFunction     */
--     NULL,                    /* unmapFunction   */
-+     0,                               /* virtualAddress  */
-+     ixOsalLinuxMemMap,               /* mapFunction     */
-+     ixOsalLinuxMemUnmap,     /* unmapFunction   */
-      0,                               /* refCount        */
-      IX_OSAL_BE | IX_OSAL_LE_DC,      /* endianType      */   
-      "qMgr"                   /* name            */
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Base.h     1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Base.h     1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,80 @@
-+/*
-+ * Glue for the current linux definitons of this stuff.
-+ */
-+#ifndef IxOsalOsIxp425Base_H
-+#define IxOsalOsIxp425Base_H 1
-+#include <asm-arm/arch-ixp4xx/ixp4xx-regs.h>
-+#include <linux/version.h>
-+
-+/* Force Address Coherent (the default) mapping on LE - Linux 2.6
-+ * does not have a way of changing it.
-+ */
-+#if defined IX_OSAL_LINUX_LE
-+# if !defined IX_OSAL_ENFORCED_LE_AC_MAPPING
-+#  define IX_OSAL_ENFORCED_LE_AC_MAPPING
-+# endif
-+# if defined IX_OSAL_LE_DC_MAPPING
-+#  error Little Endian Data Coherent mapping not supported on this platform
-+# endif
-+
-+/* This doesn't matter on a BE build because it will never be used,
-+ * however it will be selected and will fail on an LE build.
-+ */
-+# undef IX_OSAL_LE_DC
-+# define IX_OSAL_LE_DC IX_OSAL_LE_DC_IS_INVALID_ON_THIS_PLATFORM
-+#endif
-+
-+/* Physical addresses. */
-+#define IXP425_PERIPHERAL_BASE_PHYS   IXP4XX_PERIPHERAL_BASE_PHYS
-+#define IXP425_EXP_CFG_BASE_PHYS      IXP4XX_EXP_CFG_BASE_PHYS
-+#define IXP425_PCI_CFG_BASE_PHYS      IXP4XX_PCI_CFG_BASE_PHYS
-+
-+//#define IXP425_EXP_BUS_BASE1_PHYS
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16)
-+#define IXP425_EXP_BUS_BASE2_PHYS     IXP4XX_EXP_BUS_CS2_BASE_PHYS
-+#else
-+/* The following definition should be IXP4XX_EXP_BUS_BASE(2), but that is not
-+   static and causes compilation problems later.  So we need to hard-code it.
-+   Note that this hard-coded value is only correct for IXP42X. */
-+#define IXP425_EXP_BUS_BASE2_PHYS     (IXP4XX_EXP_BUS_BASE_PHYS + (2 * SZ_16M))
-+#endif
-+//#define IXP425_EXP_BUS_CS0_BASE_PHYS
-+//#define IXP425_EXP_BUS_CS1_BASE_PHYS
-+//#define IXP425_EXP_BUS_CS4_BASE_PHYS
-+#define IXP425_EthA_BASE_PHYS         (IXP4XX_PERIPHERAL_BASE_PHYS + 0x9000)
-+#define IXP425_EthB_BASE_PHYS         (IXP4XX_PERIPHERAL_BASE_PHYS + 0xA000)
-+//#define IXP425_GPIO_BASE_PHYS
-+#define IXP425_INTC_BASE_PHYS         IXP4XX_INTC_BASE_PHYS
-+//#define IXP425_NPEA_BASE_PHYS
-+//#define IXP425_NPEB_BASE_PHYS
-+//#define IXP425_NPEC_BASE_PHYS
-+//#define IXP425_PMU_BASE_PHYS
-+#define IXP425_QMGR_BASE_PHYS         IXP4XX_QMGR_BASE_PHYS
-+#define IXP425_TIMER_BASE_PHYS                IXP4XX_TIMER_BASE_PHYS
-+//#define IXP425_UART1_BASE_PHYS
-+//#define IXP425_UART2_BASE_PHYS
-+#define IXP425_USB_BASE_PHYS          IXP4XX_USB_BASE_PHYS
-+
-+/* Virtual addresses. */
-+#define IXP425_PERIPHERAL_BASE_VIRT   IXP4XX_PERIPHERAL_BASE_VIRT
-+#define IXP425_PERIPHERAL_REGION_SIZE IXP4XX_PERIPHERAL_REGION_SIZE
-+#define IXP425_EXP_CFG_BASE_VIRT      IXP4XX_EXP_CFG_BASE_VIRT
-+#define IXP425_PCI_CFG_BASE_VIRT      IXP4XX_PCI_CFG_BASE_VIRT
-+
-+//#define IXP425_EthA_BASE_VIRT
-+//#define IXP425_EthB_BASE_VIRT
-+//#define IXP425_GPIO_BASE_VIRT
-+//#define IXP425_NPEA_BASE_VIRT
-+//#define IXP425_NPEB_BASE_VIRT
-+//#define IXP425_NPEC_BASE_VIRT
-+//#define IXP425_QMGR_BASE_VIRT       /* must be ioremapped on Linux 2.6 */
-+//#define IXP425_TIMER_BASE_VIRT
-+//#define IXP425_UART1_BASE_VIRT
-+//#define IXP425_UART2_BASE_VIRT
-+//#define IXP425_USB_BASE_VIRT
-+
-+/* Miscellaneous stuff. */
-+#define IRQ_IXP425_XSCALE_PMU         IRQ_IXP4XX_XSCALE_PMU
-+#define IXP425_ICMR                   IXP4XX_ICMR
-+#define IRQ_IXP425_USB                        IRQ_IXP4XX_USB
-+#endif
diff --git a/recipes/ixp4xx/ixp-osal-2.1.1/le.patch b/recipes/ixp4xx/ixp-osal-2.1.1/le.patch
deleted file mode 100644 (file)
index a6936ea..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
- include/modules/ioMem/IxOsalIoMem.h                                 |    4 ++--
- include/modules/ioMem/IxOsalMemAccess.h                             |    2 +-
- os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h |    2 +-
- os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h        |    2 +-
- os/linux/src/modules/ioMem/IxOsalOsIoMem.c                          |    3 +++
- 5 files changed, 8 insertions(+), 5 deletions(-)
-
---- ixp_osal/include/modules/ioMem/IxOsalIoMem.h       1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/include/modules/ioMem/IxOsalIoMem.h       1970-01-01 00:00:00.000000000 +0000
-@@ -117,8 +117,8 @@ ixOsalCoreWordSwap (UINT32 wordIn)
- #endif /* ndef __wince */
- #define IX_OSAL_SWAP_SHORT(sData)         ((sData >> 8) | ((sData & 0xFF) << 8))
--#define IX_OSAL_SWAP_SHORT_ADDRESS(sAddr) ((sAddr) ^ 0x2)
--#define IX_OSAL_SWAP_BYTE_ADDRESS(bAddr)  ((bAddr) ^ 0x3)
-+#define IX_OSAL_SWAP_SHORT_ADDRESS(sAddr) ((UINT16*)((UINT32)(sAddr) ^ 0x2))
-+#define IX_OSAL_SWAP_BYTE_ADDRESS(bAddr)  ((UINT8*)((UINT32)(bAddr) ^ 0x3))
- #define IX_OSAL_BE_XSTOBUSL(wData)  (wData)
- #define IX_OSAL_BE_XSTOBUSS(sData)  (sData)
---- ixp_osal/include/modules/ioMem/IxOsalMemAccess.h   1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/include/modules/ioMem/IxOsalMemAccess.h   1970-01-01 00:00:00.000000000 +0000
-@@ -84,7 +84,7 @@
- #elif defined (IX_OSAL_LINUX_LE)
--#define IX_SDRAM_LE_DATA_COHERENT
-+#define IX_SDRAM_LE_ADDRESS_COHERENT
- #elif defined (IX_OSAL_WINCE_LE)
---- ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h       1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h       1970-01-01 00:00:00.000000000 +0000
-@@ -171,7 +171,7 @@
-  ***************************/
- #if (IX_COMPONENT_NAME == ix_qmgr)
--#define IX_OSAL_LE_DC_MAPPING
-+#define IX_OSAL_LE_AC_MAPPING
- #endif /* qmgr */
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      1970-01-01 00:00:00.000000000 +0000
-@@ -107,7 +107,7 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[] 
-      ixOsalLinuxMemMap,               /* mapFunction     */
-      ixOsalLinuxMemUnmap,     /* unmapFunction   */
-      0,                               /* refCount        */
--     IX_OSAL_BE | IX_OSAL_LE_DC,      /* endianType      */   
-+     IX_OSAL_BE | IX_OSAL_LE_AC,      /* endianType      */
-      "qMgr"                   /* name            */
-      },
---- ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c        1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c        1970-01-01 00:00:00.000000000 +0000
-@@ -45,6 +45,7 @@
-  * -- End Intel Copyright Notice --
-  */
-+#include <asm/page.h>
- #include <asm/io.h>
- #include <linux/ioport.h>
-@@ -54,6 +55,8 @@
- PUBLIC void
- ixOsalLinuxMemMap (IxOsalMemoryMap * map)
- {
-+    /* Linux requires LE mappings to use address coherency */
-+    IX_OSAL_ENSURE((map->mapEndianType & IX_OSAL_LE_DC) == 0, "LE Data Coherency not supported");
-     map->virtualAddress = (UINT32) ioremap (map->physicalAddress, map->size);
- }
diff --git a/recipes/ixp4xx/ixp-osal-2.1/2.6.patch b/recipes/ixp4xx/ixp-osal-2.1/2.6.patch
deleted file mode 100644 (file)
index 9725b44..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
- os/linux/src/core/IxOsalOsMsgQ.c      |    2 +-
- os/linux/src/core/IxOsalOsSemaphore.c |    6 +++---
- os/linux/src/core/IxOsalOsServices.c  |   20 ++++++++++++++++----
- os/linux/src/core/IxOsalOsThread.c    |    7 +------
- 4 files changed, 21 insertions(+), 14 deletions(-)
-
---- ixp_osal/os/linux/src/core/IxOsalOsMsgQ.c  1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsMsgQ.c  1970-01-01 00:00:00.000000000 +0000
-@@ -45,9 +45,9 @@
-  * -- End Intel Copyright Notice --
-  */
- #include <linux/linkage.h>
-+#include <linux/spinlock.h>
- #include <linux/ipc.h>
- #include <linux/msg.h>
--#include <linux/spinlock.h>
- #include <linux/interrupt.h>
- #include "IxOsal.h"
---- ixp_osal/os/linux/src/core/IxOsalOsSemaphore.c     1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsSemaphore.c     1970-01-01 00:00:00.000000000 +0000
-@@ -46,7 +46,7 @@
-  */
- #include <linux/slab.h>
--#include <asm-arm/hardirq.h>
-+#include <linux/hardirq.h>
- #include "IxOsal.h"
- /* Define a large number */
-@@ -93,7 +93,7 @@ ixOsalSemaphoreWait (IxOsalOsSemaphore *
- {
-     IX_STATUS ixStatus = IX_SUCCESS;
--    UINT32 timeoutTime;
-+    unsigned long timeoutTime;
-     if (sid == NULL)
-     {
-@@ -261,7 +261,7 @@ ixOsalMutexInit (IxOsalMutex * mutex)
- PUBLIC IX_STATUS
- ixOsalMutexLock (IxOsalMutex * mutex, INT32 timeout)
- {
--    UINT32 timeoutTime;
-+    unsigned long timeoutTime;
-     if (in_irq ())
-     {
---- ixp_osal/os/linux/src/core/IxOsalOsServices.c      1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsServices.c      1970-01-01 00:00:00.000000000 +0000
-@@ -54,6 +54,7 @@
- #include <linux/time.h>
- #include <linux/sched.h>
- #include <linux/slab.h>
-+#include <linux/interrupt.h>
- #include "IxOsal.h"
-@@ -89,7 +90,7 @@ static IxOsalInfoType IxOsalInfo[NR_IRQS
- /*
-  * General interrupt handler
-  */
--static void
-+static irqreturn_t
- ixOsalOsIsrProxy (int irq, void *dev_id, struct pt_regs *regs)
- {
-     IxOsalInfoType *isr_proxy_info = (IxOsalInfoType *) dev_id;
-@@ -98,6 +99,7 @@ ixOsalOsIsrProxy (int irq, void *dev_id,
-                  "ixOsalOsIsrProxy: Interrupt used before ixOsalIrqBind was invoked");
-     isr_proxy_info->routine (isr_proxy_info->parameter);
-+    return IRQ_HANDLED;
- }
- /*
-@@ -105,11 +107,12 @@ ixOsalOsIsrProxy (int irq, void *dev_id,
-  * This handler saves the interrupted Program Counter (PC)
-  * into a global variable
-  */
--static void
-+static irqreturn_t
- ixOsalOsIsrProxyWithPC (int irq, void *dev_id, struct pt_regs *regs)
- {
-     ixOsalLinuxInterruptedPc = regs->ARM_pc;
-     ixOsalOsIsrProxy(irq, dev_id, regs);
-+    return IRQ_HANDLED;
- }
- /**************************************
-@@ -191,10 +194,15 @@ ixOsalIrqUnbind (UINT32 vector)
- PUBLIC UINT32
- ixOsalIrqLock ()
- {
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+    unsigned long flags;
-+    local_irq_save(flags);
-+#else
-     UINT32 flags;
-     save_flags (flags);
-     cli ();
--    return flags;
-+#endif
-+    return (UINT32)flags;
- }
- /* Enable interrupts and task scheduling,
-@@ -204,7 +212,11 @@ ixOsalIrqLock ()
- PUBLIC void
- ixOsalIrqUnlock (UINT32 lockKey)
- {
-+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+    local_irq_restore((unsigned long)lockKey);
-+# else
-     restore_flags (lockKey);
-+# endif
- }
- PUBLIC UINT32
-@@ -329,7 +341,7 @@ ixOsalBusySleep (UINT32 microseconds)
- PUBLIC void
- ixOsalSleep (UINT32 milliseconds)
- {
--    if (milliseconds != 0)
-+    if (milliseconds*HZ >= 1000)
-     {
-         set_current_state(TASK_INTERRUPTIBLE); 
-         schedule_timeout ((milliseconds * HZ) / 1000);
---- ixp_osal/os/linux/src/core/IxOsalOsThread.c        1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsThread.c        1970-01-01 00:00:00.000000000 +0000
-@@ -65,12 +65,7 @@ thread_internal (void *unused)
-     void *arg = IxOsalOsThreadData.arg;
-     static int seq = 0;
--    daemonize ();
--    reparent_to_init ();
--
--    exit_files (current);
--
--    snprintf(current->comm, sizeof(current->comm), "IxOsal %d", ++seq);
-+    daemonize ("IxOsal %d", ++seq);
-     up (&IxOsalThreadMutex);
diff --git a/recipes/ixp4xx/ixp-osal-2.1/Makefile.patch b/recipes/ixp4xx/ixp-osal-2.1/Makefile.patch
deleted file mode 100644 (file)
index 1558e9c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
- Makefile                |    2 +-
- os/linux/make/macros.mk |    4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
---- ixp_osal/Makefile  1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/Makefile  1970-01-01 00:00:00.000000000 +0000
-@@ -185,7 +185,7 @@ endif
- INCLUDE_DIRS = include $(OSAL_DIRS:%=$(MAIN_INC_PREFIX)/%) $(OSAL_DIRS:%=$(OS_INC_PREFIX)/%)  
- ifeq ($(IX_OSAL_MK_HOST_OS), linux)
--INCLUDE_DIRS += $(LINUX_SRC)/include/asm-arm/arch-ixp425/
-+INCLUDE_DIRS += $(LINUX_SRC)/include/asm-arm/arch-ixp4xx/
- endif
- CFLAGS += $(INCLUDE_DIRS:%=-I%) 
---- ixp_osal/os/linux/make/macros.mk   1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/make/macros.mk   1970-01-01 00:00:00.000000000 +0000
-@@ -88,10 +88,10 @@ AR := $(LINUX_CROSS_COMPILE)ar
- # Compiler & linker options
- # Compiler flags
--LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
-+LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mtune=xscale
- CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common \
--          -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE \
-+          -pipe -msoft-float -DMODULE \
-           -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS) -DEXPORT_SYMTAB
- # Linux linker flags
diff --git a/recipes/ixp4xx/ixp-osal-2.1/assert.patch b/recipes/ixp4xx/ixp-osal-2.1/assert.patch
deleted file mode 100644 (file)
index a03113d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# Unnecessary patch - reduces the code size slightly, gives clearer
-# messages if IX_OSAL_ENSURE_ON is set
-# include/IxOsalAssert.h                 |    4 ++--
-# os/linux/include/core/IxOsalOsAssert.h |    9 ++++++++-
-# 2 files changed, 10 insertions(+), 3 deletions(-)
-#
---- ixp_osal/include/IxOsalAssert.h    1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/include/IxOsalAssert.h    1970-01-01 00:00:00.000000000 +0000
-@@ -72,8 +72,8 @@
-  */
- #ifdef IX_OSAL_ENSURE_ON
- #define IX_OSAL_ENSURE(c, str) do { \
--if (!(c)) ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE, IX_OSAL_LOG_DEV_STDOUT, str, \
--0, 0, 0, 0, 0, 0); } while (0)
-+if (!(c)) ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE, IX_OSAL_LOG_DEV_STDOUT, __FILE__ ": line %d: " str, \
-+__LINE__, 0, 0, 0, 0, 0); } while (0)
- #else
- #define IX_OSAL_ENSURE(c, str)
---- ixp_osal/os/linux/include/core/IxOsalOsAssert.h    1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/core/IxOsalOsAssert.h    1970-01-01 00:00:00.000000000 +0000
-@@ -47,11 +47,18 @@
- #ifndef IxOsalOsAssert_H
- #define IxOsalOsAssert_H
-+#ifdef IX_OSAL_ENSURE_ON
- #define IX_OSAL_OS_ASSERT(c)    if(!(c)) \
-                                 { \
--                                    ixOsalLog (IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDOUT, "Assertion failure \n", 0, 0, 0, 0, 0, 0);\
-+                                    ixOsalLog (IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDOUT, "%s line %d: Assertion failure: %s\n", (int)__FILE__, __LINE__, (int)#c, 0, 0, 0);\
-                                     BUG(); \
-                                 }
-+#else
-+#define IX_OSAL_OS_ASSERT(c)    if(!(c)) \
-+                                { \
-+                                    BUG(); \
-+                                }
-+#endif
- /* 
-  * Place holder.
diff --git a/recipes/ixp4xx/ixp-osal-2.1/invalidate-cache.patch b/recipes/ixp4xx/ixp-osal-2.1/invalidate-cache.patch
deleted file mode 100644 (file)
index 33c1d13..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
- os/linux/include/core/IxOsalOs.h     |   17 ++++++++++
- os/linux/src/core/IxOsalOsCacheMMU.c |   56 +++++++++++++++++++++++++++++++++++
- os/linux/src/core/IxOsalOsSymbols.c  |    4 ++
- 3 files changed, 76 insertions(+), 1 deletion(-)
-
---- ixp_osal/os/linux/include/core/IxOsalOs.h  1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/core/IxOsalOs.h  1970-01-01 00:00:00.000000000 +0000
-@@ -56,6 +56,7 @@
- #include <linux/cache.h>
- #include <linux/mm.h>
- #include <linux/config.h>
-+#include <linux/version.h>
- #include <asm/pgalloc.h>
- /**
-@@ -66,9 +67,23 @@
- #define IX_OSAL_OS_MMU_PHYS_TO_VIRT(addr)  ((addr) ? phys_to_virt((unsigned int)(addr)) : 0)
--#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size)  ( invalidate_dcache_range((__u32)addr, (__u32)addr + size )) 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+/*
-+ * 2.6 kernels do not export the required cache functions.
-+ */
-+extern void ixOsalCacheInvalidateRange(unsigned long start, unsigned long size);
-+extern void ixOsalCacheFlushRange(unsigned long start, unsigned long size);
-+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size) \
-+ixOsalCacheInvalidateRange((unsigned long)addr, (unsigned long)addr + size)
-+#define IX_OSAL_OS_CACHE_FLUSH(addr, size) \
-+ixOsalCacheFlushRange((unsigned long)addr, (unsigned long)addr + size )
-+#else
-+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size)  ( invalidate_dcache_range((__u32)addr, (__u32)addr + size ))
- #define IX_OSAL_OS_CACHE_FLUSH(addr, size) ( clean_dcache_range((__u32)addr, (__u32)addr + size ))
-+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
- /* Cache preload not available*/
- #define IX_OSAL_OS_CACHE_PRELOAD(addr,size) {}
---- ixp_osal/os/linux/src/core/IxOsalOsCacheMMU.c      1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsCacheMMU.c      1970-01-01 00:00:00.000000000 +0000
-@@ -210,3 +210,59 @@ ixOsalCacheDmaFree (void *ptr)
-       free_pages ((unsigned int) memptr, order);
-     }
- }
-+
-+
-+/*
-+ * 2.6 kernels do not export the required cache functions.
-+ */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+
-+#define _IX_STR(x) #x
-+#define IX_STR(x) _IX_STR(x)
-+#define IX_CLM IX_STR(IX_OSAL_CACHE_LINE_SIZE-1)
-+
-+/*
-+ * reimplementation of kernel's invalidate_dcache_range()
-+ */
-+void
-+ixOsalCacheInvalidateRange(unsigned long start, unsigned long size)
-+{
-+  __asm__
-+    ("    tst    %0, #" IX_CLM "\n"
-+     "    mcrne  p15, 0, %0, c7, c10, 1      @ clean D cache line\n"
-+     "    bic    %0, %0, #" IX_CLM "\n"
-+     "    tst    %1, #" IX_CLM "\n"
-+     "    mcrne  p15, 0, %1, c7, c10, 1      @ clean D cache line\n"
-+     "1:  mcr    p15, 0, %0, c7, c6, 1       @ invalidate D cache line\n"
-+     "    add    %0, %0, #" IX_STR(IX_OSAL_CACHE_LINE_SIZE) "\n"
-+     "    cmp    %0, %1\n"
-+     "    blo    1b\n"
-+     "    mcr    p15, 0, %0, c7, c10, 4      @ drain write & fill buffer\n"
-+     : /* no output */
-+     : "r"(start), "r"(size)
-+     : "cc");
-+}
-+
-+/*
-+ * reimplementation of kernel's invalidate_dcache_range()
-+ */
-+void
-+ixOsalCacheFlushRange(unsigned long start, unsigned long size)
-+{
-+  __asm__
-+    ("    bic    %0, %0, #" IX_CLM "\n"
-+     "1:  mcr    p15, 0, %0, c7, c10, 1      @ clean D cache line\n"
-+     "    add    %0, %0, #" IX_STR(IX_OSAL_CACHE_LINE_SIZE) "\n"
-+     "    cmp    %0, %1\n"
-+     "    blo    1b\n"
-+     "    mcr    p15, 0, %0, c7, c10, 4      @ drain write & fill buffer\n"
-+     : /* no output */
-+     : "r"(start), "r"(size)
-+     : "cc");
-+}
-+
-+#undef _IX_STR
-+#undef IX_STR
-+#undef IX_CLM
-+
-+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
---- ixp_osal/os/linux/src/core/IxOsalOsSymbols.c       1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/core/IxOsalOsSymbols.c       1970-01-01 00:00:00.000000000 +0000
-@@ -64,6 +64,10 @@ EXPORT_SYMBOL (ixOsalMemSet);
- EXPORT_SYMBOL (ixOsalCacheDmaMalloc);
- EXPORT_SYMBOL (ixOsalCacheDmaFree);
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-+EXPORT_SYMBOL (ixOsalCacheInvalidateRange);
-+EXPORT_SYMBOL (ixOsalCacheFlushRange);
-+#endif
- EXPORT_SYMBOL (ixOsalThreadCreate);
- EXPORT_SYMBOL (ixOsalThreadStart);
diff --git a/recipes/ixp4xx/ixp-osal-2.1/ixp4xx-header.patch b/recipes/ixp4xx/ixp-osal-2.1/ixp4xx-header.patch
deleted file mode 100644 (file)
index a9d87d4..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
- os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Base.h |   72 ++++++++++
- os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h  |   10 -
- 2 files changed, 78 insertions(+), 4 deletions(-)
-
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      1970-01-01 00:00:00.000000000 +0000
-@@ -53,6 +53,8 @@
- #error "Error: IxOsalOsIxp425Sys.h cannot be included directly before IxOsalOsIxp400.h"
- #endif
-+#include "IxOsalOsIxp425Base.h"
-+
- /* Memory Base Address */
- #define IX_OSAL_IXP400_EXP_BUS_PHYS_BASE              IXP425_EXP_BUS_BASE2_PHYS
- #define IX_OSAL_IXP400_EXP_BUS_BOOT_PHYS_BASE         IXP425_EXP_BUS_BASE1_PHYS
-@@ -98,12 +100,12 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[] 
-      * Queue Manager 
-      */
-     {
--     IX_OSAL_STATIC_MAP,      /* type            */
-+     IX_OSAL_DYNAMIC_MAP,     /* type            */
-      IX_OSAL_IXP400_QMGR_PHYS_BASE,   /* physicalAddress */
-      IX_OSAL_IXP400_QMGR_MAP_SIZE,    /* size            */
--     IX_OSAL_IXP400_QMGR_VIRT_BASE,   /* virtualAddress  */
--     NULL,                    /* mapFunction     */
--     NULL,                    /* unmapFunction   */
-+     0,                               /* virtualAddress  */
-+     ixOsalLinuxMemMap,               /* mapFunction     */
-+     ixOsalLinuxMemUnmap,     /* unmapFunction   */
-      0,                               /* refCount        */
-      IX_OSAL_BE | IX_OSAL_LE_DC,      /* endianType      */   
-      "qMgr"                   /* name            */
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Base.h     1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Base.h     1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,80 @@
-+/*
-+ * Glue for the current linux definitons of this stuff.
-+ */
-+#ifndef IxOsalOsIxp425Base_H
-+#define IxOsalOsIxp425Base_H 1
-+#include <asm-arm/arch-ixp4xx/ixp4xx-regs.h>
-+#include <linux/version.h>
-+
-+/* Force Address Coherent (the default) mapping on LE - Linux 2.6
-+ * does not have a way of changing it.
-+ */
-+#if defined IX_OSAL_LINUX_LE
-+# if !defined IX_OSAL_ENFORCED_LE_AC_MAPPING
-+#  define IX_OSAL_ENFORCED_LE_AC_MAPPING
-+# endif
-+# if defined IX_OSAL_LE_DC_MAPPING
-+#  error Little Endian Data Coherent mapping not supported on this platform
-+# endif
-+
-+/* This doesn't matter on a BE build because it will never be used,
-+ * however it will be selected and will fail on an LE build.
-+ */
-+# undef IX_OSAL_LE_DC
-+# define IX_OSAL_LE_DC IX_OSAL_LE_DC_IS_INVALID_ON_THIS_PLATFORM
-+#endif
-+
-+/* Physical addresses. */
-+#define IXP425_PERIPHERAL_BASE_PHYS   IXP4XX_PERIPHERAL_BASE_PHYS
-+#define IXP425_EXP_CFG_BASE_PHYS      IXP4XX_EXP_CFG_BASE_PHYS
-+#define IXP425_PCI_CFG_BASE_PHYS      IXP4XX_PCI_CFG_BASE_PHYS
-+
-+//#define IXP425_EXP_BUS_BASE1_PHYS
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16)
-+#define IXP425_EXP_BUS_BASE2_PHYS     IXP4XX_EXP_BUS_CS2_BASE_PHYS
-+#else
-+/* The following definition should be IXP4XX_EXP_BUS_BASE(2), but that is not
-+   static and causes compilation problems later.  So we need to hard-code it.
-+   Note that this hard-coded value is only correct for IXP42X. */
-+#define IXP425_EXP_BUS_BASE2_PHYS     (IXP4XX_EXP_BUS_BASE_PHYS + (2 * SZ_16M))
-+#endif
-+//#define IXP425_EXP_BUS_CS0_BASE_PHYS
-+//#define IXP425_EXP_BUS_CS1_BASE_PHYS
-+//#define IXP425_EXP_BUS_CS4_BASE_PHYS
-+#define IXP425_EthA_BASE_PHYS         (IXP4XX_PERIPHERAL_BASE_PHYS + 0x9000)
-+#define IXP425_EthB_BASE_PHYS         (IXP4XX_PERIPHERAL_BASE_PHYS + 0xA000)
-+//#define IXP425_GPIO_BASE_PHYS
-+#define IXP425_INTC_BASE_PHYS         IXP4XX_INTC_BASE_PHYS
-+//#define IXP425_NPEA_BASE_PHYS
-+//#define IXP425_NPEB_BASE_PHYS
-+//#define IXP425_NPEC_BASE_PHYS
-+//#define IXP425_PMU_BASE_PHYS
-+#define IXP425_QMGR_BASE_PHYS         IXP4XX_QMGR_BASE_PHYS
-+#define IXP425_TIMER_BASE_PHYS                IXP4XX_TIMER_BASE_PHYS
-+//#define IXP425_UART1_BASE_PHYS
-+//#define IXP425_UART2_BASE_PHYS
-+#define IXP425_USB_BASE_PHYS          IXP4XX_USB_BASE_PHYS
-+
-+/* Virtual addresses. */
-+#define IXP425_PERIPHERAL_BASE_VIRT   IXP4XX_PERIPHERAL_BASE_VIRT
-+#define IXP425_PERIPHERAL_REGION_SIZE IXP4XX_PERIPHERAL_REGION_SIZE
-+#define IXP425_EXP_CFG_BASE_VIRT      IXP4XX_EXP_CFG_BASE_VIRT
-+#define IXP425_PCI_CFG_BASE_VIRT      IXP4XX_PCI_CFG_BASE_VIRT
-+
-+//#define IXP425_EthA_BASE_VIRT
-+//#define IXP425_EthB_BASE_VIRT
-+//#define IXP425_GPIO_BASE_VIRT
-+//#define IXP425_NPEA_BASE_VIRT
-+//#define IXP425_NPEB_BASE_VIRT
-+//#define IXP425_NPEC_BASE_VIRT
-+//#define IXP425_QMGR_BASE_VIRT       /* must be ioremapped on Linux 2.6 */
-+//#define IXP425_TIMER_BASE_VIRT
-+//#define IXP425_UART1_BASE_VIRT
-+//#define IXP425_UART2_BASE_VIRT
-+//#define IXP425_USB_BASE_VIRT
-+
-+/* Miscellaneous stuff. */
-+#define IRQ_IXP425_XSCALE_PMU         IRQ_IXP4XX_XSCALE_PMU
-+#define IXP425_ICMR                   IXP4XX_ICMR
-+#define IRQ_IXP425_USB                        IRQ_IXP4XX_USB
-+#endif
diff --git a/recipes/ixp4xx/ixp-osal-2.1/le.patch b/recipes/ixp4xx/ixp-osal-2.1/le.patch
deleted file mode 100644 (file)
index a6936ea..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
- include/modules/ioMem/IxOsalIoMem.h                                 |    4 ++--
- include/modules/ioMem/IxOsalMemAccess.h                             |    2 +-
- os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h |    2 +-
- os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h        |    2 +-
- os/linux/src/modules/ioMem/IxOsalOsIoMem.c                          |    3 +++
- 5 files changed, 8 insertions(+), 5 deletions(-)
-
---- ixp_osal/include/modules/ioMem/IxOsalIoMem.h       1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/include/modules/ioMem/IxOsalIoMem.h       1970-01-01 00:00:00.000000000 +0000
-@@ -117,8 +117,8 @@ ixOsalCoreWordSwap (UINT32 wordIn)
- #endif /* ndef __wince */
- #define IX_OSAL_SWAP_SHORT(sData)         ((sData >> 8) | ((sData & 0xFF) << 8))
--#define IX_OSAL_SWAP_SHORT_ADDRESS(sAddr) ((sAddr) ^ 0x2)
--#define IX_OSAL_SWAP_BYTE_ADDRESS(bAddr)  ((bAddr) ^ 0x3)
-+#define IX_OSAL_SWAP_SHORT_ADDRESS(sAddr) ((UINT16*)((UINT32)(sAddr) ^ 0x2))
-+#define IX_OSAL_SWAP_BYTE_ADDRESS(bAddr)  ((UINT8*)((UINT32)(bAddr) ^ 0x3))
- #define IX_OSAL_BE_XSTOBUSL(wData)  (wData)
- #define IX_OSAL_BE_XSTOBUSS(sData)  (sData)
---- ixp_osal/include/modules/ioMem/IxOsalMemAccess.h   1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/include/modules/ioMem/IxOsalMemAccess.h   1970-01-01 00:00:00.000000000 +0000
-@@ -84,7 +84,7 @@
- #elif defined (IX_OSAL_LINUX_LE)
--#define IX_SDRAM_LE_DATA_COHERENT
-+#define IX_SDRAM_LE_ADDRESS_COHERENT
- #elif defined (IX_OSAL_WINCE_LE)
---- ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h       1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h       1970-01-01 00:00:00.000000000 +0000
-@@ -171,7 +171,7 @@
-  ***************************/
- #if (IX_COMPONENT_NAME == ix_qmgr)
--#define IX_OSAL_LE_DC_MAPPING
-+#define IX_OSAL_LE_AC_MAPPING
- #endif /* qmgr */
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h      1970-01-01 00:00:00.000000000 +0000
-@@ -107,7 +107,7 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[] 
-      ixOsalLinuxMemMap,               /* mapFunction     */
-      ixOsalLinuxMemUnmap,     /* unmapFunction   */
-      0,                               /* refCount        */
--     IX_OSAL_BE | IX_OSAL_LE_DC,      /* endianType      */   
-+     IX_OSAL_BE | IX_OSAL_LE_AC,      /* endianType      */
-      "qMgr"                   /* name            */
-      },
---- ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c        1970-01-01 00:00:00.000000000 +0000
-+++ ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c        1970-01-01 00:00:00.000000000 +0000
-@@ -45,6 +45,7 @@
-  * -- End Intel Copyright Notice --
-  */
-+#include <asm/page.h>
- #include <asm/io.h>
- #include <linux/ioport.h>
-@@ -54,6 +55,8 @@
- PUBLIC void
- ixOsalLinuxMemMap (IxOsalMemoryMap * map)
- {
-+    /* Linux requires LE mappings to use address coherency */
-+    IX_OSAL_ENSURE((map->mapEndianType & IX_OSAL_LE_DC) == 0, "LE Data Coherency not supported");
-     map->virtualAddress = (UINT32) ioremap (map->physicalAddress, map->size);
- }
diff --git a/recipes/ixp4xx/ixp-osal_1.5.bb b/recipes/ixp4xx/ixp-osal_1.5.bb
deleted file mode 100644 (file)
index eac1c1c..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      ixp400AccessLibrary-1_5.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader" and, from
-# this the "Intel Hardware Access Software" (versions 1.5 encryption is
-# not required.)
-#
-# Store the file with the name given below in your downloads directory
-#
-SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/ixp400AccessLibrary-1_5.zip"
-SRC_URI += "file://2.6.patch;patch=1"
-S = "${WORKDIR}/ixp_osal"
-PR = "r1"
-
-COMPATIBLE_HOST = "^armeb-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'AR=${AR}' \
-               'IX_XSCALE_SW=${S}' \
-               'IX_TARGET=linuxbe' \
-               'IX_MPHY=1' \
-               'IX_MPHYSINGLEPORT=1' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               "
-
-OSAL_PATH = "lib/linux/linuxbe/ixp400"
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-do_compile () {
-       oe_runmake ${OSAL_PATH}/libosal.a ${OSAL_PATH}/ixp_osal.o
-}
-
-do_stage () {
-       install -d ${OSAL_DIR}
-
-       # First the include files, maintain the tree structure (ixp4xx-csr
-       # expects the exact same tree)
-       cp -RLf include ${OSAL_DIR}
-       install -d ${OSAL_DIR}/os/linux
-       cp -RLf os/linux/include ${OSAL_DIR}/os/linux
-
-       # Install the library/object
-       install -d ${OSAL_DIR}/${OSAL_PATH}
-       rm -f ${OSAL_DIR}/libosal
-       install -m 0644 ${OSAL_PATH}/libosal.a ${OSAL_DIR}/${OSAL_PATH}
-       touch ${OSAL_DIR}/libosal
-       rm -f ${OSAL_DIR}/module
-       install -m 0644 ${OSAL_PATH}/ixp_osal.o ${OSAL_DIR}/${OSAL_PATH}
-       touch ${OSAL_DIR}/module
-}
-
-# This stuff doesn't install anything...
-PACKAGES = ""
-
-do_install () {
-}
diff --git a/recipes/ixp4xx/ixp-osal_2.0.bb b/recipes/ixp4xx/ixp-osal_2.0.bb
deleted file mode 100644 (file)
index 009d45d..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      IPL_ixp400AccessLibrary-2_0.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader" and, from
-# this the "Intel Hardware Access Software" (versions 2.0 encryption is
-# not required.)
-#
-# Store the file with the name given below in your downloads directory
-# and store the 32 character md5sum of the file in a file of the same
-# name with the additional extension .md5:
-#
-#      IPL_ixp400AccessLibrary-2_0.zip.md5
-#
-SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400AccessLibrary-2_0.zip"
-SRC_URI += "file://Makefile.patch;patch=1"
-SRC_URI += "file://2.6.patch;patch=1"
-SRC_URI += "file://le.patch;patch=1"
-S = "${WORKDIR}/ixp_osal"
-PR = "r4"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'AR=${AR}' \
-               'IX_XSCALE_SW=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               'IX_DEVICE=ixp42X' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               "
-
-OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-do_compile () {
-       oe_runmake ${OSAL_PATH}/libosal.a ${OSAL_PATH}/ixp_osal.o
-}
-
-do_stage () {
-       # Clean the directory first, this ensures incremental builds have
-       # a slightly better chance of working
-       rm -rf ${OSAL_DIR}
-       install -d ${OSAL_DIR}
-
-       # First the include files, maintain the tree structure (ixp4xx-csr
-       # expects the exact same tree)
-       cp -RLf include ${OSAL_DIR}
-       install -d ${OSAL_DIR}/os/linux
-       cp -RLf os/linux/include ${OSAL_DIR}/os/linux
-
-       # Install the library/object
-       install -d ${OSAL_DIR}/${OSAL_PATH}
-       rm -f ${OSAL_DIR}/libosal
-       install -m 0644 ${OSAL_PATH}/libosal.a ${OSAL_DIR}/${OSAL_PATH}
-       touch ${OSAL_DIR}/libosal
-       rm -f ${OSAL_DIR}/module
-       install -m 0644 ${OSAL_PATH}/ixp_osal.o ${OSAL_DIR}/${OSAL_PATH}
-       touch ${OSAL_DIR}/module
-}
-
-# This stuff doesn't install anything...
-PACKAGES = ""
-
-do_install () {
-}
diff --git a/recipes/ixp4xx/ixp-osal_2.1.1.bb b/recipes/ixp4xx/ixp-osal_2.1.1.bb
deleted file mode 100644 (file)
index 481033f..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-DEFAULT_PREFERENCE = "-1"
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      BSD_ixp400AccessLibrary-2_1.zip
-#      BSD_ixp400AccessLibrary-2_1_1.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader" and, from
-# this the "Intel Hardware Access Software" (versions 2.1 encryption is
-# not required.)
-#
-# Store the file with the name given below in your downloads directory
-# and store the 32 character md5sum of the file in a file of the same
-# name with the additional extension .md5:
-#
-#      BSD_ixp400AccessLibrary-2_1.zip.md5
-#      BSD_ixp400AccessLibrary-2_1_1.zip.md5
-#
-SRC_URI =  "http://www.intel.com/Please-Read-The-BB-File/BSD_ixp400AccessLibrary-2_1.zip"
-SRC_URI += "http://www.intel.com/Please-Read-The-BB-File/BSD_ixp400AccessLibrary-2_1_1.zip"
-SRC_URI += "file://Makefile.patch;patch=1"
-SRC_URI += "file://2.6.patch;patch=1"
-SRC_URI += "file://invalidate-cache.patch;patch=1"
-SRC_URI += "file://ixp4xx-header.patch;patch=1"
-SRC_URI += "file://le.patch;patch=1"
-SRC_URI += "file://assert.patch;patch=1"
-
-S = "${WORKDIR}/ixp_osal"
-PR = "r0"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-do_pre_patch () {
-       ( cd ${WORKDIR} ; mkdir patches ; mv BSD_ixp400AccessLibrary-2_1_1.patch patches/ ; \
-         echo "BSD_ixp400AccessLibrary-2_1_1.patch -p0" >> patches/series ; \
-         quilt push )
-}
-
-addtask pre_patch before do_patch
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-IX_ENSURE = ""
-#IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
-
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'AR=${AR}' \
-               'IX_XSCALE_SW=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               'IX_DEVICE=ixp42X' \
-               ${IX_ENSURE} \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               "
-
-OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-do_compile () {
-       oe_runmake ${OSAL_PATH}/libosal.a ${OSAL_PATH}/ixp_osal.o
-}
-
-do_stage () {
-       # Clean the directory first, this ensures incremental builds have
-       # a slightly better chance of working
-       rm -rf ${OSAL_DIR}
-       install -d ${OSAL_DIR}
-
-       # First the include files, maintain the tree structure (ixp4xx-csr
-       # expects the exact same tree)
-       cp -RLf include ${OSAL_DIR}
-       install -d ${OSAL_DIR}/os/linux
-       cp -RLf os/linux/include ${OSAL_DIR}/os/linux
-
-       # Install the library/object
-       install -d ${OSAL_DIR}/${OSAL_PATH}
-       rm -f ${OSAL_DIR}/libosal
-       install -m 0644 ${OSAL_PATH}/libosal.a ${OSAL_DIR}/${OSAL_PATH}
-       touch ${OSAL_DIR}/libosal
-       rm -f ${OSAL_DIR}/module
-       install -m 0644 ${OSAL_PATH}/ixp_osal.o ${OSAL_DIR}/${OSAL_PATH}
-       touch ${OSAL_DIR}/module
-}
-
-# This stuff doesn't install anything...
-PACKAGES = ""
-
-do_install () {
-}
diff --git a/recipes/ixp4xx/ixp-osal_2.1.bb b/recipes/ixp4xx/ixp-osal_2.1.bb
deleted file mode 100644 (file)
index dd70289..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      IPL_ixp400AccessLibrary-2_1.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader" and, from
-# this the "Intel Hardware Access Software" (versions 2.1 encryption is
-# not required.)
-#
-# Store the file with the name given below in your downloads directory
-# and store the 32 character md5sum of the file in a file of the same
-# name with the additional extension .md5:
-#
-#      IPL_ixp400AccessLibrary-2_1.zip.md5
-#
-SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400AccessLibrary-2_1.zip"
-SRC_URI += "file://Makefile.patch;patch=1"
-SRC_URI += "file://2.6.patch;patch=1"
-SRC_URI += "file://invalidate-cache.patch;patch=1"
-SRC_URI += "file://ixp4xx-header.patch;patch=1"
-SRC_URI += "file://le.patch;patch=1"
-SRC_URI += "file://assert.patch;patch=1"
-
-S = "${WORKDIR}/ixp_osal"
-PR = "r6"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-IX_ENSURE = ""
-#IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
-
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'AR=${AR}' \
-               'IX_XSCALE_SW=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               'IX_DEVICE=ixp42X' \
-               ${IX_ENSURE} \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               "
-
-OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-do_compile () {
-       oe_runmake ${OSAL_PATH}/libosal.a ${OSAL_PATH}/ixp_osal.o
-}
-
-do_stage () {
-       # Clean the directory first, this ensures incremental builds have
-       # a slightly better chance of working
-       rm -rf ${OSAL_DIR}
-       install -d ${OSAL_DIR}
-
-       # First the include files, maintain the tree structure (ixp4xx-csr
-       # expects the exact same tree)
-       cp -RLf include ${OSAL_DIR}
-       install -d ${OSAL_DIR}/os/linux
-       cp -RLf os/linux/include ${OSAL_DIR}/os/linux
-
-       # Install the library/object
-       install -d ${OSAL_DIR}/${OSAL_PATH}
-       rm -f ${OSAL_DIR}/libosal
-       install -m 0644 ${OSAL_PATH}/libosal.a ${OSAL_DIR}/${OSAL_PATH}
-       touch ${OSAL_DIR}/libosal
-       rm -f ${OSAL_DIR}/module
-       install -m 0644 ${OSAL_PATH}/ixp_osal.o ${OSAL_DIR}/${OSAL_PATH}
-       touch ${OSAL_DIR}/module
-}
-
-# This stuff doesn't install anything...
-PACKAGES = ""
-
-do_install () {
-}
diff --git a/recipes/ixp4xx/ixp4xx-csr-1.5/2.6.patch b/recipes/ixp4xx/ixp4xx-csr-1.5/2.6.patch
deleted file mode 100644 (file)
index 58c3cbd..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-diff -Naur ixp400_xscale_sw.orig/Makefile ixp400_xscale_sw/Makefile
---- ixp400_xscale_sw.orig/Makefile     2005-08-24 00:16:35.000000000 +0200
-+++ ixp400_xscale_sw/Makefile  2005-08-30 19:01:47.000000000 +0200
-@@ -93,15 +93,16 @@
- # platforms. Components that work only for a subset of platforms
- # should be added to the relevant *_COMPONENTS lists.
- #
--BI_ENDIAN_COMPONENTS := atmdAcc atmm atmsch qmgr npeMh npeDl ethAcc ethDB ethMii hssAcc usb uartAcc featureCtrl ossl osServices
-+# Intel default value: atmdAcc atmm atmsch qmgr npeMh npeDl ethAcc ethDB ethMii hssAcc usb uartAcc featureCtrl ossl osServices
-+BI_ENDIAN_COMPONENTS := qmgr npeMh npeDl ethAcc ethDB ethMii ossl osServices featureCtrl
- # The lists below contain the set of components available for each target platform
- vxbe_COMPONENTS := $(BI_ENDIAN_COMPONENTS) perfProfAcc dmaAcc
- vxle_COMPONENTS := $(BI_ENDIAN_COMPONENTS) perfProfAcc
- vxsim_COMPONENTS := $(BI_ENDIAN_COMPONENTS) dmaAcc
--linuxbe_COMPONENTS := $(BI_ENDIAN_COMPONENTS) perfProfAcc dmaAcc 
--linuxle_COMPONENTS := $(BI_ENDIAN_COMPONENTS) perfProfAcc
-+linuxbe_COMPONENTS := $(BI_ENDIAN_COMPONENTS) # perfProfAcc dmaAcc 
-+linuxle_COMPONENTS := $(BI_ENDIAN_COMPONENTS) # perfProfAcc
- # To facilitate automated builds, do not modify the value of COMPONENTS directly - 
- # just change the per-platform component lists above.
-@@ -222,10 +223,12 @@
- else # IX_TARGET_OS == vxworks
- # Linux tool names
--ifeq ($(IX_TARGET), linuxbe)
--LINUX_CROSS_COMPILE := $(HARDHAT_BASE)/devkit/arm/xscale_be/bin/xscale_be-
--else
--LINUX_CROSS_COMPILE := $(HARDHAT_BASE)/devkit/arm/xscale_le/bin/xscale_le-
-+ifeq "$(LINUX_CROSS_COMPILE)" "" 
-+ ifeq ($(IX_TARGET), linuxbe)
-+  LINUX_CROSS_COMPILE := $(HARDHAT_BASE)/devkit/arm/xscale_be/bin/xscale_be-
-+ else
-+  LINUX_CROSS_COMPILE := $(HARDHAT_BASE)/devkit/arm/xscale_le/bin/xscale_le-
-+ endif
- endif
- LD := $(LINUX_CROSS_COMPILE)ld
-@@ -253,7 +256,9 @@
- LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
--CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE -Isrc/include -I$(NPE_OUTPUT_DIR) -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
-+CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -mapcs-32 -msoft-float -DMODULE -Isrc/include -I$(NPE_OUTPUT_DIR) -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
-+
-+# -mshort-load-bytes removed by Marc Singer's patch TODO(hannes) why?
- # Linux linker flags
- LDFLAGS := -r
-@@ -1139,9 +1144,14 @@
- ixp400.o : $(OBJ_DIR)/ixp400.o
-+ixp400.ko : $(OBJ_DIR)/ixp400.o
--$(OBJ_DIR)/ixp400.o: $(COMPONENTS:%=$(OBJ_DIR)/ixp400_%.o) $(NPE_PRODUCTION_HEADER_OBJ) $(OSAL_MODULE)
-+$(OBJ_DIR)/ixp400.o: $(COMPONENTS:%=$(OBJ_DIR)/ixp400_%.o) $(NPE_PRODUCTION_HEADER_OBJ) $(OSAL_MODULE) # add this to hack in the ethAcc codelet: $(OBJ_DIR)/ixp400_codelets_ethAcc.o
-+      touch $(OBJ_DIR)/ixp400.c
-+      cp Makefile.kmod26 $(OBJ_DIR)/Makefile
-+      make -C $(OBJ_DIR)
-       $(LD) $(LDFLAGS) $^ -o $@
-+      make -C $(OBJ_DIR)
-diff -Naur ixp400_xscale_sw.orig/Makefile.kmod26 ixp400_xscale_sw/Makefile.kmod26
---- ixp400_xscale_sw.orig/Makefile.kmod26      1970-01-01 01:00:00.000000000 +0100
-+++ ixp400_xscale_sw/Makefile.kmod26   2005-08-24 22:33:12.000000000 +0200
-@@ -0,0 +1,11 @@
-+obj-m := ixp400.o
-+
-+PWD         := $(shell pwd)
-+
-+LINUX_SRC := $($(IX_TARGET)_KERNEL_DIR)
-+
-+default:
-+      $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) V=1 -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
-+
-+clean:
-+      rm -f ixp400.ko
-diff -Naur ixp400_xscale_sw.orig/Readme-Kernel-2_6-Patch.txt ixp400_xscale_sw/Readme-Kernel-2_6-Patch.txt
---- ixp400_xscale_sw.orig/Readme-Kernel-2_6-Patch.txt  1970-01-01 01:00:00.000000000 +0100
-+++ ixp400_xscale_sw/Readme-Kernel-2_6-Patch.txt       2005-09-28 19:50:30.000000000 +0200
-@@ -0,0 +1,49 @@
-+This file describes a patch to use version 1.5 of the Intel Ixp4XX
-+Access Library with Linux 2.6 kernels.
-+
-+Authors/History
-+---------------
-+
-+This patch consists of the changes made by Marc Singer for use of
-+version 1.5 of the library with the APEX bootloader, and a patch made
-+by Robin Farine and Tom Winkler for use of version 1.4 of the library
-+with Linux-2.6 kernels. These changes were merged together by Hannes
-+Reich.
-+
-+Both patches are incorporated in their entirety, with the exception of
-+some tweaks to sleep times in the ethAcc code and modifications to
-+the code in src/codelets/usb/ from the Robin Farine / Tom Winkler
-+patch.
-+
-+Status
-+------
-+
-+This code has been tested on a Linksys NSLU2. It works in big-endian
-+mode, performance seems around 10% faster than 1.4.
-+
-+The code does not work in little-endian mode. It appears as though the
-+hardware is initialised correctly, but packet receive / transmit done
-+callbacks are never called.
-+
-+Licence Information
-+-------------------
-+
-+The patch is licenced under the same conditions as the original Access
-+Library 1.5 (INTEL SOFTWARE LICENSE AGREEMENT). The full text of the
-+licence can be downloaded from:
-+http://www.intel.com/design/network/swsup/np_sla/ixp400.htm
-+
-+The patch is free, unsupported and the authors make no warranties.
-+Use it at your own risk, do with it as you see fit so long as you do
-+not violate the original licence agreement.
-+
-+The authors permit derivative works based upon the patch.
-+
-+References
-+----------
-+
-+The version 1.4 patch by Robin Farine and Tom Winkler is available from
-+http://www.wnk.at/ixp400_accesslib_kernel26/data/patch_accesslib_kernel26_20040811.diff
-+
-+The version 1.5 patch by Marc Singer is at
-+http://wiki.buici.com/bin/view/Main/IXPAccessLibrary
-diff -Naur ixp400_xscale_sw.orig/src/codelets/dmaAcc/IxDmaAccCodelet_p.h ixp400_xscale_sw/src/codelets/dmaAcc/IxDmaAccCodelet_p.h
---- ixp400_xscale_sw.orig/src/codelets/dmaAcc/IxDmaAccCodelet_p.h      2005-08-24 00:16:36.000000000 +0200
-+++ ixp400_xscale_sw/src/codelets/dmaAcc/IxDmaAccCodelet_p.h   2005-08-24 00:18:02.000000000 +0200
-@@ -113,7 +113,7 @@
-  * @return IX_FAIL - Error initialising codelet
-  */
- IX_STATUS
--ixDmaAccCodeletInit(IxDmaNpeId npeId);
-+ixDmaAccCodeletInit(IxNpeDlNpeId npeId);
- /**
-  * @fn ixDmaAccCodeletTestPerform( UINT16 transferLength, 
-diff -Naur ixp400_xscale_sw.orig/src/ethDB/include/IxEthDB_p.h ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h
---- ixp400_xscale_sw.orig/src/ethDB/include/IxEthDB_p.h        2005-08-24 00:16:36.000000000 +0200
-+++ ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h     2005-08-24 00:18:02.000000000 +0200
-@@ -633,7 +633,7 @@
- IX_ETH_DB_PUBLIC UINT32 ixEthDBKeyXORHash(void *macAddress);
- /* Port updates */
--IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBFeature type);
-+IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBRecordType type);
- IX_ETH_DB_PUBLIC void ixEthDBUpdatePortLearningTrees(IxEthDBPortMap triggerPorts);
- IX_ETH_DB_PUBLIC void ixEthDBNPEAccessRequest(IxEthDBPortId portID);
- IX_ETH_DB_PUBLIC void ixEthDBUpdateLock(void);
-diff -Naur ixp400_xscale_sw.orig/src/include/IxTypes.h ixp400_xscale_sw/src/include/IxTypes.h
---- ixp400_xscale_sw.orig/src/include/IxTypes.h        2005-08-24 00:16:36.000000000 +0200
-+++ ixp400_xscale_sw/src/include/IxTypes.h     2005-08-26 01:19:15.000000000 +0200
-@@ -79,6 +79,10 @@
- #endif
- #endif
-+#ifndef BIT
-+#define BIT(x)  ((1)<<(x))
-+#endif
-+
- #include "IxOsalBackward.h"
- #endif /* IxTypes_H */
-diff -Naur ixp400_xscale_sw.orig/src/usb/include/usbprivatetypes.h ixp400_xscale_sw/src/usb/include/usbprivatetypes.h
---- ixp400_xscale_sw.orig/src/usb/include/usbprivatetypes.h    2005-08-24 00:16:36.000000000 +0200
-+++ ixp400_xscale_sw/src/usb/include/usbprivatetypes.h 2005-08-24 00:18:02.000000000 +0200
-@@ -164,6 +164,53 @@
- } USBEventProcessor;
- /*  UDC Registers */
-+
-+#undef UDCCR
-+#undef UDCCS0
-+#undef UDCCS1
-+#undef UDCCS2
-+#undef UDCCS3
-+#undef UDCCS4
-+#undef UDCCS5
-+#undef UDCCS6
-+#undef UDCCS7
-+#undef UDCCS8
-+#undef UDCCS9
-+#undef UDCCS10
-+#undef UDCCS11
-+#undef UDCCS12
-+#undef UDCCS13
-+#undef UDCCS14
-+#undef UDCCS15
-+#undef UICR0
-+#undef UICR1
-+#undef USIR0
-+#undef USIR1
-+#undef UFNHR
-+#undef UFNLR
-+#undef UBCR2
-+#undef UBCR4
-+#undef UBCR7
-+#undef UBCR9
-+#undef UBCR12
-+#undef UBCR14
-+#undef UDDR0
-+#undef UDDR5
-+#undef UDDR10
-+#undef UDDR15
-+#undef UDDR1
-+#undef UDDR2
-+#undef UDDR3
-+#undef UDDR4
-+#undef UDDR6
-+#undef UDDR7
-+#undef UDDR8
-+#undef UDDR9
-+#undef UDDR11
-+#undef UDDR12
-+#undef UDDR13
-+#undef UDDR14
-+
- typedef struct  /* UDCRegisters */
- {
-     volatile UINT32 UDCCR;
-@@ -229,6 +276,7 @@
-     volatile UINT32   UDDR14;                 
- } UDCRegisters;
-+
- typedef struct /* USBDeviceContext */
- {
-     UINT32 checkPattern;                      /* Check pattern for verifying the context */
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.0/2.6.14.patch b/recipes/ixp4xx/ixp4xx-csr-2.0/2.6.14.patch
deleted file mode 100644 (file)
index 9630e6c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# Additional patches for v2.0 on 2.6.14
---- ixp400_xscale_sw/src/oslinux/IxLinuxInit.c.orig    2005-10-01 18:21:34.731233399 -0700
-+++ ixp400_xscale_sw/src/oslinux/IxLinuxInit.c 2005-10-01 18:21:45.811930663 -0700
-@@ -160,7 +160,6 @@
-       return -EEXIST;
-     }
--    MOD_INC_USE_COUNT;   /* Increment use count to prevent premature rmmod-ing */
-     ixNpeDlSegmentedListHead = NULL;  /* Reset linked list which keeps track of Microcode fragments */
-     ixNpeDlSegmentedListTail = NULL;
-     ixNpeDlTotalBytesReadIn = 0;
-@@ -225,8 +224,6 @@
-       kfree (temp);
-     }
--    MOD_DEC_USE_COUNT;
--
-     return 0;
- }
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.0/2.6.patch b/recipes/ixp4xx/ixp4xx-csr-2.0/2.6.patch
deleted file mode 100644 (file)
index 37d390b..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-diff -Naur ixp400_xscale_sw.orig/Readme-Kernel-2_6-Patch.txt ixp400_xscale_sw/Readme-Kernel-2_6-Patch.txt
---- ixp400_xscale_sw.orig/Readme-Kernel-2_6-Patch.txt  1970-01-01 01:00:00.000000000 +0100
-+++ ixp400_xscale_sw/Readme-Kernel-2_6-Patch.txt       2005-09-28 19:50:30.000000000 +0200
-@@ -0,0 +1,49 @@
-+This file describes a patch to use version 1.5 of the Intel Ixp4XX
-+Access Library with Linux 2.6 kernels.
-+
-+Authors/History
-+---------------
-+
-+This patch consists of the changes made by Marc Singer for use of
-+version 1.5 of the library with the APEX bootloader, and a patch made
-+by Robin Farine and Tom Winkler for use of version 1.4 of the library
-+with Linux-2.6 kernels. These changes were merged together by Hannes
-+Reich.
-+
-+Both patches are incorporated in their entirety, with the exception of
-+some tweaks to sleep times in the ethAcc code and modifications to
-+the code in src/codelets/usb/ from the Robin Farine / Tom Winkler
-+patch.
-+
-+Status
-+------
-+
-+This code has been tested on a Linksys NSLU2. It works in big-endian
-+mode, performance seems around 10% faster than 1.4.
-+
-+The code does not work in little-endian mode. It appears as though the
-+hardware is initialised correctly, but packet receive / transmit done
-+callbacks are never called.
-+
-+Licence Information
-+-------------------
-+
-+The patch is licenced under the same conditions as the original Access
-+Library 1.5 (INTEL SOFTWARE LICENSE AGREEMENT). The full text of the
-+licence can be downloaded from:
-+http://www.intel.com/design/network/swsup/np_sla/ixp400.htm
-+
-+The patch is free, unsupported and the authors make no warranties.
-+Use it at your own risk, do with it as you see fit so long as you do
-+not violate the original licence agreement.
-+
-+The authors permit derivative works based upon the patch.
-+
-+References
-+----------
-+
-+The version 1.4 patch by Robin Farine and Tom Winkler is available from
-+http://www.wnk.at/ixp400_accesslib_kernel26/data/patch_accesslib_kernel26_20040811.diff
-+
-+The version 1.5 patch by Marc Singer is at
-+http://wiki.buici.com/bin/view/Main/IXPAccessLibrary
-diff -Naur ixp400_xscale_sw.orig/src/codelets/dmaAcc/IxDmaAccCodelet_p.h ixp400_xscale_sw/src/codelets/dmaAcc/IxDmaAccCodelet_p.h
---- ixp400_xscale_sw.orig/src/codelets/dmaAcc/IxDmaAccCodelet_p.h      2005-08-24 00:16:36.000000000 +0200
-+++ ixp400_xscale_sw/src/codelets/dmaAcc/IxDmaAccCodelet_p.h   2005-08-24 00:18:02.000000000 +0200
-@@ -113,7 +113,7 @@
-  * @return IX_FAIL - Error initialising codelet
-  */
- IX_STATUS
--ixDmaAccCodeletInit(IxDmaNpeId npeId);
-+ixDmaAccCodeletInit(IxNpeDlNpeId npeId);
- /**
-  * @fn ixDmaAccCodeletTestPerform( UINT16 transferLength, 
-diff -Naur ixp400_xscale_sw.orig/src/ethDB/include/IxEthDB_p.h ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h
---- ixp400_xscale_sw.orig/src/ethDB/include/IxEthDB_p.h        2005-08-24 00:16:36.000000000 +0200
-+++ ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h     2005-08-24 00:18:02.000000000 +0200
-@@ -633,7 +633,7 @@
- IX_ETH_DB_PUBLIC UINT32 ixEthDBKeyXORHash(void *macAddress);
- /* Port updates */
--IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBFeature type);
-+IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBRecordType type);
- IX_ETH_DB_PUBLIC void ixEthDBUpdatePortLearningTrees(IxEthDBPortMap triggerPorts);
- IX_ETH_DB_PUBLIC void ixEthDBNPEAccessRequest(IxEthDBPortId portID);
- IX_ETH_DB_PUBLIC void ixEthDBUpdateLock(void);
-diff -Naur ixp400_xscale_sw.orig/src/include/IxTypes.h ixp400_xscale_sw/src/include/IxTypes.h
---- ixp400_xscale_sw.orig/src/include/IxTypes.h        2005-08-24 00:16:36.000000000 +0200
-+++ ixp400_xscale_sw/src/include/IxTypes.h     2005-08-26 01:19:15.000000000 +0200
-@@ -79,6 +79,10 @@
- #endif
- #endif
-+#ifndef BIT
-+#define BIT(x)  ((1)<<(x))
-+#endif
-+
- #include "IxOsalBackward.h"
- #endif /* IxTypes_H */
-diff -Naur ixp400_xscale_sw.orig/src/usb/include/usbprivatetypes.h ixp400_xscale_sw/src/usb/include/usbprivatetypes.h
---- ixp400_xscale_sw.orig/src/usb/include/usbprivatetypes.h    2005-08-24 00:16:36.000000000 +0200
-+++ ixp400_xscale_sw/src/usb/include/usbprivatetypes.h 2005-08-24 00:18:02.000000000 +0200
-@@ -164,6 +164,53 @@
- } USBEventProcessor;
- /*  UDC Registers */
-+
-+#undef UDCCR
-+#undef UDCCS0
-+#undef UDCCS1
-+#undef UDCCS2
-+#undef UDCCS3
-+#undef UDCCS4
-+#undef UDCCS5
-+#undef UDCCS6
-+#undef UDCCS7
-+#undef UDCCS8
-+#undef UDCCS9
-+#undef UDCCS10
-+#undef UDCCS11
-+#undef UDCCS12
-+#undef UDCCS13
-+#undef UDCCS14
-+#undef UDCCS15
-+#undef UICR0
-+#undef UICR1
-+#undef USIR0
-+#undef USIR1
-+#undef UFNHR
-+#undef UFNLR
-+#undef UBCR2
-+#undef UBCR4
-+#undef UBCR7
-+#undef UBCR9
-+#undef UBCR12
-+#undef UBCR14
-+#undef UDDR0
-+#undef UDDR5
-+#undef UDDR10
-+#undef UDDR15
-+#undef UDDR1
-+#undef UDDR2
-+#undef UDDR3
-+#undef UDDR4
-+#undef UDDR6
-+#undef UDDR7
-+#undef UDDR8
-+#undef UDDR9
-+#undef UDDR11
-+#undef UDDR12
-+#undef UDDR13
-+#undef UDDR14
-+
- typedef struct  /* UDCRegisters */
- {
-     volatile UINT32 UDCCR;
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.0/Makefile.patch b/recipes/ixp4xx/ixp4xx-csr-2.0/Makefile.patch
deleted file mode 100644 (file)
index c5a907e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-diff -Naur ixp400_xscale_sw.orig/Makefile ixp400_xscale_sw/Makefile
---- ixp400_xscale_sw/.pc/Makefile.patch/Makefile       2005-04-17 20:54:58.000000000 -0700
-+++ ixp400_xscale_sw/Makefile  2005-10-01 18:15:08.422924549 -0700
-@@ -312,9 +312,9 @@
- else
- # linux compiler flags 
--LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
-+LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mtune=xscale
--CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE -Isrc/include -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
-+CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -mapcs-32 -msoft-float -DMODULE -Isrc/include -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
- ifndef IX_INCLUDE_MICROCODE
- CFLAGS += -DIX_NPEDL_READ_MICROCODE_FROM_FILE
- endif
-@@ -806,9 +806,11 @@
- ifeq ($(IX_HOST_OS),linux)
- ifndef IX_INCLUDE_MICROCODE
-+ifdef IX_BUILD_MICROCODE
- Makefile: $(NPE_CONVERTER) $(NPE_DAT)
- endif
- endif
-+endif
- ################################################################
- # Rules to check that macros are defined.
-@@ -1253,10 +1255,18 @@
- ifndef IX_INCLUDE_MICROCODE
- $(OBJ_DIR)/ixp400.o: $(COMPONENTS:%=$(OBJ_DIR)/ixp400_%.o) $(OSAL_MODULE)
-+      touch $(OBJ_DIR)/ixp400.c
-+      cp Makefile.kmod26 $(OBJ_DIR)/Makefile
-+      make -C $(OBJ_DIR)
-       $(LD) $(LDFLAGS) $^ -o $@
-+      make -C $(OBJ_DIR)
- else
- $(OBJ_DIR)/ixp400.o: $(COMPONENTS:%=$(OBJ_DIR)/ixp400_%.o) $(NPE_PRODUCTION_HEADER_OBJ) $(OSAL_MODULE)
-+      touch $(OBJ_DIR)/ixp400.c
-+      cp Makefile.kmod26 $(OBJ_DIR)/Makefile
-+      make -C $(OBJ_DIR)
-       $(LD) $(LDFLAGS) $^ -o $@
-+      make -C $(OBJ_DIR)
- endif
-diff -Naur ixp400_xscale_sw.orig/Makefile.kmod26 ixp400_xscale_sw/Makefile.kmod26
---- ixp400_xscale_sw.orig/Makefile.kmod26      1970-01-01 01:00:00.000000000 +0100
-+++ ixp400_xscale_sw/Makefile.kmod26   2005-08-24 22:33:12.000000000 +0200
-@@ -0,0 +1,11 @@
-+obj-m := ixp400.o
-+
-+PWD         := $(shell pwd)
-+
-+LINUX_SRC := $($(IX_TARGET)_KERNEL_DIR)
-+
-+default:
-+      $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) V=1 -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
-+
-+clean:
-+      rm -f ixp400.ko
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.0/le.patch b/recipes/ixp4xx/ixp4xx-csr-2.0/le.patch
deleted file mode 100644 (file)
index e32b795..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- ixp400_xscale_sw/.pc/le.patch/src/include/IxQMgr.h 2005-04-17 20:55:31.000000000 -0700
-+++ ixp400_xscale_sw/src/include/IxQMgr.h      2005-11-19 16:01:52.817556623 -0800
-@@ -87,7 +87,9 @@
- /* 
-  * Define QMgr's IoMem macros, in DC mode if in LE 
-  * regular if in BE. (Note: For Linux LSP gold release
-- * may need to adjust mode.
-+ * may need to adjust mode.  For standard Linux kernels
-+ * data coherent access is not used, therefore address
-+ * coherency must be set.
-  */
- #if defined (__BIG_ENDIAN)
-@@ -96,8 +98,8 @@
- #else
--#define IX_QMGR_INLINE_READ_LONG IX_OSAL_READ_LONG_LE_DC
--#define IX_QMGR_INLINE_WRITE_LONG IX_OSAL_WRITE_LONG_LE_DC
-+#define IX_QMGR_INLINE_READ_LONG IX_OSAL_READ_LONG_LE_AC
-+#define IX_QMGR_INLINE_WRITE_LONG IX_OSAL_WRITE_LONG_LE_AC
- #endif
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/Makefile.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/Makefile.patch
deleted file mode 100644 (file)
index f082b71..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- ixp400_xscale_sw/Makefile  1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/Makefile  1970-01-01 00:00:00.000000000 +0000
-@@ -297,9 +297,9 @@ endif
- else # IX_TARGET_OS == vxworks
- # linux compiler flags 
- MAKE_DEP_FLAG := -M
--LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
-+LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mtune=xscale
--CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE -Isrc/include -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
-+CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -msoft-float -DMODULE -Isrc/include -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
- ifndef IX_INCLUDE_MICROCODE
- CFLAGS += -DIX_NPEDL_READ_MICROCODE_FROM_FILE
- endif
-@@ -867,9 +867,11 @@ $(NPE_DAT) : $(NPE_CONVERTER)
- ifeq ($(IX_HOST_OS),linux)
- ifndef IX_INCLUDE_MICROCODE
-+ifdef IX_BUILD_MICROCODE
- Makefile: $(NPE_CONVERTER) $(NPE_DAT)
- endif
- endif
-+endif
- ################################################################
- # Rules to check that macros are defined.
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/bit-macro.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/bit-macro.patch
deleted file mode 100644 (file)
index 6efdba5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- ixp400_xscale_sw/src/include/IxTypes.h     1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/include/IxTypes.h     1970-01-01 00:00:00.000000000 +0000
-@@ -79,6 +79,10 @@
- #endif
- #endif
-+#ifndef BIT
-+#define BIT(x)  ((1)<<(x))
-+#endif
-+
- #include "IxOsalBackward.h"
- #endif /* IxTypes_H */
-
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/gcc4.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/gcc4.patch
deleted file mode 100644 (file)
index a701328..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---- ixp400/src/npeMh/IxNpeMhSymbols.c~ 2006-01-08 03:13:28.000000000 +1030
-+++ ixp400/src/npeMh/IxNpeMhSymbols.c  2006-01-09 00:56:57.000000000 +1030
-@@ -52,6 +52,7 @@
- #include <linux/module.h>
- #include <IxNpeMh.h>
-+#include <IxNpeMhConfig_p.h>
- EXPORT_SYMBOL(ixNpeMhInitialize);
- EXPORT_SYMBOL(ixNpeMhUnload);
-@@ -67,9 +68,9 @@ extern BOOL ixNpeMhConfigInFifoIsFull(Ix
- extern BOOL ixNpeMhConfigOutFifoIsEmpty (IxNpeMhNpeId npeId);
- extern void ixNpeMhConfigLockRelease (IxNpeMhNpeId npeId);
- extern void ixNpeMhConfigLockGet (IxNpeMhNpeId npeId);
--extern void ixNpeMhConfigOutFifoRead (IxNpeMhNpeId npeId,IxNpeMhMessage *message);
--extern void ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
--extern struct ixNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
-+extern IX_STATUS ixNpeMhConfigOutFifoRead (IxNpeMhNpeId npeId,IxNpeMhMessage *message);
-+extern IX_STATUS ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
-+extern IxNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
- EXPORT_SYMBOL(ixNpeMhConfigInFifoIsFull);
- EXPORT_SYMBOL(ixNpeMhConfigOutFifoIsEmpty);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixethdb-header.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixethdb-header.patch
deleted file mode 100644 (file)
index 8ab22be..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h     1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h     1970-01-01 00:00:00.000000000 +0000
-@@ -693,7 +693,7 @@ IX_ETH_DB_PUBLIC UINT32 ixEthDBEntryXORH
- IX_ETH_DB_PUBLIC UINT32 ixEthDBKeyXORHash(void *macAddress);
- /* Port updates */
--IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBFeature type);
-+IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBRecordType type);
- IX_ETH_DB_PUBLIC void ixEthDBUpdatePortLearningTrees(IxEthDBPortMap triggerPorts);
- IX_ETH_DB_PUBLIC void ixEthDBNPEAccessRequest(IxEthDBPortId portID);
- IX_ETH_DB_PUBLIC void ixEthDBUpdateLock(void);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixnpemhconfigisr-is-private.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/ixnpemhconfigisr-is-private.patch
deleted file mode 100644 (file)
index 54faadf..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- ixp400_xscale_sw/src/npeMh/IxNpeMhSymbols.c        1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/npeMh/IxNpeMhSymbols.c        1970-01-01 00:00:00.000000000 +0000
-@@ -63,7 +63,6 @@ EXPORT_SYMBOL(ixNpeMhMessagesReceive);
- EXPORT_SYMBOL(ixNpeMhShow);
- EXPORT_SYMBOL(ixNpeMhShowReset);
--extern void ixNpeMhConfigIsr (void *parameter);
- extern BOOL ixNpeMhConfigInFifoIsFull(IxNpeMhNpeId npeId);
- extern BOOL ixNpeMhConfigOutFifoIsEmpty (IxNpeMhNpeId npeId);
- extern void ixNpeMhConfigLockRelease (IxNpeMhNpeId npeId);
-@@ -72,7 +71,6 @@ extern void ixNpeMhConfigOutFifoRead (Ix
- extern void ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
- extern struct ixNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
--EXPORT_SYMBOL(ixNpeMhConfigIsr);
- EXPORT_SYMBOL(ixNpeMhConfigInFifoIsFull);
- EXPORT_SYMBOL(ixNpeMhConfigOutFifoIsEmpty);
- EXPORT_SYMBOL(ixNpeMhConfigLockRelease);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/le.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/le.patch
deleted file mode 100644 (file)
index c308493..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- ixp400_xscale_sw/src/include/IxQMgr.h      1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/include/IxQMgr.h      1970-01-01 00:00:00.000000000 +0000
-@@ -96,8 +98,8 @@
- #else
--#define IX_QMGR_INLINE_READ_LONG IX_OSAL_READ_LONG_LE_DC
--#define IX_QMGR_INLINE_WRITE_LONG IX_OSAL_WRITE_LONG_LE_DC
-+#define IX_QMGR_INLINE_READ_LONG IX_OSAL_READ_LONG_LE_AC
-+#define IX_QMGR_INLINE_WRITE_LONG IX_OSAL_WRITE_LONG_LE_AC
- #endif
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/livelock.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/livelock.patch
deleted file mode 100644 (file)
index 0b4e4ba..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-*** ixp400_xscale_sw/src/oslinux/IxLinuxInit.c.orig    Sun Sep 25 05:59:03 2005
---- ixp400_xscale_sw/src/oslinux/IxLinuxInit.c Fri Jun  9 14:07:06 2006
-***************
-*** 91,97 ****
-  
-  
-  /* Module parameters */
-! static int livelock_dispatcher = 0;/* default: don't use livelock dispatcher*/
-  
-  MODULE_PARM(livelock_dispatcher, "i");
-  MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
---- 91,97 ----
-  
-  
-  /* Module parameters */
-! int livelock_dispatcher = 0;/* default: don't use livelock dispatcher*/
-  
-  MODULE_PARM(livelock_dispatcher, "i");
-  MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/mii-debug.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/mii-debug.patch
deleted file mode 100644 (file)
index 762743c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-debug only patch to add information about MII id problems
-
---- ixp400_xscale_sw/src/ethMii/IxEthMii.c     1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/ethMii/IxEthMii.c     1970-01-01 00:00:00.000000000 +0000
-@@ -122,6 +122,10 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
-                   )
-               {
-                   /* supported phy */
-+                    ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,
-+                               IX_OSAL_LOG_DEV_STDOUT,
-+                              "ixEthMiiPhyScan, Mii %d: Mii PHY ID %8.8x\n", 
-+                              i, ixEthMiiPhyId[i], 3, 4, 5, 6);
-                   phyPresent[i] = TRUE;
-               } /* end of if(ixEthMiiPhyId) */
-               else
-@@ -131,8 +135,8 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
-                       /* unsupported phy */
-                         ixOsalLog (IX_OSAL_LOG_LVL_ERROR,
-                                    IX_OSAL_LOG_DEV_STDOUT,
--                                  "ixEthMiiPhyScan : unexpected Mii PHY ID %8.8x\n", 
--                                  ixEthMiiPhyId[i], 2, 3, 4, 5, 6);
-+                                  "ixEthMiiPhyScan, Mii %d: unexpected Mii PHY ID %8.8x\n", 
-+                                  i, ixEthMiiPhyId[i], 3, 4, 5, 6);
-                       ixEthMiiPhyId[i] = IX_ETH_MII_UNKNOWN_PHY_ID;
-                       phyPresent[i] = TRUE;
-                   }
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-param.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-param.patch
deleted file mode 100644 (file)
index 6472ef8..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
- src/oslinux/IxLinuxInit.c |    4 ++++
- 1 files changed, 4 insertions(+)
-
-Index: ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
-===================================================================
---- ixp400_xscale_sw.orig/src/oslinux/IxLinuxInit.c
-+++ ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
-@@ -103,7 +103,11 @@
- #if KERNEL_VERSION(2,6,0) <= LINUX_VERSION_CODE
- MODULE_VERSION("2.1.1");
- #endif
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(livelock_dispatcher, "i");
-+#else
-+module_param(livelock_dispatcher, int, 0644);
-+#endif
- MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
- /* Init and cleanup functions for module */
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-use-count.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/module-use-count.patch
deleted file mode 100644 (file)
index 0fc2c52..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
- src/oslinux/IxLinuxInit.c |    3 ---
- 1 files changed, 3 deletions(-)
-
-Index: ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
-===================================================================
---- ixp400_xscale_sw.orig/src/oslinux/IxLinuxInit.c
-+++ ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
-@@ -164,7 +164,6 @@
-       return -EEXIST;
-     }
--    MOD_INC_USE_COUNT;   /* Increment use count to prevent premature rmmod-ing */
-     ixNpeDlSegmentedListHead = NULL;  /* Reset linked list which keeps track of Microcode fragments */
-     ixNpeDlSegmentedListTail = NULL;
-     ixNpeDlTotalBytesReadIn = 0;
-@@ -229,8 +228,6 @@
-       kfree (temp);
-     }
--    MOD_DEC_USE_COUNT;
--
-     return 0;
- }
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/oe-makefile.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/oe-makefile.patch
deleted file mode 100644 (file)
index 9f1d253..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-changes to Makefile required only on OE
-
- Makefile        |   11 ++++++++++-
- Makefile.kmod26 |   11 +++++++++++
- ixp400.c        |    1 +
- 3 files changed, 22 insertions(+), 1 deletion(-)
-
-Index: ixp400_xscale_sw/Makefile
-===================================================================
---- ixp400_xscale_sw.orig/Makefile
-+++ ixp400_xscale_sw/Makefile
-@@ -1385,9 +1385,10 @@
- ifeq ($(IX_LINUXVER),2.6)
- ixp400 : $(OBJ_DIR)/ixp400.o
-+      cp $(OSAL_MODULE) $(OBJ_DIR)
-       @echo 'EXTRA_LDFLAGS := --whole-archive' > $(OBJ_DIR)/Makefile
-       @echo ' ' >> $(OBJ_DIR)/Makefile
--      @echo 'lib-m := $(COMPONENTS:%=ixp400_%.o) $(OBJ_DIR_EXIT)/$(OSAL_MODULE)'>> $(OBJ_DIR)/Makefile
-+      @echo 'lib-m := $(COMPONENTS:%=ixp400_%.o) ixp_osal.o'>> $(OBJ_DIR)/Makefile
-       @echo ' ' >> $(OBJ_DIR)/Makefile
-       @echo 'obj-m := ixp400.o' >> $(OBJ_DIR)/Makefile
-       @echo ' ' >> $(OBJ_DIR)/Makefile
-@@ -1403,7 +1404,15 @@
- $(OBJ_DIR)/ixp400.o: $(COMPONENTS:%=$(OBJ_DIR)/ixp400_%.o) $(OSAL_MODULE)
- ifneq ($(IX_LINUXVER),2.6)
-+      rm -f $(OBJ_DIR)/ixp400.c
-+      touch $(OBJ_DIR)/ixp400.c
-+      cp Makefile.kmod26 $(OBJ_DIR)/Makefile
-+      make -C $(OBJ_DIR)
-+      rm -f $(OBJ_DIR)/ixp400.c
-+      cp ixp400.c $(OBJ_DIR)/ixp400.c
-       $(LD) $(LDFLAGS) $^ -o $@
-+      rm -f $(OBJ_DIR)/ixp400.ko $(OBJ_DIR)/ixp400.mod.o
-+      make -C $(OBJ_DIR)
- endif
-Index: ixp400_xscale_sw/ixp400.c
-===================================================================
---- /dev/null
-+++ ixp400_xscale_sw/ixp400.c
-@@ -0,0 +1 @@
-+#error this file must never be compiled
-Index: ixp400_xscale_sw/Makefile.kmod26
-===================================================================
---- /dev/null
-+++ ixp400_xscale_sw/Makefile.kmod26
-@@ -0,0 +1,11 @@
-+obj-m := ixp400.o
-+
-+PWD         := $(shell pwd)
-+
-+LINUX_SRC := $($(IX_TARGET)_KERNEL_DIR)
-+
-+default:
-+      $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) $(KERNEL_VERBOSE) -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
-+
-+clean:
-+      rm -f ixp400.ko
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/rtl8201-support.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/rtl8201-support.patch
deleted file mode 100644 (file)
index 150dc27..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-this patch adds support for the RTL8201CP PHY
-
---- ixp400_xscale_sw/src/ethMii/IxEthMii.c     1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/ethMii/IxEthMii.c     1970-01-01 00:00:00.000000000 +0000
-@@ -119,6 +119,7 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
-                   || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT973_PHY_ID)
-                   || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT973A3_PHY_ID)
-                   || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT9785_PHY_ID)
-+                  || (ixEthMiiPhyId[i] == IX_ETH_MII_RTL8201_PHY_ID)
-                   )
-               {
-                   /* supported phy */
-@@ -287,6 +288,7 @@ ixEthMiiPhyReset(UINT32 phyAddr)
-           (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT972_PHY_ID)        ||
-           (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT973_PHY_ID)        ||
-           (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT973A3_PHY_ID)      ||
-+          (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_RTL8201_PHY_ID)       ||
-               (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT9785_PHY_ID)
-           )
-       {
---- ixp400_xscale_sw/src/ethMii/IxEthMii_p.h   1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/ethMii/IxEthMii_p.h   1970-01-01 00:00:00.000000000 +0000
-@@ -179,6 +179,7 @@
- #define IX_ETH_MII_LXT973A3_PHY_ID    0x00137A11
- #define IX_ETH_MII_KS8995_PHY_ID      0x00221450
- #define IX_ETH_MII_LXT9785_PHY_ID       0x001378FF
-+#define IX_ETH_MII_RTL8201_PHY_ID       0x00008201
- #define IX_ETH_MII_RTL8305_FAKE_PHY_ID  0x83058305
- #define IX_ETH_MII_INVALID_PHY_ID     0x00000000
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1.1/undefined-attribute.patch b/recipes/ixp4xx/ixp4xx-csr-2.1.1/undefined-attribute.patch
deleted file mode 100644 (file)
index 8a08f86..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
- src/include/IxEthDB.h |    2 +-
- 1 files changed, 1 insertion(+), 1 deletion(-)
-
-Index: ixp400_xscale_sw/src/include/IxEthDB.h
-===================================================================
---- ixp400_xscale_sw.orig/src/include/IxEthDB.h
-+++ ixp400_xscale_sw/src/include/IxEthDB.h
-@@ -273,7 +273,7 @@
- typedef struct  
- {
-    UINT8 macAddress[IX_IEEE803_MAC_ADDRESS_SIZE];
--} IX_OSAL_ATTRIBUTE_PACKED IxEthDBMacAddr;
-+} IxEthDBMacAddr;
- /**
-  *
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/Makefile.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/Makefile.patch
deleted file mode 100644 (file)
index f082b71..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- ixp400_xscale_sw/Makefile  1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/Makefile  1970-01-01 00:00:00.000000000 +0000
-@@ -297,9 +297,9 @@ endif
- else # IX_TARGET_OS == vxworks
- # linux compiler flags 
- MAKE_DEP_FLAG := -M
--LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
-+LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mtune=xscale
--CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -mapcs-32 -mshort-load-bytes -msoft-float -DMODULE -Isrc/include -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
-+CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wno-trigraphs -fno-common -pipe -msoft-float -DMODULE -Isrc/include -D__linux -DCPU=33 -DXSCALE=33 $(LINUX_MACH_CFLAGS)
- ifndef IX_INCLUDE_MICROCODE
- CFLAGS += -DIX_NPEDL_READ_MICROCODE_FROM_FILE
- endif
-@@ -867,9 +867,11 @@ $(NPE_DAT) : $(NPE_CONVERTER)
- ifeq ($(IX_HOST_OS),linux)
- ifndef IX_INCLUDE_MICROCODE
-+ifdef IX_BUILD_MICROCODE
- Makefile: $(NPE_CONVERTER) $(NPE_DAT)
- endif
- endif
-+endif
- ################################################################
- # Rules to check that macros are defined.
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/bit-macro.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/bit-macro.patch
deleted file mode 100644 (file)
index 6efdba5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- ixp400_xscale_sw/src/include/IxTypes.h     1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/include/IxTypes.h     1970-01-01 00:00:00.000000000 +0000
-@@ -79,6 +79,10 @@
- #endif
- #endif
-+#ifndef BIT
-+#define BIT(x)  ((1)<<(x))
-+#endif
-+
- #include "IxOsalBackward.h"
- #endif /* IxTypes_H */
-
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/gcc4.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/gcc4.patch
deleted file mode 100644 (file)
index a701328..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---- ixp400/src/npeMh/IxNpeMhSymbols.c~ 2006-01-08 03:13:28.000000000 +1030
-+++ ixp400/src/npeMh/IxNpeMhSymbols.c  2006-01-09 00:56:57.000000000 +1030
-@@ -52,6 +52,7 @@
- #include <linux/module.h>
- #include <IxNpeMh.h>
-+#include <IxNpeMhConfig_p.h>
- EXPORT_SYMBOL(ixNpeMhInitialize);
- EXPORT_SYMBOL(ixNpeMhUnload);
-@@ -67,9 +68,9 @@ extern BOOL ixNpeMhConfigInFifoIsFull(Ix
- extern BOOL ixNpeMhConfigOutFifoIsEmpty (IxNpeMhNpeId npeId);
- extern void ixNpeMhConfigLockRelease (IxNpeMhNpeId npeId);
- extern void ixNpeMhConfigLockGet (IxNpeMhNpeId npeId);
--extern void ixNpeMhConfigOutFifoRead (IxNpeMhNpeId npeId,IxNpeMhMessage *message);
--extern void ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
--extern struct ixNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
-+extern IX_STATUS ixNpeMhConfigOutFifoRead (IxNpeMhNpeId npeId,IxNpeMhMessage *message);
-+extern IX_STATUS ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
-+extern IxNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
- EXPORT_SYMBOL(ixNpeMhConfigInFifoIsFull);
- EXPORT_SYMBOL(ixNpeMhConfigOutFifoIsEmpty);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/ixethdb-header.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/ixethdb-header.patch
deleted file mode 100644 (file)
index 8ab22be..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h     1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h     1970-01-01 00:00:00.000000000 +0000
-@@ -693,7 +693,7 @@ IX_ETH_DB_PUBLIC UINT32 ixEthDBEntryXORH
- IX_ETH_DB_PUBLIC UINT32 ixEthDBKeyXORHash(void *macAddress);
- /* Port updates */
--IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBFeature type);
-+IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBRecordType type);
- IX_ETH_DB_PUBLIC void ixEthDBUpdatePortLearningTrees(IxEthDBPortMap triggerPorts);
- IX_ETH_DB_PUBLIC void ixEthDBNPEAccessRequest(IxEthDBPortId portID);
- IX_ETH_DB_PUBLIC void ixEthDBUpdateLock(void);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/ixnpemhconfigisr-is-private.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/ixnpemhconfigisr-is-private.patch
deleted file mode 100644 (file)
index 54faadf..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- ixp400_xscale_sw/src/npeMh/IxNpeMhSymbols.c        1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/npeMh/IxNpeMhSymbols.c        1970-01-01 00:00:00.000000000 +0000
-@@ -63,7 +63,6 @@ EXPORT_SYMBOL(ixNpeMhMessagesReceive);
- EXPORT_SYMBOL(ixNpeMhShow);
- EXPORT_SYMBOL(ixNpeMhShowReset);
--extern void ixNpeMhConfigIsr (void *parameter);
- extern BOOL ixNpeMhConfigInFifoIsFull(IxNpeMhNpeId npeId);
- extern BOOL ixNpeMhConfigOutFifoIsEmpty (IxNpeMhNpeId npeId);
- extern void ixNpeMhConfigLockRelease (IxNpeMhNpeId npeId);
-@@ -72,7 +71,6 @@ extern void ixNpeMhConfigOutFifoRead (Ix
- extern void ixNpeMhConfigInFifoWrite (IxNpeMhNpeId npeId,IxNpeMhMessage message);
- extern struct ixNpeMhConfigNpeInfo ixNpeMhConfigNpeInfo[IX_NPEMH_NUM_NPES];
--EXPORT_SYMBOL(ixNpeMhConfigIsr);
- EXPORT_SYMBOL(ixNpeMhConfigInFifoIsFull);
- EXPORT_SYMBOL(ixNpeMhConfigOutFifoIsEmpty);
- EXPORT_SYMBOL(ixNpeMhConfigLockRelease);
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/le.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/le.patch
deleted file mode 100644 (file)
index c308493..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- ixp400_xscale_sw/src/include/IxQMgr.h      1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/include/IxQMgr.h      1970-01-01 00:00:00.000000000 +0000
-@@ -96,8 +98,8 @@
- #else
--#define IX_QMGR_INLINE_READ_LONG IX_OSAL_READ_LONG_LE_DC
--#define IX_QMGR_INLINE_WRITE_LONG IX_OSAL_WRITE_LONG_LE_DC
-+#define IX_QMGR_INLINE_READ_LONG IX_OSAL_READ_LONG_LE_AC
-+#define IX_QMGR_INLINE_WRITE_LONG IX_OSAL_WRITE_LONG_LE_AC
- #endif
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/livelock.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/livelock.patch
deleted file mode 100644 (file)
index 0b4e4ba..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-*** ixp400_xscale_sw/src/oslinux/IxLinuxInit.c.orig    Sun Sep 25 05:59:03 2005
---- ixp400_xscale_sw/src/oslinux/IxLinuxInit.c Fri Jun  9 14:07:06 2006
-***************
-*** 91,97 ****
-  
-  
-  /* Module parameters */
-! static int livelock_dispatcher = 0;/* default: don't use livelock dispatcher*/
-  
-  MODULE_PARM(livelock_dispatcher, "i");
-  MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
---- 91,97 ----
-  
-  
-  /* Module parameters */
-! int livelock_dispatcher = 0;/* default: don't use livelock dispatcher*/
-  
-  MODULE_PARM(livelock_dispatcher, "i");
-  MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/mii-debug.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/mii-debug.patch
deleted file mode 100644 (file)
index 762743c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-debug only patch to add information about MII id problems
-
---- ixp400_xscale_sw/src/ethMii/IxEthMii.c     1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/ethMii/IxEthMii.c     1970-01-01 00:00:00.000000000 +0000
-@@ -122,6 +122,10 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
-                   )
-               {
-                   /* supported phy */
-+                    ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,
-+                               IX_OSAL_LOG_DEV_STDOUT,
-+                              "ixEthMiiPhyScan, Mii %d: Mii PHY ID %8.8x\n", 
-+                              i, ixEthMiiPhyId[i], 3, 4, 5, 6);
-                   phyPresent[i] = TRUE;
-               } /* end of if(ixEthMiiPhyId) */
-               else
-@@ -131,8 +135,8 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
-                       /* unsupported phy */
-                         ixOsalLog (IX_OSAL_LOG_LVL_ERROR,
-                                    IX_OSAL_LOG_DEV_STDOUT,
--                                  "ixEthMiiPhyScan : unexpected Mii PHY ID %8.8x\n", 
--                                  ixEthMiiPhyId[i], 2, 3, 4, 5, 6);
-+                                  "ixEthMiiPhyScan, Mii %d: unexpected Mii PHY ID %8.8x\n", 
-+                                  i, ixEthMiiPhyId[i], 3, 4, 5, 6);
-                       ixEthMiiPhyId[i] = IX_ETH_MII_UNKNOWN_PHY_ID;
-                       phyPresent[i] = TRUE;
-                   }
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/module-param.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/module-param.patch
deleted file mode 100644 (file)
index c61fcc0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
- src/oslinux/IxLinuxInit.c |    4 ++++
- 1 files changed, 4 insertions(+)
-
-Index: ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
-===================================================================
---- ixp400_xscale_sw.orig/src/oslinux/IxLinuxInit.c
-+++ ixp400_xscale_sw/src/oslinux/IxLinuxInit.c
-@@ -93,7 +93,11 @@
- /* Module parameters */
- static int livelock_dispatcher = 0;/* default: don't use livelock dispatcher*/
-+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)
- MODULE_PARM(livelock_dispatcher, "i");
-+#else
-+module_param(livelock_dispatcher, int, 0644);
-+#endif
- MODULE_PARM_DESC(livelock_dispatcher, "If non-zero, use the livelock prevention qmgr dispatcher");
- /* Init and cleanup functions for module */
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/oe-makefile.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/oe-makefile.patch
deleted file mode 100644 (file)
index 492b1ea..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-changes to Makefile required only on OE
-
---- ixp400_xscale_sw/Makefile  1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/Makefile  1970-01-01 00:00:00.000000000 +0000
-@@ -1321,10 +1323,26 @@ ixp400.o : $(OBJ_DIR)/ixp400.o
- ifndef IX_INCLUDE_MICROCODE
- $(OBJ_DIR)/ixp400.o: $(COMPONENTS:%=$(OBJ_DIR)/ixp400_%.o) $(OSAL_MODULE)
-+      rm -f $(OBJ_DIR)/ixp400.c
-+      touch $(OBJ_DIR)/ixp400.c
-+      cp Makefile.kmod26 $(OBJ_DIR)/Makefile
-+      make -C $(OBJ_DIR)
-+      rm -f $(OBJ_DIR)/ixp400.c
-+      cp ixp400.c $(OBJ_DIR)/ixp400.c
-       $(LD) $(LDFLAGS) $^ -o $@
-+      rm -f $(OBJ_DIR)/ixp400.ko $(OBJ_DIR)/ixp400.mod.o
-+      make -C $(OBJ_DIR)
- else
- $(OBJ_DIR)/ixp400.o: $(COMPONENTS:%=$(OBJ_DIR)/ixp400_%.o) $(NPE_PRODUCTION_HEADER_OBJ) $(OSAL_MODULE)
-+      rm -f $(OBJ_DIR)/ixp400.c
-+      touch $(OBJ_DIR)/ixp400.c
-+      cp Makefile.kmod26 $(OBJ_DIR)/Makefile
-+      make -C $(OBJ_DIR)
-+      rm -f $(OBJ_DIR)/ixp400.c
-+      cp ixp400.c $(OBJ_DIR)/ixp400.c
-       $(LD) $(LDFLAGS) $^ -o $@
-+      rm -f $(OBJ_DIR)/ixp400.ko $(OBJ_DIR)/ixp400.mod.o
-+      make -C $(OBJ_DIR)
- endif
---- ixp400_xscale_sw/ixp400.c  1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/ixp400.c  1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,1 @@
-+#error this file must never be compiled
---- ixp400_xscale_sw/Makefile.kmod26   1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/Makefile.kmod26   1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,11 @@
-+obj-m := ixp400.o
-+
-+PWD         := $(shell pwd)
-+
-+LINUX_SRC := $($(IX_TARGET)_KERNEL_DIR)
-+
-+default:
-+      $(MAKE) ARCH=arm CROSS_COMPILE=$(LINUX_CROSS_COMPILE) $(KERNEL_VERBOSE) -C $(LINUX_SRC) SUBDIRS=$(PWD) modules
-+
-+clean:
-+      rm -f ixp400.ko
diff --git a/recipes/ixp4xx/ixp4xx-csr-2.1/rtl8201-support.patch b/recipes/ixp4xx/ixp4xx-csr-2.1/rtl8201-support.patch
deleted file mode 100644 (file)
index 150dc27..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-this patch adds support for the RTL8201CP PHY
-
---- ixp400_xscale_sw/src/ethMii/IxEthMii.c     1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/ethMii/IxEthMii.c     1970-01-01 00:00:00.000000000 +0000
-@@ -119,6 +119,7 @@ ixEthMiiPhyScan(BOOL phyPresent[], UINT3
-                   || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT973_PHY_ID)
-                   || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT973A3_PHY_ID)
-                   || (ixEthMiiPhyId[i] == IX_ETH_MII_LXT9785_PHY_ID)
-+                  || (ixEthMiiPhyId[i] == IX_ETH_MII_RTL8201_PHY_ID)
-                   )
-               {
-                   /* supported phy */
-@@ -287,6 +288,7 @@ ixEthMiiPhyReset(UINT32 phyAddr)
-           (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT972_PHY_ID)        ||
-           (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT973_PHY_ID)        ||
-           (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT973A3_PHY_ID)      ||
-+          (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_RTL8201_PHY_ID)       ||
-               (ixEthMiiPhyId[phyAddr] == IX_ETH_MII_LXT9785_PHY_ID)
-           )
-       {
---- ixp400_xscale_sw/src/ethMii/IxEthMii_p.h   1970-01-01 00:00:00.000000000 +0000
-+++ ixp400_xscale_sw/src/ethMii/IxEthMii_p.h   1970-01-01 00:00:00.000000000 +0000
-@@ -179,6 +179,7 @@
- #define IX_ETH_MII_LXT973A3_PHY_ID    0x00137A11
- #define IX_ETH_MII_KS8995_PHY_ID      0x00221450
- #define IX_ETH_MII_LXT9785_PHY_ID       0x001378FF
-+#define IX_ETH_MII_RTL8201_PHY_ID       0x00008201
- #define IX_ETH_MII_RTL8305_FAKE_PHY_ID  0x83058305
- #define IX_ETH_MII_INVALID_PHY_ID     0x00000000
diff --git a/recipes/ixp4xx/ixp4xx-csr/badpaths.patch b/recipes/ixp4xx/ixp4xx-csr/badpaths.patch
deleted file mode 100644 (file)
index c5981aa..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- ixp400_xscale_sw/src/linux/vx.c~ugh        2003-12-12 14:58:34.000000000 -0500
-+++ ixp400_xscale_sw/src/linux/vx.c    2004-11-14 17:50:07.610969440 -0500
-@@ -31,8 +31,8 @@
-  * 
-  * -- End Intel Copyright Notice --
- */
--#include <asm-arm/system.h>
--#include <asm-arm/semaphore.h>
-+#include <asm/system.h>
-+#include <asm/semaphore.h>
- #include <linux/kernel.h>
- #include <linux/time.h>
- #include <linux/sched.h> 
diff --git a/recipes/ixp4xx/ixp4xx-csr/build-timing-annoyance.patch b/recipes/ixp4xx/ixp4xx-csr/build-timing-annoyance.patch
deleted file mode 100644 (file)
index 0c040ec..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- ixp400_xscale_sw/Makefile~ 2004-11-18 21:26:43.000000000 +1030
-+++ ixp400_xscale_sw/Makefile  2004-11-18 21:31:20.000000000 +1030
-@@ -1015,6 +1015,7 @@
-       cp Makefile.kmod26 $(OBJ_DIR)/Makefile
-       make -C $(OBJ_DIR)
-       $(LD) $(LDFLAGS) $^ -o $@
-+      sleep 2
-       make -C $(OBJ_DIR)
diff --git a/recipes/ixp4xx/ixp4xx-csr_1.4.bb b/recipes/ixp4xx/ixp4xx-csr_1.4.bb
deleted file mode 100644 (file)
index 3e5b444..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      ixp400AccessLibrary-1_4.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader", follow
-# the "Archived" link and the v1.4 software then select the the "Intel
-# Hardware Access Software" "1.4 download", this will take you to the
-# license agreement which you must accept to use this package.
-#
-# Store the file with the name given below in your downloads directory
-#
-SRC_URI  = "http://www.intel.com/Please-Read-The-BB-File/ixp400AccessLibrary-1_4.zip"
-SRC_URI += "http://www.wnk.at/ixp400_accesslib_kernel26/data/patch_accesslib_kernel26_20040811.diff;patch=1"
-SRC_URI += "file://badpaths.patch;patch=1"
-SRC_URI += "file://build-timing-annoyance.patch;patch=1"
-
-S = "${WORKDIR}/ixp400_xscale_sw"
-PR = "r6"
-
-COMPATIBLE_HOST = "^armeb-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-#LINUX_MACH_CFLAGS := -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale
-CFLAGS = "-fno-common -D__KERNEL__ -DMODULE -D__linux -DCPU=33 -DXSCALE=33 \
-         -D__LINUX_ARM_ARCH__=5 \
-         -I${S}/src/linux -I${S}/src/include \
-         ${BUILD_OPTIMIZATION} \
-         -I${STAGING_KERNEL_DIR}/include"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
-               'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'IX_TARGET=linuxbe' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'ARCH=${ARCH}'"
-#EXTRA_OEMAKE = "'LINUX_SRC=${STAGING_KERNEL_DIR}' 'IX_TARGET=${IX_TARGET}' \
-#              'ARCH=${TARGET_ARCH}' 'CROSS_COMPILE=${TARGET_PREFIX}'"
-
-do_compile () {
-       oe_runmake ixp400.ko
-}
-
-do_stage () {
-       install -d ${STAGING_INCDIR}/linux/ixp4xx-csr
-       install -m 0644 src/include/*.h ${STAGING_INCDIR}/linux/ixp4xx-csr/
-       cp -RLf src/linux/* ${STAGING_INCDIR}/linux/ixp4xx-csr/
-}
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/drivers/ixp400
-       install -m 0644 lib/linuxbe/ixp400.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/drivers/ixp400/
-}
diff --git a/recipes/ixp4xx/ixp4xx-csr_1.5.bb b/recipes/ixp4xx/ixp4xx-csr_1.5.bb
deleted file mode 100644 (file)
index d9c6956..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      ixp400AccessLibrary-1_5.zip
-#      ixp400NpeLibrary-1_5.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader" and, from
-# this the "Intel Hardware Access Software" and "NPE Microcode" (both
-# versions 1.5, encryption is not required.)
-#
-# Store the files with the names given below in your downloads directory
-#
-SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/ixp400AccessLibrary-1_5.zip"
-SRC_URI += "http://www.intel.com/Please-Read-The-BB-File/ixp400NpeLibrary-1_5.zip"
-SRC_URI += "file://2.6.patch;patch=1"
-DEPENDS = "ixp-osal"
-S = "${WORKDIR}/ixp400_xscale_sw"
-PR = "r1"
-
-COMPATIBLE_HOST = "^armeb-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-OSAL_PATH = "lib/linux/linuxbe/ixp400"
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'AR=${AR}' \
-               'IX_XSCALE_SW=${S}' \
-               'IX_TARGET=linuxbe' \
-               'IX_MPHY=1' \
-               'IX_MPHYSINGLEPORT=1' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               'OSAL_DIR=${OSAL_DIR}' \
-               'OSAL_IMAGE=${OSAL_DIR}/${OSAL_PATH}/libosal.a' \
-               'OSAL_MODULE=${OSAL_DIR}/${OSAL_PATH}/ixp_osal.o' \
-               "
-
-do_compile () {
-       oe_runmake ixp400.ko
-}
-
-do_stage () {
-       install -d ${STAGING_INCDIR}/linux/ixp4xx-csr
-       install -m 0644 src/include/*.h ${STAGING_INCDIR}/linux/ixp4xx-csr/
-}
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/drivers/ixp400
-       install -m 0644 lib/linuxbe/ixp400.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/drivers/ixp400/
-}
diff --git a/recipes/ixp4xx/ixp4xx-csr_2.0.bb b/recipes/ixp4xx/ixp4xx-csr_2.0.bb
deleted file mode 100644 (file)
index e462c50..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      IPL_ixp400AccessLibrary-2_0.zip
-#      IPL_ixp400NpeLibrary-2_0_5.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader" and, from
-# this the "Intel Hardware Access Software" and "NPE Microcode" (both
-# versions 2.0, encryption is not required.)
-#
-# Store the files with the names given below in your downloads directory
-# and store the 32 character md5sum of the file in a file of the same
-# name with the additional extension .md5:
-#
-#      IPL_ixp400AccessLibrary-2_0.zip.md5
-#      IPL_ixp400NpeLibrary-2_0_5.zip.md5
-#
-SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400AccessLibrary-2_0.zip"
-SRC_URI += "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400NpeLibrary-2_0_5.zip"
-SRC_URI += "file://Makefile.patch;patch=1"
-SRC_URI += "file://2.6.patch;patch=1"
-SRC_URI += "file://2.6.14.patch;patch=1"
-SRC_URI += "file://le.patch;patch=1"
-DEPENDS = "ixp-osal"
-S = "${WORKDIR}/ixp400_xscale_sw"
-PR = "r6"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-
-OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-# COMPONENTS: do not build all the components, this just creates a
-# ridiculously large module which duplicates functionality in the
-# available Linux drivers.
-COMPONENTS = "qmgr npeMh npeDl ethAcc ethDB ethMii featureCtrl osServices oslinux"
-CODELETS_COMPONENTS = ""
-
-# NOTE: IX_INCLUDE_MICROCODE causes the microcode to be included in
-# the ixp4xx-csr module, this *requires* the IPL_ixp400NpeLibrary-2_0.zip
-# to be added to the SRC_URI - see above.
-EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
-               'LD=${KERNEL_LD}' \
-               'AR=${AR}' \
-               'IX_XSCALE_SW=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               '${IX_TARGET}_COMPONENTS=${COMPONENTS}' \
-               '${IX_TARGET}_CODELETS_COMPONENTS=${CODELETS_COMPONENTS}' \
-               'IX_DEVICE=ixp42X' \
-               'IX_MPHY=1' \
-               'IX_MPHYSINGLEPORT=1' \
-               'IX_INCLUDE_MICROCODE=1' \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               'OSAL_DIR=${OSAL_DIR}' \
-               'OSAL_IMAGE=${OSAL_DIR}/${OSAL_PATH}/libosal.a' \
-               'OSAL_MODULE=${OSAL_DIR}/${OSAL_PATH}/ixp_osal.o' \
-               "
-
-do_compile () {
-       # The target makes the .ko as a side effect, as a result of the
-       # Makefile.patch
-       oe_runmake lib/${IX_TARGET}/ixp400.o
-}
-
-do_stage () {
-       install -d ${STAGING_INCDIR}/linux/ixp4xx-csr
-       install -m 0644 src/include/*.h ${STAGING_INCDIR}/linux/ixp4xx-csr/
-}
-
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400
-       install -m 0644 lib/${IX_TARGET}/ixp400.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400/
-}
diff --git a/recipes/ixp4xx/ixp4xx-csr_2.1.1.bb b/recipes/ixp4xx/ixp4xx-csr_2.1.1.bb
deleted file mode 100644 (file)
index 32685d3..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-DEFAULT_PREFERENCE = "-1"
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      BSD_ixp400AccessLibrary-2_1.zip
-#      BSD_ixp400AccessLibrary-2_1_1.zip
-#      IPL_ixp400NpeLibrary-2_1.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader" and, from
-# this the "Intel Hardware Access Software" and "NPE Microcode" (both
-# versions 2.1, encryption is not required.)
-#
-# Store the files with the names given below in your downloads directory
-# and store the 32 character md5sum of the file in a file of the same
-# name with the additional extension .md5:
-#
-#      BSD_ixp400AccessLibrary-2_1.zip.md5
-#      BSD_ixp400AccessLibrary-2_1_1.zip.md5
-#      IPL_ixp400NpeLibrary-2_1.zip.md5
-#
-SRC_URI =  "http://www.intel.com/Please-Read-The-BB-File/BSD_ixp400AccessLibrary-2_1.zip"
-SRC_URI += "http://www.intel.com/Please-Read-The-BB-File/BSD_ixp400AccessLibrary-2_1_1.zip"
-SRC_URI += "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400NpeLibrary-2_1.zip"
-SRC_URI += "file://bit-macro.patch;patch=1"
-SRC_URI += "file://le.patch;patch=1"
-SRC_URI += "file://mii-debug.patch;patch=1"
-SRC_URI += "file://rtl8201-support.patch;patch=1"
-SRC_URI += "file://oe-makefile.patch;patch=1"
-SRC_URI += "file://livelock.patch;patch=1"
-SRC_URI += "file://module-param.patch;patch=1"
-SRC_URI += "file://undefined-attribute.patch;patch=1"
-
-DEPENDS = "ixp-osal"
-S = "${WORKDIR}/ixp400_xscale_sw"
-PR = "r2"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-do_pre_patch () {
-       cd ${WORKDIR} ; patch -p0 < BSD_ixp400AccessLibrary-2_1_1.patch
-}
-
-addtask pre_patch before do_patch
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-IX_ENSURE = ""
-#IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
-
-OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-# COMPONENTS: do not build all the components, this just creates a
-# ridiculously large module which duplicates functionality in the
-# available Linux drivers.
-COMPONENTS = "qmgr npeMh npeDl ethAcc ethDB ethMii featureCtrl osServices oslinux"
-CODELETS_COMPONENTS = ""
-
-# NOTE: IX_INCLUDE_MICROCODE causes the microcode to be included in
-# the ixp4xx-csr module, this *requires* the IPL_ixp400NpeLibrary-2_1.zip
-# to be added to the SRC_URI - see above.
-EXTRA_OEMAKE = "'AR=${AR}' \
-               'IX_LINUXVER=2.6' \
-               'IX_XSCALE_SW=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               '${IX_TARGET}_COMPONENTS=${COMPONENTS}' \
-               '${IX_TARGET}_CODELETS_COMPONENTS=${CODELETS_COMPONENTS}' \
-               'IX_DEVICE=ixp42X' \
-               'IX_BUILD_MICROCODE=1' \
-               'IX_UTOPIAMODE=0' \
-               'IX_MPHYSINGLEPORT=1' \
-               ${IX_ENSURE} \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               'OSAL_DIR=${OSAL_DIR}' \
-               'OSAL_IMAGE=${OSAL_DIR}/${OSAL_PATH}/libosal.a' \
-               'OSAL_MODULE=${OSAL_DIR}/${OSAL_PATH}/ixp_osal.o' \
-               "
-
-MAKE_TARGETS = "ixp400"
-
-KCONFIG_FILE = "${STAGING_KERNEL_DIR}/kernel-config"
-do_stage () {
-       install -d ${STAGING_INCDIR}/linux/ixp4xx-csr
-       install -m 0644 src/include/*.h ${STAGING_INCDIR}/linux/ixp4xx-csr/
-       # Since Module.symvers in the kernel staging directory doesn't include
-       # the symbols from ixp400.o we need to add them to another file for
-       # the ixp400-eth build
-       rm -f '${STAGING_KERNEL_DIR}/ixp400-csr.symvers'
-       . '${KCONFIG_FILE}'
-       if '${STAGING_KERNEL_DIR}/scripts/mod/modpost' \
-               ${CONFIG_MODVERSIONS:+-m} \
-               ${CONFIG_MODULE_SRCVERSION_ALL:+-a} \
-               -i '${STAGING_KERNEL_DIR}/Module.symvers' \
-               -o '${STAGING_KERNEL_DIR}/ixp400-csr.symvers' \
-               lib/${IX_TARGET}/ixp400.o 2>&1 | egrep .
-       then
-               echo "MODPOST errors - see above"
-               return 1
-       else
-               return 0
-       fi
-}
-
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400
-       install -m 0644 lib/${IX_TARGET}/ixp400.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400/
-       install -m 0644 lib/${IX_TARGET}/IxNpeMicrocode.dat ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400/
-}
diff --git a/recipes/ixp4xx/ixp4xx-csr_2.1.bb b/recipes/ixp4xx/ixp4xx-csr_2.1.bb
deleted file mode 100644 (file)
index e95f807..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-# Intel ixp4xx access library software.  Note that this has an Intel
-# license which restricts its use.
-HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
-LICENSE = "http://www.intel.com/design/network/swsup/np_sla/ixp400.htm"
-LICENSE_HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm"
-# You must download the following software to your OpenEmbedded downloads
-# directory before using this package:
-#
-#      IPL_ixp400AccessLibrary-2_1.zip
-#      IPL_ixp400NpeLibrary-2_1.zip
-#
-# To do this go to the LICENSE_HOMEPAGE above, register/login (using a
-# web browser which is supported by the login page), this will give you
-# access to the web page from which you can download the software - you
-# need the: "Intel® IXP400 Software and RedBoot* Boot Loader" and, from
-# this the "Intel Hardware Access Software" and "NPE Microcode" (both
-# versions 2.1, encryption is not required.)
-#
-# Store the files with the names given below in your downloads directory
-# and store the 32 character md5sum of the file in a file of the same
-# name with the additional extension .md5:
-#
-#      IPL_ixp400AccessLibrary-2_1.zip.md5
-#      IPL_ixp400NpeLibrary-2_1.zip.md5
-#
-SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400AccessLibrary-2_1.zip"
-SRC_URI += "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400NpeLibrary-2_1.zip"
-SRC_URI += "file://Makefile.patch;patch=1"
-SRC_URI += "file://ixethdb-header.patch;patch=1"
-SRC_URI += "file://bit-macro.patch;patch=1"
-SRC_URI += "file://ixnpemhconfigisr-is-private.patch;patch=1"
-SRC_URI += "file://le.patch;patch=1"
-SRC_URI += "file://mii-debug.patch;patch=1"
-SRC_URI += "file://rtl8201-support.patch;patch=1"
-SRC_URI += "file://gcc4.patch;patch=1"
-SRC_URI += "file://oe-makefile.patch;patch=1"
-SRC_URI += "file://livelock.patch;patch=1"
-SRC_URI += "file://module-param.patch;patch=1"
-
-DEPENDS = "ixp-osal"
-S = "${WORKDIR}/ixp400_xscale_sw"
-PR = "r12"
-
-COMPATIBLE_HOST = "^arm.*-linux.*"
-COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
-
-inherit module
-
-IX_TARGET = "linux${SITEINFO_ENDIANESS}"
-IX_ENSURE = ""
-#IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
-
-OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
-# This is a somewhat arbitrary choice:
-OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
-
-# COMPONENTS: do not build all the components, this just creates a
-# ridiculously large module which duplicates functionality in the
-# available Linux drivers.
-COMPONENTS = "qmgr npeMh npeDl ethAcc ethDB ethMii featureCtrl osServices oslinux"
-CODELETS_COMPONENTS = ""
-
-# NOTE: IX_INCLUDE_MICROCODE causes the microcode to be included in
-# the ixp4xx-csr module, this *requires* the IPL_ixp400NpeLibrary-2_1.zip
-# to be added to the SRC_URI - see above.
-EXTRA_OEMAKE = "'AR=${AR}' \
-               'IX_XSCALE_SW=${S}' \
-               'IX_TARGET=${IX_TARGET}' \
-               '${IX_TARGET}_COMPONENTS=${COMPONENTS}' \
-               '${IX_TARGET}_CODELETS_COMPONENTS=${CODELETS_COMPONENTS}' \
-               'IX_DEVICE=ixp42X' \
-               'IX_INCLUDE_MICROCODE=1' \
-               'IX_UTOPIAMODE=0' \
-               'IX_MPHYSINGLEPORT=1' \
-               ${IX_ENSURE} \
-               'LINUX_SRC=${STAGING_KERNEL_DIR}' \
-               'LINUX_CROSS_COMPILE=${HOST_PREFIX}' \
-               'OSAL_DIR=${OSAL_DIR}' \
-               'OSAL_IMAGE=${OSAL_DIR}/${OSAL_PATH}/libosal.a' \
-               'OSAL_MODULE=${OSAL_DIR}/${OSAL_PATH}/ixp_osal.o' \
-               "
-
-MAKE_TARGETS = "lib/${IX_TARGET}/ixp400.o"
-
-KCONFIG_FILE = "${STAGING_KERNEL_DIR}/kernel-config"
-do_stage () {
-       install -d ${STAGING_INCDIR}/linux/ixp4xx-csr
-       install -m 0644 src/include/*.h ${STAGING_INCDIR}/linux/ixp4xx-csr/
-       # Since Module.symvers in the kernel staging directory doesn't include
-       # the symbols from ixp400.o we need to add them to another file for
-       # the ixp400-eth build
-       rm -f '${STAGING_KERNEL_DIR}/ixp400-csr.symvers'
-       . '${KCONFIG_FILE}'
-       if '${STAGING_KERNEL_DIR}/scripts/mod/modpost' \
-               ${CONFIG_MODVERSIONS:+-m} \
-               ${CONFIG_MODULE_SRCVERSION_ALL:+-a} \
-               -i '${STAGING_KERNEL_DIR}/Module.symvers' \
-               -o '${STAGING_KERNEL_DIR}/ixp400-csr.symvers' \
-               ${MAKE_TARGETS} 2>&1 | egrep .
-       then
-               echo "MODPOST errors - see above"
-               return 1
-       else
-               return 0
-       fi
-}
-
-
-do_install () {
-       install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400
-       install -m 0644 lib/${IX_TARGET}/ixp400.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/ixp400/
-}