diff options
Diffstat (limited to 'packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch')
-rw-r--r-- | packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch b/packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch index b5029752ad..7a6dfac9cb 100644 --- a/packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch +++ b/packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch @@ -112,9 +112,9 @@ +} + +subsys_initcall(nslu2_pci_init); ---- linux-2.6.13/.pc/50-nslu2-arch.patch/arch/arm/mach-ixp4xx/nslu2-power.c 2005-10-26 15:19:43.171472071 -0700 -+++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-power.c 2005-10-26 15:23:39.646352497 -0700 -@@ -0,0 +1,92 @@ +--- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-power.c 2005-09-06 00:17:15.000000000 -0700 ++++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-power.c 2005-10-28 15:50:43.554157030 -0700 +@@ -0,0 +1,94 @@ +/* + * arch/arm/mach-ixp4xx/nslu2-power.c + * @@ -140,20 +140,22 @@ + +#include <asm/mach-types.h> + ++extern void ctrl_alt_del(void); ++ +static irqreturn_t nslu2_power_handler(int irq, void *dev_id, struct pt_regs *regs) +{ -+ /* Signal init to do the ctrlaltdel action */ -+ kill_proc(1, SIGINT, 1); ++ /* 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 irqreturn_t nslu2_reset_handler(int irq, void *dev_id, struct pt_regs *regs) +{ -+ /* FIXME This doesn't reset the NSLU2. It powers it off. -+ * Close enough, since reset is unreliable ++ /* This is the paper-clip reset, it shuts the machine down directly. + */ -+ + machine_power_off(); + + return IRQ_HANDLED; @@ -261,19 +263,19 @@ + .name = "IXP4XX-I2C", + .id = 0, + .dev.platform_data = &nslu2_i2c_gpio_pins, -+ .num_resources = 0 ++ .num_resources = 0, +}; + +static struct resource nslu2_uart_resources[] = { + { + .start = IXP4XX_UART1_BASE_PHYS, + .end = IXP4XX_UART1_BASE_PHYS + 0x0fff, -+ .flags = IORESOURCE_MEM ++ .flags = IORESOURCE_MEM, + }, + { + .start = IXP4XX_UART2_BASE_PHYS, + .end = IXP4XX_UART2_BASE_PHYS + 0x0fff, -+ .flags = IORESOURCE_MEM ++ .flags = IORESOURCE_MEM, + } +}; + @@ -304,18 +306,18 @@ + .id = PLAT8250_DEV_PLATFORM, + .dev.platform_data = nslu2_uart_data, + .num_resources = 2, -+ .resource = nslu2_uart_resources ++ .resource = nslu2_uart_resources, +}; + +static struct platform_device *nslu2_devices[] __initdata = { + &nslu2_i2c_controller, + &nslu2_flash, -+ &nslu2_uart ++ &nslu2_uart, +}; + +static void nslu2_power_off(void) +{ -+ /* This causes the box to drop the power and go dead. */ ++ /* This causes the box to drop the power and go dead. */ + + /* enable the pwr cntl gpio */ + gpio_line_config(NSLU2_PO_GPIO, IXP4XX_GPIO_OUT); @@ -340,8 +342,8 @@ + .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xFFFC, + .boot_params = 0x00000100, + .map_io = ixp4xx_map_io, -+ .init_irq = ixp4xx_init_irq, /* FIXME: all irq are off here */ -+ .timer = &ixp4xx_timer, ++ .init_irq = ixp4xx_init_irq, ++ .timer = &ixp4xx_timer, + .init_machine = nslu2_init, +MACHINE_END --- linux-2.6.13/.pc/50-nslu2-arch.patch/include/asm-arm/arch-ixp4xx/hardware.h 2005-10-26 15:19:37.451112111 -0700 |