summaryrefslogtreecommitdiff
path: root/packages/linux/nslu2-kernel
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-10-26 21:05:31 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-10-26 21:05:31 +0000
commit08c9668df356fc47f01cde8e421d3dc24adc4c9e (patch)
tree87d94226fa641abf40160f20663f54f30a912266 /packages/linux/nslu2-kernel
parent760961336989b539a2546f43e8ce3d84a92a3c0f (diff)
slugos, openslug, ucslugc: move to new slugos base distro in openslug 3.0, ucslugc 3
- all the nslu2-???.conf files are now slugos-???.conf and slugos has been made - the base for both openslug and ucslugc. OpenSlug now enables thumb interwork.
Diffstat (limited to 'packages/linux/nslu2-kernel')
-rw-r--r--packages/linux/nslu2-kernel/2.6.14/16-ixp4xx-ioremap.patch11
-rw-r--r--packages/linux/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch37
-rw-r--r--packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch14
-rw-r--r--packages/linux/nslu2-kernel/2.6.14/28-spinlock-up.patch32
-rw-r--r--packages/linux/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch11
5 files changed, 99 insertions, 6 deletions
diff --git a/packages/linux/nslu2-kernel/2.6.14/16-ixp4xx-ioremap.patch b/packages/linux/nslu2-kernel/2.6.14/16-ixp4xx-ioremap.patch
new file mode 100644
index 0000000000..53d390b7c5
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6.14/16-ixp4xx-ioremap.patch
@@ -0,0 +1,11 @@
+--- linux-2.6.14-rc5/drivers/mtd/maps/ixp4xx.c 2005-10-26 08:37:21.960361430 -0700
++++ patched/drivers/mtd/maps/ixp4xx.c 2005-10-26 12:13:13.879374310 -0700
+@@ -227,7 +227,7 @@ static int ixp4xx_flash_probe(struct dev
+ goto Error;
+ }
+
+- info->map.map_priv_1 = ioremap(dev->resource->start,
++ info->map.map_priv_1 = (unsigned long)ioremap(dev->resource->start,
+ dev->resource->end - dev->resource->start + 1);
+ if (!info->map.map_priv_1) {
+ printk(KERN_ERR "IXP4XXFlash: Failed to ioremap region\n");
diff --git a/packages/linux/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch b/packages/linux/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch
new file mode 100644
index 0000000000..cf6313116d
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch
@@ -0,0 +1,37 @@
+--- linux-2.6.14-rc5/include/asm-arm/arch-ixp4xx/io.h 2005-10-26 08:37:22.844417060 -0700
++++ patched/include/asm-arm/arch-ixp4xx/io.h 2005-10-26 12:14:20.771583571 -0700
+@@ -80,21 +80,21 @@ __ixp4xx_iounmap(void __iomem *addr)
+ #define __arch_ioremap(a, s, f, x) __ixp4xx_ioremap(a, s, f, x)
+ #define __arch_iounmap(a) __ixp4xx_iounmap(a)
+
+-#define writeb(p, v) __ixp4xx_writeb(p, v)
+-#define writew(p, v) __ixp4xx_writew(p, v)
+-#define writel(p, v) __ixp4xx_writel(p, v)
+-
+-#define writesb(p, v, l) __ixp4xx_writesb(p, v, l)
+-#define writesw(p, v, l) __ixp4xx_writesw(p, v, l)
+-#define writesl(p, v, l) __ixp4xx_writesl(p, v, l)
++#define writeb(v, p) __ixp4xx_writeb(v, (u32)p)
++#define writew(v, p) __ixp4xx_writew(v, (u32)p)
++#define writel(v, p) __ixp4xx_writel(v, (u32)p)
++
++#define writesb(p, v, l) __ixp4xx_writesb((u32)p, v, l)
++#define writesw(p, v, l) __ixp4xx_writesw((u32)p, v, l)
++#define writesl(p, v, l) __ixp4xx_writesl((u32)p, v, l)
+
+-#define readb(p) __ixp4xx_readb(p)
+-#define readw(p) __ixp4xx_readw(p)
+-#define readl(p) __ixp4xx_readl(p)
++#define readb(p) __ixp4xx_readb((u32)p)
++#define readw(p) __ixp4xx_readw((u32)p)
++#define readl(p) __ixp4xx_readl((u32)p)
+
+-#define readsb(p, v, l) __ixp4xx_readsb(p, v, l)
+-#define readsw(p, v, l) __ixp4xx_readsw(p, v, l)
+-#define readsl(p, v, l) __ixp4xx_readsl(p, v, l)
++#define readsb(p, v, l) __ixp4xx_readsb((u32)p, v, l)
++#define readsw(p, v, l) __ixp4xx_readsw((u32)p, v, l)
++#define readsl(p, v, l) __ixp4xx_readsl((u32)p, v, l)
+
+ static inline void
+ __ixp4xx_writeb(u8 value, u32 addr)
diff --git a/packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch b/packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch
index 2fa828cf48..9177eb337f 100644
--- a/packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch
+++ b/packages/linux/nslu2-kernel/2.6.14/25-nslu2-arch-reset.patch
@@ -1,7 +1,7 @@
-# Work round problems with the flash being unreadable on boot.
-#
---- linux-2.6.13/.pc/25-nslu2-arch-reset.patch/include/asm-arm/arch-ixp4xx/system.h 2005-08-28 16:41:01.000000000 -0700
-+++ linux-2.6.13/include/asm-arm/arch-ixp4xx/system.h 2005-09-25 23:34:14.762872391 -0700
+# On NSLU2 ensure that the flash is readable on system boot.
+
+--- linux-2.6.13/include/asm-arm/arch-ixp4xx/system.h 2005-08-28 16:41:01.000000000 -0700
++++ linux-2.6.13/include/asm-arm/arch-ixp4xx/system.h 2005-10-26 07:43:11.763839457 -0700
@@ -10,6 +10,7 @@
*/
@@ -10,10 +10,11 @@
static inline void arch_idle(void)
{
-@@ -22,6 +23,21 @@
+@@ -22,6 +23,23 @@ static inline void arch_idle(void)
static inline void arch_reset(char mode)
{
++#if (defined CONFIG_MACH_NSLU2) && (defined NSLU2_FLASH_BASE)
+ /* On NSLU2 machines the flash is sometimes left in a non-read
+ * mode, such that attempting a read will cause problems - such as
+ * a hang. This will prevent both hard and soft reboot since the
@@ -28,11 +29,12 @@
+ */
+ *(__u16*)(NSLU2_FLASH_BASE+0xAA/*command*/) = 0x00ff/*reset*/;
+ }
++#endif
+
if ( 1 && mode == 's') {
/* Jump into ROM at address 0 */
cpu_reset(0);
-@@ -39,4 +55,3 @@
+@@ -39,4 +57,3 @@ static inline void arch_reset(char mode)
*IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
}
}
diff --git a/packages/linux/nslu2-kernel/2.6.14/28-spinlock-up.patch b/packages/linux/nslu2-kernel/2.6.14/28-spinlock-up.patch
new file mode 100644
index 0000000000..3ae5178cff
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6.14/28-spinlock-up.patch
@@ -0,0 +1,32 @@
+--- linux-2.6.14-rc5/include/linux/spinlock_up.h 2005-10-26 08:37:20.164248408 -0700
++++ patched/include/linux/spinlock_up.h 2005-10-26 12:15:13.458898975 -0700
+@@ -47,6 +47,14 @@ static inline void __raw_spin_unlock(raw
+ lock->slock = 1;
+ }
+
++#else /* DEBUG_SPINLOCK */
++#define __raw_spin_is_locked(lock) ((void)(lock), 0)
++/* for sched.c and kernel_lock.c: */
++# define __raw_spin_lock(lock) do { (void)(lock); } while (0)
++# define __raw_spin_unlock(lock) do { (void)(lock); } while (0)
++# define __raw_spin_trylock(lock) ({ (void)(lock); 1; })
++#endif /* DEBUG_SPINLOCK */
++
+ /*
+ * Read-write spinlocks. No debug version.
+ */
+@@ -57,14 +65,6 @@ static inline void __raw_spin_unlock(raw
+ #define __raw_read_unlock(lock) do { (void)(lock); } while (0)
+ #define __raw_write_unlock(lock) do { (void)(lock); } while (0)
+
+-#else /* DEBUG_SPINLOCK */
+-#define __raw_spin_is_locked(lock) ((void)(lock), 0)
+-/* for sched.c and kernel_lock.c: */
+-# define __raw_spin_lock(lock) do { (void)(lock); } while (0)
+-# define __raw_spin_unlock(lock) do { (void)(lock); } while (0)
+-# define __raw_spin_trylock(lock) ({ (void)(lock); 1; })
+-#endif /* DEBUG_SPINLOCK */
+-
+ #define __raw_read_can_lock(lock) (((void)(lock), 1))
+ #define __raw_write_can_lock(lock) (((void)(lock), 1))
+
diff --git a/packages/linux/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch b/packages/linux/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch
new file mode 100644
index 0000000000..93e070518c
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch
@@ -0,0 +1,11 @@
+--- linux-2.6.14-rc5/net/ipv4/route.c 2005-10-26 08:37:20.752285410 -0700
++++ patched/net/ipv4/route.c 2005-10-26 12:17:00.761651111 -0700
+@@ -231,7 +231,7 @@ static spinlock_t *rt_hash_locks;
+ spin_lock_init(&rt_hash_locks[i]); \
+ }
+ #else
+-# define rt_hash_lock_addr(slot) NULL
++# define rt_hash_lock_addr(slot) ((spinlock_t*)NULL)
+ # define rt_hash_lock_init()
+ #endif
+