diff options
author | Rod Whitby <rod@whitby.id.au> | 2006-02-11 12:21:46 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-02-11 12:21:46 +0000 |
commit | ada160dc6fb45bb99f851d241f060e369fa9b3a3 (patch) | |
tree | 940a66026b171ee17f293d930a30662ea81feab4 /packages/linux/ixp4xx-kernel | |
parent | fa3539b899bac502ce29f0cb073dbfd50f8a505f (diff) |
disapproval of revision '20f5c236b9ebdf5e2fc0e5acea55f39e77588bb8'
Diffstat (limited to 'packages/linux/ixp4xx-kernel')
9 files changed, 63 insertions, 800 deletions
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/80-nas100d-fix-i2c.patch b/packages/linux/ixp4xx-kernel/2.6.16/80-nas100d-fix-i2c.patch deleted file mode 100644 index 6610cc0872..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.16/80-nas100d-fix-i2c.patch +++ /dev/null @@ -1,16 +0,0 @@ - include/asm-arm/arch-ixp4xx/nas100d.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- linux-nslu2.orig/include/asm-arm/arch-ixp4xx/nas100d.h 2006-02-06 20:37:38.000000000 +0100 -+++ linux-nslu2/include/asm-arm/arch-ixp4xx/nas100d.h 2006-02-09 14:33:49.000000000 +0100 -@@ -19,8 +19,8 @@ - #error "Do not include this directly, instead #include <asm/hardware.h>" - #endif - --#define NAS100D_SDA_PIN 6 --#define NAS100D_SCL_PIN 5 -+#define NAS100D_SDA_PIN 5 -+#define NAS100D_SCL_PIN 6 - - /* - * NAS100D PCI IRQs diff --git a/packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch b/packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch deleted file mode 100644 index e84508b85b..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch +++ /dev/null @@ -1,154 +0,0 @@ - arch/arm/mach-ixp4xx/ixdp425-setup.c | 115 ++++++++++++++++++++++++++++++++++- - 1 file changed, 112 insertions(+), 3 deletions(-) - ---- linux-nslu2.orig/arch/arm/mach-ixp4xx/ixdp425-setup.c 2006-02-10 18:03:51.000000000 +0100 -+++ linux-nslu2/arch/arm/mach-ixp4xx/ixdp425-setup.c 2006-02-10 18:06:40.000000000 +0100 -@@ -15,6 +15,7 @@ - #include <linux/tty.h> - #include <linux/serial_8250.h> - #include <linux/slab.h> -+#include <linux/eeprom.h> - - #include <asm/types.h> - #include <asm/setup.h> -@@ -25,6 +26,10 @@ - #include <asm/mach/arch.h> - #include <asm/mach/flash.h> - -+#ifdef CONFIG_MACLIST -+#include <net/maclist.h> -+#endif -+ - static struct flash_platform_data ixdp425_flash_data = { - .map_name = "cfi_probe", - .width = 2, -@@ -176,17 +181,122 @@ MACHINE_START(AVILA, "Gateworks Avila Ne - MACHINE_END - #endif - -+#ifdef CONFIG_MACH_LOFT - /* - * Loft is functionally equivalent to Avila except that it has a - * different number for the maximum PCI devices. The MACHINE -- * structure below is identical to Avila except for the comment. -+ * structure below is derived from the Avila one (and may, in -+ * fact, be useful on Avila in general). -+ * -+ * The loft init registers a notifier on the on-board EEPROM to -+ * detect the MAC addresses. -+ * NOTE: this probably works for all Gateworks Avila boards and -+ * maybe the ixdp425 too. -+ * -+ * When the EEPROM is added the MAC address are read from it. - */ --#ifdef CONFIG_MACH_LOFT -+ -+#if defined(CONFIG_SENSORS_EEPROM) && defined(CONFIG_MACLIST) -+static void loft_eeprom_add(int address, int kind, struct kobject *kobj, -+ struct bin_attribute *eeprom_attr) { -+ /* The MACs are the first 12 bytes in the eeprom at address 0x51 */ -+ if (address == 0x51) { -+ ssize_t retlen; -+ char data[12]; -+ -+ /* Two Macs, one at 0, the other at 6, maclist_add will -+ * complain if the ID is not a valid MAC. -+ */ -+ retlen = eeprom_attr->read(kobj, data, 0, sizeof data); -+ if (retlen >= 6) { -+ u8 mac[6]; -+ memcpy(mac, data+0, sizeof mac); -+ printk(KERN_INFO "LOFT MAC[0]: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n", -+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); -+ maclist_add(mac); -+ } -+ if (retlen >= 12) { -+ u8 mac[6]; -+ memcpy(mac, data+6, sizeof mac); -+ printk(KERN_INFO "LOFT MAC[1]: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n", -+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); -+ maclist_add(mac); -+ } -+ } -+} -+ -+static struct eeprom_notifier loft_eeprom_notifier = { -+ .add = loft_eeprom_add -+}; -+#endif -+ -+/* -+ * Loft bootstrap may pass in parameters, if these contain an -+ * ATAG_MEM and it appears valid (not the 16MByte one in the -+ * setup/kernel.c default) we use it, otherwise a 64MByte -+ * setting is forced here, this may be overridden on the -+ * command line. -+ */ -+static void __init loft_fixup(struct machine_desc *desc, -+ struct tag *tags, char **cmdline, struct meminfo *mi) -+{ -+ char saved_command_line[COMMAND_LINE_SIZE]; -+ -+ /* Put Loft specific known-required-for-certain stuff here, leave -+ * a trailing space! -+ */ -+ static char loft_command_line[] = -+ "root=/dev/mtdblock2 rw rootfstype=jffs2 init=/linuxrc " -+ "rtc-ds1672.probe=0,0x68 "; -+ const int len = (sizeof loft_command_line) - 1; -+ int memtag = 0; -+ -+ /* The EEPROM has two ethernet MACs embedded in it which we need, -+ * that is all this notifier does. -+ */ -+#ifdef CONFIG_SENSORS_EEPROM -+ register_eeprom_user(&loft_eeprom_notifier); -+#endif -+ -+ /* The Loft typically has one bank of 64MByte memory. -+ * NOTE: setting nr_banks != 0 causes kernel/setup.c to remove -+ * the mem tags from the tag list, so if there is an entry -+ * there don't remove it! -+ */ -+ if (tags->hdr.tag == ATAG_CORE) do { -+ tags = tag_next(tags); -+ printk(KERN_NOTICE "ATAG[0x%x] size %d\n", tags->hdr.tag, tags->hdr.size); -+ if (tags->hdr.tag == ATAG_MEM && tags->hdr.size == tag_size(tag_mem32) && -+ (tags->u.mem.start != 0 || tags->u.mem.size != (16*1024*1024))) { -+ memtag = 1; -+ printk(KERN_NOTICE " ATAG_MEM base %x, size %dMB\n", -+ tags->u.mem.start, -+ tags->u.mem.size / (1024*1024)); -+ } -+ } while (tags->hdr.size); -+ -+ if (!memtag) { -+ mi->nr_banks = 1; -+ mi->bank[0].start = 0; -+ mi->bank[0].size = (64*1024*1024); -+ mi->bank[0].node = PHYS_TO_NID(0); -+ } -+ -+ /* A command line in the ATAG list will override this one, -+ * as is intended. -+ */ -+ memcpy(saved_command_line, *cmdline, COMMAND_LINE_SIZE); -+ memcpy(*cmdline, loft_command_line, len); -+ memcpy(*cmdline + len, saved_command_line, COMMAND_LINE_SIZE - len); -+ *cmdline[COMMAND_LINE_SIZE-1] = 0; -+} -+ - MACHINE_START(LOFT, "Giant Shoulder Inc Loft board") - /* Maintainer: Tom Billman <kernel@giantshoulderinc.com> */ - .phys_ram = PHYS_OFFSET, - .phys_io = IXP4XX_PERIPHERAL_BASE_PHYS, - .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xfffc, -+ .fixup = loft_fixup, - .map_io = ixp4xx_map_io, - .init_irq = ixp4xx_init_irq, - .timer = &ixp4xx_timer, -@@ -194,4 +304,3 @@ MACHINE_START(LOFT, "Giant Shoulder Inc - .init_machine = ixdp425_init, - MACHINE_END - #endif -- diff --git a/packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch b/packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch index b9c4c265d0..bc7bf2061a 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch @@ -4,11 +4,11 @@ in the boot loader. Signed-off-by: John Bowler <jbowler@acm.org> - arch/arm/mach-ixp4xx/nas100d-setup.c | 42 +++++++++++++++++++++++++++++++++++ - 1 file changed, 42 insertions(+) + arch/arm/mach-ixp4xx/nas100d-setup.c | 43 +++++++++++++++++++++++++++++++++++ + 1 file changed, 43 insertions(+) ---- linux-nslu2.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-09 13:24:19.000000000 +0100 -+++ linux-nslu2/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-09 15:13:56.000000000 +0100 +--- linux-nslu2.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-06 22:35:26.000000000 +0100 ++++ linux-nslu2/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-06 22:40:20.000000000 +0100 @@ -17,6 +17,8 @@ #include <linux/serial_8250.h> #include <linux/mtd/mtd.h> @@ -18,7 +18,7 @@ Signed-off-by: John Bowler <jbowler@acm.org> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/flash.h> -@@ -161,11 +163,51 @@ static void __init nas100d_init(void) +@@ -161,11 +163,52 @@ static void __init nas100d_init(void) platform_add_devices(nas100d_devices, ARRAY_SIZE(nas100d_devices)); } @@ -41,6 +41,7 @@ Signed-off-by: John Bowler <jbowler@acm.org> + */ +static char nas100d_command_line[] __initdata = + "root=/dev/mtdblock2 rootfstype=jffs2 init=/linuxrc " ++ "pcf8563.hctosys=1 " + CONFIG_CMDLINE; + +static void __init nas100d_fixup(struct machine_desc *desc, diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch deleted file mode 100644 index d9a5f07494..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch +++ /dev/null @@ -1,102 +0,0 @@ -diff -ruN linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/hardware.h linux-2.6.15.new/include/asm-arm/arch-ixp4xx/hardware.h ---- linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/hardware.h 2006-02-11 02:58:47.000000000 +0100 -+++ linux-2.6.15.new/include/asm-arm/arch-ixp4xx/hardware.h 2006-02-10 22:26:54.000000000 +0100 -@@ -46,5 +46,6 @@ - #include "prpmc1100.h" - #include "nslu2.h" - #include "nas100d.h" -+#include "ds101.h" - - #endif /* _ASM_ARCH_HARDWARE_H */ -diff -ruN linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/irqs.h linux-2.6.15.new/include/asm-arm/arch-ixp4xx/irqs.h ---- linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/irqs.h 2006-02-11 02:58:47.000000000 +0100 -+++ linux-2.6.15.new/include/asm-arm/arch-ixp4xx/irqs.h 2006-02-10 22:56:11.000000000 +0100 -@@ -108,5 +108,12 @@ - #define IRQ_NAS100D_PCI_INTC IRQ_IXP4XX_GPIO9 - #define IRQ_NAS100D_PCI_INTD IRQ_IXP4XX_GPIO8 - #define IRQ_NAS100D_PCI_INTE IRQ_IXP4XX_GPIO7 -+/* -+ * DS101 board IRQs -+ */ -+ -+#define IRQ_DS101_PCI_INTA IRQ_IXP4XX_GPIO11 -+#define IRQ_DS101_PCI_INTB IRQ_IXP4XX_GPIO10 -+#define IRQ_DS101_PCI_INTC IRQ_IXP4XX_GPIO9 - - #endif -diff -ruN linux-2.6.15.orig/include/asm-arm/arch/ds101.h linux-2.6.15.new/include/asm-arm/arch/ds101.h ---- linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/ds101.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.15.new/include/asm-arm/arch-ixp4xx/ds101.h 2006-02-10 22:16:24.000000000 +0100 -@@ -0,0 +1,72 @@ -+/* -+ * include/asm-arm/arch-ixp4xx/ds101.h -+ * -+ * DS101 platform specific definitions -+ * -+ * Copyright (c) 2005 Tower Technologies -+ * -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * -+ * based on ixdp425.h: -+ * Copyright 2004 (c) MontaVista, Software, Inc. -+ * -+ * This file is licensed under the terms of the GNU General Public -+ * License version 2. This program is licensed "as is" without any -+ * warranty of any kind, whether express or implied. -+ */ -+ -+#ifndef __ASM_ARCH_HARDWARE_H__ -+#error "Do not include this directly, instead #include <asm/hardware.h>" -+#endif -+ -+#define DS101_SDA_PIN 1 -+#define DS101_SCL_PIN 0 -+ -+/* -+ * DS101 PCI IRQs -+ */ -+#define DS101_PCI_MAX_DEV 3 -+#define DS101_PCI_IRQ_LINES 3 -+ -+ -+/* PCI controller GPIO to IRQ pin mappings */ -+#define DS101_PCI_INTA_PIN 11 -+#define DS101_PCI_INTB_PIN 10 -+#define DS101_PCI_INTC_PIN 9 -+// #define DS101_PCI_INTD_PIN 8 -+// #define DS101_PCI_INTE_PIN 7 -+ -+/* GPIO */ -+ -+#define DS101_GPIO0 0 -+#define DS101_GPIO1 1 -+#define DS101_GPIO2 2 -+#define DS101_GPIO3 3 -+#define DS101_GPIO4 4 -+#define DS101_GPIO5 5 -+#define DS101_GPIO6 6 -+#define DS101_GPIO7 7 -+#define DS101_GPIO8 8 -+#define DS101_GPIO9 9 -+#define DS101_GPIO10 10 -+#define DS101_GPIO11 11 -+#define DS101_GPIO12 12 -+#define DS101_GPIO13 13 -+#define DS101_GPIO14 14 -+#define DS101_GPIO15 15 -+ -+ -+/* Buttons */ -+ -+#define DS101_PB_GPIO DS101_GPIO8 -+#define DS101_RB_GPIO DS101_GPIO12 -+#define DS101_PO_GPIO DS101_GPIO7 /* power off */ -+ -+#define DS101_PB_IRQ IRQ_IXP4XX_GPIO8 -+#define DS101_RB_IRQ IRQ_IXP4XX_GPIO12 -+ -+/* -+#define DS101_PB_BM (1L << DS101_PB_GPIO) -+#define DS101_PO_BM (1L << DS101_PO_GPIO) -+#define DS101_RB_BM (1L << DS101_RB_GPIO) -+*/ diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-misc.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-misc.patch deleted file mode 100644 index ea5f91b45f..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-misc.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/Makefile linux-2.6.15.new/arch/arm/mach-ixp4xx/Makefile ---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/Makefile 2006-02-11 02:57:58.000000000 +0100 -+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/Makefile 2006-02-10 22:13:27.000000000 +0100 -@@ -10,4 +10,4 @@ - obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o gtwx5715-setup.o - obj-$(CONFIG_MACH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-power.o - obj-$(CONFIG_MACH_NAS100D) += nas100d-pci.o nas100d-setup.o nas100d-power.o -- -+obj-$(CONFIG_MACH_DS101) += ds101-pci.o ds101-setup.o ds101-power.o -diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/Kconfig linux-2.6.15.new/arch/arm/mach-ixp4xx/Kconfig ---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/Kconfig 2006-02-11 03:00:07.000000000 +0100 -+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/Kconfig 2006-02-10 22:21:09.000000000 +0100 -@@ -86,6 +86,14 @@ - NAS 100d device. For more information on this platform, - see http://www.nslu2-linux.org/wiki/NAS100d/HomePage - -+config MACH_DS101 -+ bool -+ prompt "DS101" -+ help -+ Say 'Y' here if you want your kernel to support Synology's -+ DiskStation DS101(j) device. For more information on this -+ platform see http://www.nslu2-linux.org/wiki/DS101/HomePage -+ - # - # Avila and IXDP share the same source for now. Will change in future - # diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch deleted file mode 100644 index 8940bd63a6..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch +++ /dev/null @@ -1,73 +0,0 @@ -diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-pci.c linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-pci.c ---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-pci.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-pci.c 2006-02-10 22:31:00.000000000 +0100 -@@ -0,0 +1,69 @@ -+/* -+ * arch/arm/mach-ixp4xx/ds101-pci.c -+ * -+ * DS101 board-level PCI initialization -+ * -+ * based on ixdp425-pci.c: -+ * Copyright (C) 2002 Intel Corporation. -+ * Copyright (C) 2003-2004 MontaVista Software, Inc. -+ * -+ * Maintainer: http://www.nslu2-linux.org/ -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ */ -+ -+#include <linux/config.h> -+#include <linux/pci.h> -+#include <linux/init.h> -+ -+#include <asm/mach/pci.h> -+#include <asm/mach-types.h> -+ -+void __init ds101_pci_preinit(void) -+{ -+ set_irq_type(IRQ_DS101_PCI_INTA, IRQT_LOW); -+ set_irq_type(IRQ_DS101_PCI_INTB, IRQT_LOW); -+ set_irq_type(IRQ_DS101_PCI_INTC, IRQT_LOW); -+ -+ ixp4xx_pci_preinit(); -+} -+ -+static int __init ds101_map_irq(struct pci_dev *dev, u8 slot, u8 pin) -+{ -+ static int pci_irq_table[DS101_PCI_MAX_DEV][DS101_PCI_IRQ_LINES] = -+ { -+ { IRQ_DS101_PCI_INTA, -1, -1 }, -+ { IRQ_DS101_PCI_INTB, -1, -1 }, -+ { IRQ_DS101_PCI_INTC, -1, -1 }, -+ }; -+ -+ int irq = -1; -+ -+ if (slot >= 1 && slot <= DS101_PCI_MAX_DEV && -+ pin >= 1 && pin <= DS101_PCI_IRQ_LINES) -+ irq = pci_irq_table[slot-1][pin-1]; -+ -+ return irq; -+} -+ -+struct hw_pci __initdata ds101_pci = { -+ .nr_controllers = 1, -+ .preinit = ds101_pci_preinit, -+ .swizzle = pci_std_swizzle, -+ .setup = ixp4xx_setup, -+ .scan = ixp4xx_scan_bus, -+ .map_irq = ds101_map_irq, -+}; -+ -+int __init ds101_pci_init(void) -+{ -+ if (machine_is_ds101()) -+ pci_common_init(&ds101_pci); -+ -+ return 0; -+} -+ -+subsys_initcall(ds101_pci_init); diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-power.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-power.patch deleted file mode 100644 index 3c309f3536..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-power.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-power.c linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-power.c ---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-power.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-power.c 2006-02-10 23:54:40.000000000 +0100 -@@ -0,0 +1,71 @@ -+/* -+ * arch/arm/mach-ixp4xx/ds101-power.c -+ * -+ * DS101 Power/Reset driver -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * -+ * based on ds101-io.c -+ * Copyright (C) 2004 Karen Spearel -+ * -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * Author: OEyvind Repvik <oyvind@repvik.org> -+ * Maintainers: http://www.nslu2-linux.org/ -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ */ -+ -+#include <linux/module.h> -+#include <linux/reboot.h> -+#include <linux/interrupt.h> -+ -+#include <asm/mach-types.h> -+ -+extern void ctrl_alt_del(void); -+ -+static irqreturn_t ds101_reset_handler(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ /* Signal init to do the ctrlaltdel action, this will bypass init if -+ * it hasn't started and do a kernel_restart. -+ */ -+ ctrl_alt_del(); -+ -+ return IRQ_HANDLED; -+} -+ -+static int __init ds101_power_init(void) -+{ -+ if (!(machine_is_ds101())) -+ return 0; -+ -+ set_irq_type(DS101_RB_IRQ, IRQT_LOW); -+ -+ if (request_irq(DS101_RB_IRQ, &ds101_reset_handler, -+ SA_INTERRUPT, "DS101 reset button", NULL) < 0) { -+ -+ printk(KERN_DEBUG "Reset Button IRQ %d not available\n", -+ DS101_RB_IRQ); -+ -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+static void __exit ds101_power_exit(void) -+{ -+ if (!(machine_is_ds101())) -+ return; -+ -+ free_irq(DS101_RB_IRQ, NULL); -+} -+ -+module_init(ds101_power_init); -+module_exit(ds101_power_exit); -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("DS101 Power/Reset driver"); -+MODULE_LICENSE("GPL"); diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch deleted file mode 100644 index ac3f7d19c7..0000000000 --- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch +++ /dev/null @@ -1,288 +0,0 @@ -diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-setup.c linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-setup.c ---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-setup.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-setup.c 2006-02-11 02:17:35.000000000 +0100 -@@ -0,0 +1,284 @@ -+/* -+ * arch/arm/mach-ixp4xx/ds101-setup.c -+ * -+ * DS 101 board-setup -+ * -+ * based ixdp425-setup.c: -+ * Copyright (C) 2003-2004 MontaVista Software, Inc. -+ * -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * Author: Rod Whitby <rod@whitby.id.au> -+ * Author: OEyvind Repvik <oyvind@repvik.org> -+ * Maintainers: http://www.nslu2-linux.org/ -+ * -+ */ -+ -+#include <linux/kernel.h> -+#include <linux/serial.h> -+#include <linux/serial_8250.h> -+#include <linux/mtd/mtd.h> -+#include <linux/leds.h> -+ -+#include <asm/setup.h> -+#include <asm/memory.h> -+#include <asm/mach-types.h> -+#include <asm/mach/arch.h> -+#include <asm/mach/flash.h> -+ -+#include <net/maclist.h> -+ -+static struct flash_platform_data ds101_flash_data = { -+ .map_name = "cfi_probe", -+ .width = 2, -+}; -+ -+static struct resource ds101_flash_resource = { -+ .flags = IORESOURCE_MEM, -+}; -+ -+static struct platform_device ds101_flash = { -+ .name = "IXP4XX-Flash", -+ .id = 0, -+ .dev.platform_data = &ds101_flash_data, -+ .num_resources = 1, -+ .resource = &ds101_flash_resource, -+}; -+ -+#ifdef CONFIG_LEDS_CLASS -+static struct resource ds101_led_resources[] = { -+ { -+ .name = "power", /* blue power led */ -+ .start = 3, -+ .end = 3, -+ .flags = IXP4XX_GPIO_LOW, -+ }, -+ { -+ .name = "status-1", -+ .start = 14, -+ .end = 14, -+ .flags = IXP4XX_GPIO_LOW, -+ }, -+ { -+ .name = "status-2", -+ .start = 15, -+ .end = 15, -+ .flags = IXP4XX_GPIO_LOW, -+ }, -+ { -+ .name = "usb-1", /* The usb-copy-button led */ -+ .start = 5, -+ .end = 5, -+ .flags = IXP4XX_GPIO_LOW, -+ }, -+ { -+ .name = "usb-2", /* also the usb-copy-button led */ -+ .start = 4, -+ .end = 4, -+ .flags = IXP4XX_GPIO_LOW, -+ }, -+ { -+ .name = "test", -+ .start = 6, -+ .end = 6, -+ .flags = IXP4XX_GPIO_LOW, -+ }, -+}; -+ -+ -+static struct platform_device ds101_leds = { -+ .name = "IXP4XX-GPIO-LED", -+ .id = -1, -+ .num_resources = ARRAY_SIZE(ds101_led_resources), -+ .resource = ds101_led_resources, -+}; -+#endif -+ -+static struct ixp4xx_i2c_pins ds101_i2c_gpio_pins = { -+ .sda_pin = DS101_SDA_PIN, -+ .scl_pin = DS101_SCL_PIN, -+}; -+ -+static struct platform_device ds101_i2c_controller = { -+ .name = "IXP4XX-I2C", -+ .id = 0, -+ .dev.platform_data = &ds101_i2c_gpio_pins, -+ .num_resources = 0, -+}; -+ -+static struct platform_device ds101_beeper = { -+ .name = "ixp4xx-beeper", -+ .id = 2, -+ .num_resources = 0, -+}; -+ -+static struct resource ds101_uart_resources[] = { -+ { -+ .start = IXP4XX_UART1_BASE_PHYS, -+ .end = IXP4XX_UART1_BASE_PHYS + 0x0fff, -+ .flags = IORESOURCE_MEM, -+ }, -+ { -+ .start = IXP4XX_UART2_BASE_PHYS, -+ .end = IXP4XX_UART2_BASE_PHYS + 0x0fff, -+ .flags = IORESOURCE_MEM, -+ } -+}; -+ -+static struct plat_serial8250_port ds101_uart_data[] = { -+ { -+ .mapbase = IXP4XX_UART1_BASE_PHYS, -+ .membase = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET, -+ .irq = IRQ_IXP4XX_UART1, -+ .flags = UPF_BOOT_AUTOCONF, -+ .iotype = UPIO_MEM, -+ .regshift = 2, -+ .uartclk = IXP4XX_UART_XTAL, -+ }, -+ { -+ .mapbase = IXP4XX_UART2_BASE_PHYS, -+ .membase = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET, -+ .irq = IRQ_IXP4XX_UART2, -+ .flags = UPF_BOOT_AUTOCONF, -+ .iotype = UPIO_MEM, -+ .regshift = 2, -+ .uartclk = IXP4XX_UART_XTAL, -+ }, -+ { } -+}; -+ -+static struct platform_device ds101_uart = { -+ .name = "serial8250", -+ .id = PLAT8250_DEV_PLATFORM, -+ .dev.platform_data = ds101_uart_data, -+ .num_resources = 2, -+ .resource = ds101_uart_resources, -+}; -+ -+static struct platform_device *ds101_devices[] __initdata = { -+ &ds101_i2c_controller, -+ &ds101_flash, -+ &ds101_beeper, -+}; -+ -+static void ds101_power_off(void) -+{ -+ /* This causes the box to drop the power and go dead. */ -+ -+ /* enable the pwr cntl gpio */ -+ gpio_line_config(DS101_PO_GPIO, IXP4XX_GPIO_OUT); -+ -+ /* do the deed */ -+ gpio_line_set(DS101_PO_GPIO, IXP4XX_GPIO_HIGH); -+} -+ -+/* -+ * When the RedBoot config partition is added the MAC address is read from -+ * it. -+ * FIXME: This isn't correct on the DS101! -+ */ -+static void ds101_flash_add(struct mtd_info *mtd) { -+ if (strcmp(mtd->name, "RedBoot config") == 0) { -+ size_t retlen; -+ u_char mac[6]; -+ -+ /* The MAC is at a known offset... */ -+ if (mtd->read(mtd, 0x0FD8, 6, &retlen, mac) == 0 && retlen == 6) { -+ printk(KERN_INFO "DS101 MAC: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n", -+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); -+ maclist_add(mac); -+ } else { -+ printk(KERN_ERR "DS101 MAC: read failed\n"); -+ } -+ } -+} -+ -+/* -+ * Nothing to do on remove at present. -+ */ -+static void ds101_flash_remove(struct mtd_info *mtd) { -+} -+ -+static struct mtd_notifier ds101_flash_notifier = { -+ .add = ds101_flash_add, -+ .remove = ds101_flash_remove, -+}; -+ -+static void __init ds101_init(void) -+{ -+ /* The flash has an ethernet MAC embedded in it which we need, -+ * that is all this notifier does. -+ */ -+ register_mtd_user(&ds101_flash_notifier); -+ -+ ixp4xx_sys_init(); -+ -+ ds101_flash_resource.start = IXP4XX_EXP_BUS_BASE(0); -+ ds101_flash_resource.end = -+ IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1; -+ -+ pm_power_off = ds101_power_off; -+ -+ /* This is only useful on a modified machine, but it is valuable -+ * to have it first in order to see debug messages, and so that -+ * it does *not* get removed if platform_add_devices fails! -+ */ -+ (void)platform_device_register(&ds101_uart); -+ -+ platform_add_devices(ds101_devices, ARRAY_SIZE(ds101_devices)); -+ -+#ifdef CONFIG_LEDS_CLASS -+ /* We don't care whether or not this works. */ -+ (void)platform_device_register(&ds101_leds); -+#endif -+} -+ -+/* -+ * DS101 bootstrap may pass in parameters, but we zap the mem -+ * settings to be safe (the box always has 64MByte at 0). The -+ * passed in command line can override this default, we prepend -+ * to the config'ed default. -+ * -+ * NOTE: the startup sequence is: -+ * 1) Call the machine fixup -+ * 2) Parse the ATAG list, the ATAG_CMDLINE is copied in -+ * to default_command_line which is the value of *from -+ * 3) Parse the command line in *from (*not* -+ * default_command_line unless they are the same!) -+ * -+ * Setting mi->nr_banks causes (2) to 'squash' (set to ATAG_NONE) -+ * any ATAG_MEM tags, but mem= command line options cause nr_banks -+ * to be reset to 0 (on the first mem=) -+ */ -+static char ds101_command_line[] __initdata = -+ "root=/dev/sda1 rootfstype=ext3 init=/sbin/init " -+ CONFIG_CMDLINE; -+ -+static void __init ds101_fixup(struct machine_desc *desc, -+ struct tag *tags, char **cmdline, struct meminfo *mi) -+{ -+ /* The DS101 has one bank of 64MByte memory. -+ * NOTE: setting nr_banks != 0 causes kernel/setup.c to remove -+ * the mem tags from the tag list. We need do nothing here! -+ */ -+ mi->nr_banks=1; -+ mi->bank[0].start = 0; -+ mi->bank[0].size = (64*1024*1024); -+ mi->bank[0].node = PHYS_TO_NID(0); -+ -+ /* A command line in the ATAG list will override this one, -+ * as is intended. -+ */ -+ strlcpy(*cmdline, ds101_command_line, COMMAND_LINE_SIZE); -+} -+ -+MACHINE_START(DS101, "Synology DiskStation DS101") -+ /* Maintainer: www.nslu2-linux.org */ -+ .phys_io = IXP4XX_PERIPHERAL_BASE_PHYS, -+ .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xFFFC, -+ .boot_params = 0x00000100, -+ .fixup = ds101_fixup, -+ .map_io = ixp4xx_map_io, -+ .init_irq = ixp4xx_init_irq, -+ .timer = &ixp4xx_timer, -+ .init_machine = ds101_init, -+MACHINE_END diff --git a/packages/linux/ixp4xx-kernel/2.6.16/defconfig b/packages/linux/ixp4xx-kernel/2.6.16/defconfig index e7973518c7..25c2ba40c2 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/defconfig +++ b/packages/linux/ixp4xx-kernel/2.6.16/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.16-rc2 -# Thu Feb 9 23:00:47 2006 +# Thu Feb 9 20:54:57 2006 # CONFIG_ARM=y CONFIG_MMU=y @@ -124,7 +124,6 @@ CONFIG_ARCH_IXDP425=y CONFIG_ARCH_IXCDP1100=y # CONFIG_ARCH_PRPMC1100 is not set CONFIG_MACH_NAS100D=y -CONFIG_MACH_DS101=y CONFIG_ARCH_IXDP4XX=y # CONFIG_MACH_GTWX5715 is not set @@ -584,7 +583,60 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8 # # ATA/ATAPI/MFM/RLL support # -# CONFIG_IDE is not set +CONFIG_IDE=y +CONFIG_BLK_DEV_IDE=y + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_IDEDISK=y +# CONFIG_IDEDISK_MULTI_MODE is not set +# CONFIG_BLK_DEV_IDECD is not set +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEFLOPPY is not set +# CONFIG_BLK_DEV_IDESCSI is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +CONFIG_IDE_GENERIC=y +CONFIG_BLK_DEV_IDEPCI=y +# CONFIG_IDEPCI_SHARE_IRQ is not set +# CONFIG_BLK_DEV_OFFBOARD is not set +# CONFIG_BLK_DEV_GENERIC is not set +# CONFIG_BLK_DEV_OPTI621 is not set +# CONFIG_BLK_DEV_SL82C105 is not set +CONFIG_BLK_DEV_IDEDMA_PCI=y +# CONFIG_BLK_DEV_IDEDMA_FORCED is not set +# CONFIG_IDEDMA_PCI_AUTO is not set +CONFIG_BLK_DEV_AEC62XX=y +# CONFIG_BLK_DEV_ALI15X3 is not set +# CONFIG_BLK_DEV_AMD74XX is not set +# CONFIG_BLK_DEV_CMD64X is not set +# CONFIG_BLK_DEV_TRIFLEX is not set +# CONFIG_BLK_DEV_CY82C693 is not set +# CONFIG_BLK_DEV_CS5520 is not set +# CONFIG_BLK_DEV_CS5530 is not set +# CONFIG_BLK_DEV_HPT34X is not set +# CONFIG_BLK_DEV_HPT366 is not set +# CONFIG_BLK_DEV_SC1200 is not set +# CONFIG_BLK_DEV_PIIX is not set +# CONFIG_BLK_DEV_IT821X is not set +# CONFIG_BLK_DEV_NS87415 is not set +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +# CONFIG_BLK_DEV_PDC202XX_NEW is not set +# CONFIG_BLK_DEV_SVWKS is not set +# CONFIG_BLK_DEV_SIIMAGE is not set +# CONFIG_BLK_DEV_SLC90E66 is not set +# CONFIG_BLK_DEV_TRM290 is not set +# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_IDE_ARM is not set +CONFIG_BLK_DEV_IDEDMA=y +# CONFIG_IDEDMA_IVB is not set +# CONFIG_IDEDMA_AUTO is not set +# CONFIG_BLK_DEV_HD is not set # # SCSI device support @@ -634,53 +686,7 @@ CONFIG_SCSI_MULTI_LUN=y # CONFIG_MEGARAID_NEWGEN is not set # CONFIG_MEGARAID_LEGACY is not set # CONFIG_MEGARAID_SAS is not set -CONFIG_SCSI_SATA=y -# CONFIG_SCSI_SATA_AHCI is not set -# CONFIG_SCSI_SATA_SVW is not set -# CONFIG_SCSI_ATA_PIIX is not set -# CONFIG_SCSI_SATA_MV is not set -# CONFIG_SCSI_SATA_NV is not set -# CONFIG_SCSI_PDC_ADMA is not set -# CONFIG_SCSI_SATA_QSTOR is not set -# CONFIG_SCSI_SATA_PROMISE is not set -# CONFIG_SCSI_SATA_SX4 is not set -# CONFIG_SCSI_SATA_SIL is not set -# CONFIG_SCSI_SATA_SIL24 is not set -# CONFIG_SCSI_SATA_SIS is not set -# CONFIG_SCSI_SATA_ULI is not set -# CONFIG_SCSI_SATA_VIA is not set -# CONFIG_SCSI_SATA_VITESSE is not set -# CONFIG_SCSI_PATA_ALI is not set -# CONFIG_SCSI_PATA_AMD is not set -CONFIG_SCSI_PATA_ARTOP=y -# CONFIG_SCSI_PATA_ATIIXP is not set -# CONFIG_SCSI_PATA_CMD64X is not set -# CONFIG_SCSI_PATA_CS5520 is not set -# CONFIG_SCSI_PATA_CS5530 is not set -# CONFIG_SCSI_PATA_CYPRESS is not set -# CONFIG_SCSI_PATA_EFAR is not set -# CONFIG_SCSI_ATA_GENERIC is not set -# CONFIG_SCSI_PATA_HPT37X is not set -# CONFIG_SCSI_PATA_HPT3X2N is not set -# CONFIG_SCSI_PATA_HPT3X3 is not set -# CONFIG_SCSI_PATA_ISAPNP is not set -# CONFIG_SCSI_PATA_IT8172 is not set -# CONFIG_SCSI_PATA_IT821X is not set -# CONFIG_SCSI_PATA_LEGACY is not set -# CONFIG_SCSI_PATA_MPIIX is not set -# CONFIG_SCSI_PATA_NETCELL is not set -# CONFIG_SCSI_PATA_OLDPIIX is not set -# CONFIG_SCSI_PATA_OPTI is not set -# CONFIG_SCSI_PATA_PCMCIA is not set -# CONFIG_SCSI_PATA_QDI is not set -# CONFIG_SCSI_PATA_RZ1000 is not set -# CONFIG_SCSI_PATA_SC1200 is not set -# CONFIG_SCSI_PATA_SERVERWORKS is not set -# CONFIG_SCSI_PATA_SIL680 is not set -# CONFIG_SCSI_PATA_SIS is not set -# CONFIG_SCSI_PATA_TRIFLEX is not set -# CONFIG_SCSI_PATA_VIA is not set -# CONFIG_SCSI_PATA_WINBOND is not set +# CONFIG_SCSI_SATA is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_IPS is not set @@ -1088,16 +1094,6 @@ CONFIG_HWMON=y # # -# LED devices -# -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_IXP4XX=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_CPU_ACTIVITY=y - -# # Multimedia devices # CONFIG_VIDEO_DEV=m @@ -1298,6 +1294,7 @@ CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_DPCM is not set # CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_SDDR09 is not set |