-Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-power.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-power.c 2008-01-11 17:06:33.000000000 +1030
-@@ -0,0 +1,89 @@
-+/*
-+ * arch/arm/mach-ixp4xx/fsg-power.c
-+ *
-+ * FSG Power/Reset driver
-+ *
-+ * Copyright (C) 2008 Rod Whitby <rod@whitby.id.au>
-+ *
-+ * based on nslu2-power.c
-+ * Copyright (C) 2005 Tower Technologies
-+ *
-+ * 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 <linux/irq.h>
-+#include <linux/jiffies.h>
-+#include <linux/timer.h>
-+
-+#include <asm/gpio.h>
-+#include <asm/mach-types.h>
-+
-+static irqreturn_t fsg_power_handler(int irq, void *dev_id)
-+{
-+ /* 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 fsg_reset_handler(int irq, void *dev_id)
-+{
-+ /* This is the paper-clip reset, it shuts the machine down directly.
-+ */
-+ machine_power_off();
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static int __init fsg_power_init(void)
-+{
-+ if (!(machine_is_fsg()))
-+ return 0;
-+
-+ set_irq_type(gpio_to_irq(FSG_RB_GPIO), IRQT_LOW);
-+ set_irq_type(gpio_to_irq(FSG_SB_GPIO), IRQT_LOW);
-+
-+ if (request_irq(gpio_to_irq(FSG_RB_GPIO), &fsg_reset_handler,
-+ IRQF_DISABLED, "FSG reset button", NULL) < 0) {
-+
-+ printk(KERN_DEBUG "Reset Button IRQ %d not available\n",
-+ gpio_to_irq(FSG_RB_GPIO));
-+
-+ return -EIO;
-+ }
-+
-+ if (request_irq(gpio_to_irq(FSG_SB_GPIO), &fsg_power_handler,
-+ IRQF_DISABLED, "FSG power button", NULL) < 0) {
-+
-+ printk(KERN_DEBUG "Power Button IRQ %d not available\n",
-+ gpio_to_irq(FSG_SB_GPIO));
-+
-+ return -EIO;
-+ }
-+
-+ return 0;
-+}
-+
-+static void __exit fsg_power_exit(void)
-+{
-+ if (!(machine_is_fsg()))
-+ return;
-+
-+ free_irq(gpio_to_irq(FSG_SB_GPIO), NULL);
-+ free_irq(gpio_to_irq(FSG_RB_GPIO), NULL);
-+}
-+
-+module_init(fsg_power_init);
-+module_exit(fsg_power_exit);
-+
-+MODULE_AUTHOR("Rod Whitby <rod@whitby.id.au>");
-+MODULE_DESCRIPTION("FSG Power/Reset driver");
-+MODULE_LICENSE("GPL");
-Index: linux-2.6.23.12-armeb/drivers/leds/Kconfig