summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2006-01-10 01:10:55 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-01-10 01:10:55 +0000
commitbe954a5547b18eb5f78c22fa36000eab2daa3655 (patch)
tree9bb6c9b235963c9b6b94fb54c8cf786273875da0 /packages
parentf3630ccede2047ba388d7b930f40c1c2d840cf4c (diff)
parent2f0e3d2a376647127e9d569aa9d2ab0ae2211843 (diff)
merge of d2b50db8c3a2dfa93a56f34063e7e78182ac274c
and ef11dd4e8067d9c4f020b6cd39b8556bab34dc7a
Diffstat (limited to 'packages')
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/2.6.14.patch7
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/2.6.15.patch9
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/Makefile.patch7
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/continue-if-qmgr-init-fails.patch22
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/debug.patch96
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/device-name.patch53
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/int-random.patch16
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/le.patch15
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/mac-address.patch4
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/poll-controller.patch15
-rw-r--r--packages/ixp425-eth/ixp400-eth-1.5/stop-on-rmmod.patch29
-rw-r--r--packages/ixp425-eth/ixp400-eth_1.5.bb7
-rw-r--r--packages/ixp4xx/ixp-osal-2.1/2.6.patch36
-rw-r--r--packages/ixp4xx/ixp-osal-2.1/Makefile.patch21
-rw-r--r--packages/ixp4xx/ixp-osal-2.1/assert.patch12
-rw-r--r--packages/ixp4xx/ixp-osal-2.1/invalidate-cache.patch27
-rw-r--r--packages/ixp4xx/ixp-osal-2.1/ixp4xx-header.patch16
-rw-r--r--packages/ixp4xx/ixp-osal-2.1/le.patch36
-rw-r--r--packages/ixp4xx/ixp-osal_2.1.bb2
-rw-r--r--packages/ixp4xx/ixp4xx-csr-2.1/Makefile.patch12
-rw-r--r--packages/ixp4xx/ixp4xx-csr-2.1/bit-macro.patch4
-rw-r--r--packages/ixp4xx/ixp4xx-csr-2.1/ixethdb-header.patch4
-rw-r--r--packages/ixp4xx/ixp4xx-csr-2.1/ixnpemhconfigisr-is-private.patch4
-rw-r--r--packages/ixp4xx/ixp4xx-csr-2.1/le.patch4
-rw-r--r--packages/ixp4xx/ixp4xx-csr_2.1.bb2
25 files changed, 346 insertions, 114 deletions
diff --git a/packages/ixp425-eth/ixp400-eth-1.5/2.6.14.patch b/packages/ixp425-eth/ixp400-eth-1.5/2.6.14.patch
index 9d8dcc6590..f3426e4287 100644
--- a/packages/ixp425-eth/ixp400-eth-1.5/2.6.14.patch
+++ b/packages/ixp425-eth/ixp400-eth-1.5/2.6.14.patch
@@ -1,5 +1,8 @@
---- ./ixp400_eth.c 2005-11-19 23:27:54.541565744 -0800
-+++ ./ixp400_eth.c 2005-11-19 23:28:56.253449028 -0800
+ 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;
diff --git a/packages/ixp425-eth/ixp400-eth-1.5/2.6.15.patch b/packages/ixp425-eth/ixp400-eth-1.5/2.6.15.patch
index 143c509c62..83115d8efa 100644
--- a/packages/ixp425-eth/ixp400-eth-1.5/2.6.15.patch
+++ b/packages/ixp425-eth/ixp400-eth-1.5/2.6.15.patch
@@ -1,5 +1,10 @@
---- ./ixp400_eth.c.orig 2005-11-13 16:17:57.943717806 -0800
-+++ ./ixp400_eth.c 2005-11-13 16:29:00.829430574 -0800
+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>
diff --git a/packages/ixp425-eth/ixp400-eth-1.5/Makefile.patch b/packages/ixp425-eth/ixp400-eth-1.5/Makefile.patch
index 2120391cbb..3bc51f0b66 100644
--- a/packages/ixp425-eth/ixp400-eth-1.5/Makefile.patch
+++ b/packages/ixp425-eth/ixp400-eth-1.5/Makefile.patch
@@ -1,5 +1,8 @@
---- ./Makefile 2005-09-06 00:17:15.000000000 -0700
-+++ ./Makefile 2005-10-02 22:15:19.974595551 -0700
+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
+
diff --git a/packages/ixp425-eth/ixp400-eth-1.5/continue-if-qmgr-init-fails.patch b/packages/ixp425-eth/ixp400-eth-1.5/continue-if-qmgr-init-fails.patch
new file mode 100644
index 0000000000..8508790fa5
--- /dev/null
+++ b/packages/ixp425-eth/ixp400-eth-1.5/continue-if-qmgr-init-fails.patch
@@ -0,0 +1,22 @@
+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/packages/ixp425-eth/ixp400-eth-1.5/debug.patch b/packages/ixp425-eth/ixp400-eth-1.5/debug.patch
index f88457c060..c684c078d2 100644
--- a/packages/ixp425-eth/ixp400-eth-1.5/debug.patch
+++ b/packages/ixp425-eth/ixp400-eth-1.5/debug.patch
@@ -1,7 +1,62 @@
-# This patch is not necessary but helps when debugging the build
---- ./ixp400_eth.c 2005-11-20 13:26:14.890767165 -0800
-+++ ./ixp400_eth.c 2005-11-20 13:45:32.163589752 -0800
-@@ -3249,6 +3249,8 @@ static int __devinit dev_eth_probe(struc
+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)
{
@@ -10,7 +65,7 @@
goto error;
}
priv->lock = SPIN_LOCK_UNLOCKED;
-@@ -3355,7 +3361,11 @@ static int __devinit dev_eth_probe(struc
+@@ -3360,7 +3365,11 @@ static int __devinit dev_eth_probe(struc
#if IS_KERNEL26
if (register_netdev(ndev))
@@ -22,7 +77,7 @@
#else
found_devices++;
#endif /* IS_KERNEL26 */
-@@ -3365,6 +3375,8 @@ static int __devinit dev_eth_probe(struc
+@@ -3370,6 +3379,8 @@ static int __devinit dev_eth_probe(struc
/* register EthAcc callbacks for this port */
if (dev_rxtxcallback_register(portId, (UINT32)ndev))
{
@@ -31,7 +86,7 @@
goto error;
}
-@@ -3388,6 +3400,7 @@ static int __devinit dev_eth_probe(struc
+@@ -3393,6 +3404,7 @@ static int __devinit dev_eth_probe(struc
/* Error handling: enter here whenever error detected */
error:
@@ -39,7 +94,32 @@
TRACE;
#ifdef CONFIG_IXP400_ETH_QDISC_ENABLED
-@@ -3523,6 +3536,9 @@ static int __init ixp400_eth_init(void)
+@@ -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");
diff --git a/packages/ixp425-eth/ixp400-eth-1.5/device-name.patch b/packages/ixp425-eth/ixp400-eth-1.5/device-name.patch
index b0e0d329e6..d8bbc97b8c 100644
--- a/packages/ixp425-eth/ixp400-eth-1.5/device-name.patch
+++ b/packages/ixp425-eth/ixp400-eth-1.5/device-name.patch
@@ -1,14 +1,47 @@
---- ./ixp400_eth.c 2005-11-20 16:58:48.973330982 -0800
-+++ ./ixp400_eth.c 2005-11-20 17:01:26.719257307 -0800
-@@ -161,7 +161,11 @@ MODULE_PARM(dev_max_count, "i");
+ 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 */
-+#ifdef IX_DEVICE_NAME_ETH
-+#define DEVICE_NAME "eth"
-+#else
- #define DEVICE_NAME "ixp"
-+#endif
-
+-/* 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/packages/ixp425-eth/ixp400-eth-1.5/int-random.patch b/packages/ixp425-eth/ixp400-eth-1.5/int-random.patch
new file mode 100644
index 0000000000..fede9daf90
--- /dev/null
+++ b/packages/ixp425-eth/ixp400-eth-1.5/int-random.patch
@@ -0,0 +1,16 @@
+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/packages/ixp425-eth/ixp400-eth-1.5/le.patch b/packages/ixp425-eth/ixp400-eth-1.5/le.patch
index 37c4150bc9..3d569015e6 100644
--- a/packages/ixp425-eth/ixp400-eth-1.5/le.patch
+++ b/packages/ixp425-eth/ixp400-eth-1.5/le.patch
@@ -1,6 +1,11 @@
---- ./ixp400_eth.c 2005-11-20 18:25:26.812410374 -0800
-+++ ./ixp400_eth.c 2005-11-20 18:50:22.126504557 -0800
-@@ -2046,6 +2046,16 @@ static void rx_cb(UINT32 callbackTag, IX
+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;
@@ -13,11 +18,11 @@
+ *p = ntohl(*p), ++p;
+ }
+#endif
-+
++
#ifdef DEBUG_DUMP
skb_dump("rx", skb);
#endif
-@@ -2436,6 +2446,16 @@ static int dev_hard_start_xmit(struct sk
+@@ -2431,6 +2441,16 @@ static int dev_hard_start_xmit(struct sk
return 0;
}
diff --git a/packages/ixp425-eth/ixp400-eth-1.5/mac-address.patch b/packages/ixp425-eth/ixp400-eth-1.5/mac-address.patch
index bd16124e94..1845dd3089 100644
--- a/packages/ixp425-eth/ixp400-eth-1.5/mac-address.patch
+++ b/packages/ixp425-eth/ixp400-eth-1.5/mac-address.patch
@@ -1,5 +1,5 @@
---- ./ixp400_eth.c.base 2005-11-28 23:59:34.476404165 -0800
-+++ ./ixp400_eth.c 2005-11-29 00:42:44.587389574 -0800
+--- 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.
*
diff --git a/packages/ixp425-eth/ixp400-eth-1.5/poll-controller.patch b/packages/ixp425-eth/ixp400-eth-1.5/poll-controller.patch
index 22049c3491..64fb310ee5 100644
--- a/packages/ixp425-eth/ixp400-eth-1.5/poll-controller.patch
+++ b/packages/ixp425-eth/ixp400-eth-1.5/poll-controller.patch
@@ -1,6 +1,11 @@
---- ./ixp400_eth.c 2005-11-19 23:36:44.482912850 -0800
-+++ ./ixp400_eth.c 2005-11-19 23:39:13.080263492 -0800
-@@ -347,6 +347,12 @@ static int dev_pmu_timer_init(void);
+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);
@@ -13,7 +18,7 @@
/* Private device data */
typedef struct {
spinlock_t lock; /* multicast management lock */
-@@ -3056,6 +3062,19 @@ static int set_mac_address(struct net_de
+@@ -3060,6 +3066,19 @@ static int set_mac_address(struct net_de
return 0;
}
@@ -33,7 +38,7 @@
/*
* TX QDISC
-@@ -3269,6 +3288,9 @@ static int __devinit dev_eth_probe(struc
+@@ -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;
diff --git a/packages/ixp425-eth/ixp400-eth-1.5/stop-on-rmmod.patch b/packages/ixp425-eth/ixp400-eth-1.5/stop-on-rmmod.patch
new file mode 100644
index 0000000000..2ddc98938a
--- /dev/null
+++ b/packages/ixp425-eth/ixp400-eth-1.5/stop-on-rmmod.patch
@@ -0,0 +1,29 @@
+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/packages/ixp425-eth/ixp400-eth_1.5.bb b/packages/ixp425-eth/ixp400-eth_1.5.bb
index 24eb358902..96287fb3d9 100644
--- a/packages/ixp425-eth/ixp400-eth_1.5.bb
+++ b/packages/ixp425-eth/ixp400-eth_1.5.bb
@@ -6,16 +6,19 @@ HOMEPAGE = "http://www.intel.com/design/network/products/npfamily/ixp420.htm"
LICENSE = "GPL"
SRC_URI = "ftp://aiedownload.intel.com/df-support/9519/eng/GPL_ixp400LinuxEthernetDriverPatch-1_5.zip"
-SRC_URI += "file://Makefile.patch;patch=1"
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://mac-address.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://debug.patch;patch=1"
+SRC_URI += "file://Makefile.patch;patch=1"
-PR = "r1"
+PR = "r2"
DEPENDS = "ixp4xx-csr"
RDEPENDS = "ixp4xx-csr"
diff --git a/packages/ixp4xx/ixp-osal-2.1/2.6.patch b/packages/ixp4xx/ixp-osal-2.1/2.6.patch
index 6bf1c2c32d..9725b447c8 100644
--- a/packages/ixp4xx/ixp-osal-2.1/2.6.patch
+++ b/packages/ixp4xx/ixp-osal-2.1/2.6.patch
@@ -1,5 +1,11 @@
---- ixp_osal/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
+ 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 --
*/
@@ -11,8 +17,8 @@
#include <linux/interrupt.h>
#include "IxOsal.h"
---- ixp_osal/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
+--- 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 @@
*/
@@ -22,7 +28,7 @@
#include "IxOsal.h"
/* Define a large number */
-@@ -93,7 +93,7 @@
+@@ -93,7 +93,7 @@ ixOsalSemaphoreWait (IxOsalOsSemaphore *
{
IX_STATUS ixStatus = IX_SUCCESS;
@@ -40,8 +46,8 @@
if (in_irq ())
{
---- ixp_osal/os/linux/src/core/IxOsalOsServices.c 2005-04-17 20:56:28.000000000 -0700
-+++ ixp_osal/os/linux/src/core/IxOsalOsServices.c 2005-10-01 16:37:00.876444607 -0700
+--- 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>
@@ -50,7 +56,7 @@
#include "IxOsal.h"
-@@ -89,7 +90,7 @@
+@@ -89,7 +90,7 @@ static IxOsalInfoType IxOsalInfo[NR_IRQS
/*
* General interrupt handler
*/
@@ -59,7 +65,7 @@
ixOsalOsIsrProxy (int irq, void *dev_id, struct pt_regs *regs)
{
IxOsalInfoType *isr_proxy_info = (IxOsalInfoType *) dev_id;
-@@ -98,6 +99,7 @@
+@@ -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);
@@ -67,7 +73,7 @@
}
/*
-@@ -105,11 +107,12 @@
+@@ -105,11 +107,12 @@ ixOsalOsIsrProxy (int irq, void *dev_id,
* This handler saves the interrupted Program Counter (PC)
* into a global variable
*/
@@ -81,7 +87,7 @@
}
/**************************************
-@@ -191,10 +194,15 @@
+@@ -191,10 +194,15 @@ ixOsalIrqUnbind (UINT32 vector)
PUBLIC UINT32
ixOsalIrqLock ()
{
@@ -98,7 +104,7 @@
}
/* Enable interrupts and task scheduling,
-@@ -204,7 +212,11 @@
+@@ -204,7 +212,11 @@ ixOsalIrqLock ()
PUBLIC void
ixOsalIrqUnlock (UINT32 lockKey)
{
@@ -110,7 +116,7 @@
}
PUBLIC UINT32
-@@ -329,7 +341,7 @@
+@@ -329,7 +341,7 @@ ixOsalBusySleep (UINT32 microseconds)
PUBLIC void
ixOsalSleep (UINT32 milliseconds)
{
@@ -119,8 +125,8 @@
{
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout ((milliseconds * HZ) / 1000);
---- ixp_osal/os/linux/src/core/IxOsalOsThread.c 2005-11-20 00:59:09.734097888 -0800
-+++ ixp_osal/os/linux/src/core/IxOsalOsThread.c 2005-11-20 01:00:07.057705036 -0800
+--- 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;
diff --git a/packages/ixp4xx/ixp-osal-2.1/Makefile.patch b/packages/ixp4xx/ixp-osal-2.1/Makefile.patch
index f852ea2b26..d687ebc070 100644
--- a/packages/ixp4xx/ixp-osal-2.1/Makefile.patch
+++ b/packages/ixp4xx/ixp-osal-2.1/Makefile.patch
@@ -1,18 +1,21 @@
-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 @@
+ 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)/%)
- # 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 @@
+ 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
diff --git a/packages/ixp4xx/ixp-osal-2.1/assert.patch b/packages/ixp4xx/ixp-osal-2.1/assert.patch
index 1dfc84ed12..a03113dcc2 100644
--- a/packages/ixp4xx/ixp-osal-2.1/assert.patch
+++ b/packages/ixp4xx/ixp-osal-2.1/assert.patch
@@ -1,7 +1,11 @@
# Unnecessary patch - reduces the code size slightly, gives clearer
# messages if IX_OSAL_ENSURE_ON is set
---- ixp_osal/include/IxOsalAssert.h 2005-11-20 15:19:59.128189352 -0800
-+++ ixp_osal/include/IxOsalAssert.h 2005-11-20 15:20:46.099145048 -0800
+# 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
@@ -13,8 +17,8 @@
#else
#define IX_OSAL_ENSURE(c, str)
---- ixp_osal/os/linux/include/core/IxOsalOsAssert.h 2005-09-24 20:57:00.000000000 -0700
-+++ ixp_osal/os/linux/include/core/IxOsalOsAssert.h 2005-11-20 15:25:32.273152843 -0800
+--- 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
diff --git a/packages/ixp4xx/ixp-osal-2.1/invalidate-cache.patch b/packages/ixp4xx/ixp-osal-2.1/invalidate-cache.patch
index c6ec6ed6a7..33c1d132db 100644
--- a/packages/ixp4xx/ixp-osal-2.1/invalidate-cache.patch
+++ b/packages/ixp4xx/ixp-osal-2.1/invalidate-cache.patch
@@ -1,5 +1,10 @@
---- ixp_osal/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
+ 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>
@@ -27,15 +32,15 @@
+#else
+
-+#define IX_OSAL_OS_CACHE_INVALIDATE(addr, size) ( invalidate_dcache_range((__u32)addr, (__u32)addr + size ))
++#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 */
-
---- ixp_osal/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 @@
+ /* 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);
}
}
@@ -95,9 +100,9 @@
+#undef IX_CLM
+
+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
---- ixp_osal/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 @@
+--- 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);
diff --git a/packages/ixp4xx/ixp-osal-2.1/ixp4xx-header.patch b/packages/ixp4xx/ixp-osal-2.1/ixp4xx-header.patch
index 28bd3d362b..70eec5e728 100644
--- a/packages/ixp4xx/ixp-osal-2.1/ixp4xx-header.patch
+++ b/packages/ixp4xx/ixp-osal-2.1/ixp4xx-header.patch
@@ -1,5 +1,9 @@
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h 2005-11-20 00:51:37.637649252 -0800
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h 2005-11-20 00:51:45.890168551 -0800
+ 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
@@ -9,7 +13,7 @@
/* 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,14 +98,14 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[]
+@@ -98,12 +100,12 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[]
* Queue Manager
*/
{
@@ -26,10 +30,8 @@
0, /* refCount */
IX_OSAL_BE | IX_OSAL_LE_DC, /* endianType */
"qMgr" /* name */
- },
-
---- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Base.h 2005-09-06 00:17:15.000000000 -0700
-+++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Base.h 2005-11-20 08:25:18.402543995 -0800
+--- 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,72 @@
+/*
+ * Glue for the current linux definitons of this stuff.
diff --git a/packages/ixp4xx/ixp-osal-2.1/le.patch b/packages/ixp4xx/ixp-osal-2.1/le.patch
index 3fc5ddf624..a6936ea33b 100644
--- a/packages/ixp4xx/ixp-osal-2.1/le.patch
+++ b/packages/ixp4xx/ixp-osal-2.1/le.patch
@@ -1,6 +1,13 @@
---- 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 @@
+ 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))
@@ -11,8 +18,8 @@
#define IX_OSAL_BE_XSTOBUSL(wData) (wData)
#define IX_OSAL_BE_XSTOBUSS(sData) (sData)
---- ixp_osal/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
+--- 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)
@@ -22,8 +29,8 @@
#elif defined (IX_OSAL_WINCE_LE)
---- ixp_osal/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
+--- 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)
@@ -33,18 +40,19 @@
#endif /* qmgr */
---- ixp_osal/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,6 +101,6 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[]
+--- 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 */
++ IX_OSAL_BE | IX_OSAL_LE_AC, /* endianType */
"qMgr" /* name */
},
---- ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c 2005-09-24 20:57:03.000000000 -0700
-+++ ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c 2005-11-20 15:21:33.670138502 -0800
+--- 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 --
*/
@@ -53,7 +61,7 @@
#include <asm/io.h>
#include <linux/ioport.h>
-@@ -54,6 +54,8 @@
+@@ -54,6 +55,8 @@
PUBLIC void
ixOsalLinuxMemMap (IxOsalMemoryMap * map)
{
diff --git a/packages/ixp4xx/ixp-osal_2.1.bb b/packages/ixp4xx/ixp-osal_2.1.bb
index 7b5ec197ba..ce9acce4e7 100644
--- a/packages/ixp4xx/ixp-osal_2.1.bb
+++ b/packages/ixp4xx/ixp-osal_2.1.bb
@@ -31,7 +31,7 @@ SRC_URI += "file://le.patch;patch=1"
SRC_URI += "file://assert.patch;patch=1"
S = "${WORKDIR}/ixp_osal"
-PR = "r0"
+PR = "r1"
COMPATIBLE_HOST = "^arm.*-linux.*"
diff --git a/packages/ixp4xx/ixp4xx-csr-2.1/Makefile.patch b/packages/ixp4xx/ixp4xx-csr-2.1/Makefile.patch
index 39ec252a2e..afe472fc1c 100644
--- a/packages/ixp4xx/ixp4xx-csr-2.1/Makefile.patch
+++ b/packages/ixp4xx/ixp4xx-csr-2.1/Makefile.patch
@@ -1,5 +1,5 @@
---- ixp400_xscale_sw/Makefile 2005-11-20 08:43:17.610454268 -0800
-+++ ixp400_xscale_sw/Makefile 2005-11-20 08:44:37.387474319 -0800
+--- ixp_osal/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/Makefile 1970-01-01 00:00:00.000000000 +0000
@@ -297,9 +297,9 @@ endif
else # IX_TARGET_OS == vxworks
# linux compiler flags
@@ -51,12 +51,12 @@
endif
---- ixp400_xscale_sw/ixp400.c 1970-01-01 01:00:00.000000000 +0100
-+++ ixp400_xscale_sw/ixp400.c 2005-08-24 22:33:12.000000000 +0200
+--- ixp_osal/ixp400.c 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/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 01:00:00.000000000 +0100
-+++ ixp400_xscale_sw/Makefile.kmod26 2005-08-24 22:33:12.000000000 +0200
+--- ixp_osal/Makefile.kmod26 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/Makefile.kmod26 1970-01-01 00:00:00.000000000 +0000
@@ -0,0 +1,11 @@
+obj-m := ixp400.o
+
diff --git a/packages/ixp4xx/ixp4xx-csr-2.1/bit-macro.patch b/packages/ixp4xx/ixp4xx-csr-2.1/bit-macro.patch
index 5cdb395f28..f6d796a625 100644
--- a/packages/ixp4xx/ixp4xx-csr-2.1/bit-macro.patch
+++ b/packages/ixp4xx/ixp4xx-csr-2.1/bit-macro.patch
@@ -1,5 +1,5 @@
---- ixp400_xscale_sw/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
+--- ixp_osal/src/include/IxTypes.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/src/include/IxTypes.h 1970-01-01 00:00:00.000000000 +0000
@@ -79,6 +79,10 @@
#endif
#endif
diff --git a/packages/ixp4xx/ixp4xx-csr-2.1/ixethdb-header.patch b/packages/ixp4xx/ixp4xx-csr-2.1/ixethdb-header.patch
index e426afe914..674b546d32 100644
--- a/packages/ixp4xx/ixp4xx-csr-2.1/ixethdb-header.patch
+++ b/packages/ixp4xx/ixp4xx-csr-2.1/ixethdb-header.patch
@@ -1,5 +1,5 @@
---- ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h.orig 2005-11-20 08:51:54.710993353 -0800
-+++ ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h 2005-11-20 08:51:57.559172578 -0800
+--- ixp_osal/src/ethDB/include/IxEthDB_p.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/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);
diff --git a/packages/ixp4xx/ixp4xx-csr-2.1/ixnpemhconfigisr-is-private.patch b/packages/ixp4xx/ixp4xx-csr-2.1/ixnpemhconfigisr-is-private.patch
index 6f853ac19e..f300429c93 100644
--- a/packages/ixp4xx/ixp4xx-csr-2.1/ixnpemhconfigisr-is-private.patch
+++ b/packages/ixp4xx/ixp4xx-csr-2.1/ixnpemhconfigisr-is-private.patch
@@ -1,5 +1,5 @@
---- ixp400_xscale_sw/src/npeMh/IxNpeMhSymbols.c.orig 2005-11-20 08:59:46.816701092 -0800
-+++ ixp400_xscale_sw/src/npeMh/IxNpeMhSymbols.c 2005-11-20 08:59:54.561188422 -0800
+--- ixp_osal/src/npeMh/IxNpeMhSymbols.c 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/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);
diff --git a/packages/ixp4xx/ixp4xx-csr-2.1/le.patch b/packages/ixp4xx/ixp4xx-csr-2.1/le.patch
index b62389cbee..7ffeb95d27 100644
--- a/packages/ixp4xx/ixp4xx-csr-2.1/le.patch
+++ b/packages/ixp4xx/ixp4xx-csr-2.1/le.patch
@@ -1,5 +1,5 @@
---- 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
+--- ixp_osal/src/include/IxQMgr.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/src/include/IxQMgr.h 1970-01-01 00:00:00.000000000 +0000
@@ -96,8 +98,8 @@
#else
diff --git a/packages/ixp4xx/ixp4xx-csr_2.1.bb b/packages/ixp4xx/ixp4xx-csr_2.1.bb
index e5e081058b..a0798df722 100644
--- a/packages/ixp4xx/ixp4xx-csr_2.1.bb
+++ b/packages/ixp4xx/ixp4xx-csr_2.1.bb
@@ -34,7 +34,7 @@ SRC_URI += "file://le.patch;patch=1"
DEPENDS = "ixp-osal"
S = "${WORKDIR}/ixp400_xscale_sw"
-PR = "r3"
+PR = "r4"
COMPATIBLE_HOST = "^arm.*-linux.*"