X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/4799609f176cc5fd57ce590960282f1c1b455391..fc052689d08c5bab3364353f5e9c0e4348ef5657:/target/linux/ixp4xx/patches-2.6.23/030-ixp4xx_fsg_board_support.patch diff --git a/target/linux/ixp4xx/patches-2.6.23/030-ixp4xx_fsg_board_support.patch b/target/linux/ixp4xx/patches-2.6.23/030-ixp4xx_fsg_board_support.patch index a5997f8c3..d3f2f94a2 100644 --- a/target/linux/ixp4xx/patches-2.6.23/030-ixp4xx_fsg_board_support.patch +++ b/target/linux/ixp4xx/patches-2.6.23/030-ixp4xx_fsg_board_support.patch @@ -1,7 +1,7 @@ -Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-pci.c +Index: linux-2.6.23.17/arch/arm/mach-ixp4xx/fsg-pci.c =================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-pci.c 2008-01-09 12:49:07.000000000 +1030 +--- /dev/null ++++ linux-2.6.23.17/arch/arm/mach-ixp4xx/fsg-pci.c @@ -0,0 +1,71 @@ +/* + * arch/arch/mach-ixp4xx/fsg-pci.c @@ -74,10 +74,10 @@ Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-pci.c +} + +subsys_initcall(fsg_pci_init); -Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-setup.c +Index: linux-2.6.23.17/arch/arm/mach-ixp4xx/fsg-setup.c =================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-setup.c 2008-01-09 12:49:07.000000000 +1030 +--- /dev/null ++++ linux-2.6.23.17/arch/arm/mach-ixp4xx/fsg-setup.c @@ -0,0 +1,220 @@ +/* + * arch/arm/mach-ixp4xx/fsg-setup.c @@ -299,11 +299,11 @@ Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-setup.c + .init_machine = fsg_init, +MACHINE_END + -Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/Kconfig +Index: linux-2.6.23.17/arch/arm/mach-ixp4xx/Kconfig =================================================================== ---- linux-2.6.23.12-armeb.orig/arch/arm/mach-ixp4xx/Kconfig 2008-01-09 12:49:04.000000000 +1030 -+++ linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/Kconfig 2008-01-11 13:24:01.000000000 +1030 -@@ -125,6 +125,15 @@ +--- linux-2.6.23.17.orig/arch/arm/mach-ixp4xx/Kconfig ++++ linux-2.6.23.17/arch/arm/mach-ixp4xx/Kconfig +@@ -125,6 +125,15 @@ config ARCH_IXDP4XX depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435 default y @@ -319,11 +319,11 @@ Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/Kconfig # # Certain registers and IRQs are only enabled if supporting IXP465 CPUs # -Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/Makefile +Index: linux-2.6.23.17/arch/arm/mach-ixp4xx/Makefile =================================================================== ---- linux-2.6.23.12-armeb.orig/arch/arm/mach-ixp4xx/Makefile 2008-01-09 12:49:04.000000000 +1030 -+++ linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/Makefile 2008-01-09 12:49:07.000000000 +1030 -@@ -15,6 +15,7 @@ +--- linux-2.6.23.17.orig/arch/arm/mach-ixp4xx/Makefile ++++ linux-2.6.23.17/arch/arm/mach-ixp4xx/Makefile +@@ -15,6 +15,7 @@ obj-pci-$(CONFIG_MACH_NAS100D) += nas10 obj-pci-$(CONFIG_MACH_DSMG600) += dsmg600-pci.o obj-pci-$(CONFIG_MACH_GATEWAY7001) += gateway7001-pci.o obj-pci-$(CONFIG_MACH_WG302V2) += wg302v2-pci.o @@ -331,19 +331,18 @@ Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/Makefile obj-y += common.o -@@ -28,6 +29,7 @@ +@@ -28,5 +29,6 @@ obj-$(CONFIG_MACH_NAS100D) += nas100d-se obj-$(CONFIG_MACH_DSMG600) += dsmg600-setup.o dsmg600-power.o obj-$(CONFIG_MACH_GATEWAY7001) += gateway7001-setup.o obj-$(CONFIG_MACH_WG302V2) += wg302v2-setup.o +obj-$(CONFIG_MACH_FSG) += fsg-setup.o fsg-power.o obj-$(CONFIG_PCI) += $(obj-pci-$(CONFIG_PCI)) common-pci.o - obj-$(CONFIG_IXP4XX_QMGR) += ixp4xx_qmgr.o -Index: linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/fsg.h +Index: linux-2.6.23.17/include/asm-arm/arch-ixp4xx/fsg.h =================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/fsg.h 2008-01-11 13:29:42.000000000 +1030 -@@ -0,0 +1,58 @@ +--- /dev/null ++++ linux-2.6.23.17/include/asm-arm/arch-ixp4xx/fsg.h +@@ -0,0 +1,50 @@ +/* + * include/asm-arm/arch-ixp4xx/fsg.h + * @@ -382,17 +381,9 @@ Index: linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/fsg.h + +/* Buttons */ + -+#define FSG_SB_GPIO 4 -+#define FSG_RB_GPIO 9 -+#define FSG_UB_GPIO 10 -+ -+#define FSG_SB_IRQ IRQ_IXP4XX_GPIO4 -+#define FSG_RB_IRQ IRQ_IXP4XX_GPIO9 -+#define FSG_UB_IRQ IRQ_IXP4XX_GPIO10 -+ -+#define FSG_SB_BM (1L << FSG_SB_GPIO) -+#define FSG_RB_BM (1L << FSG_RB_GPIO) -+#define FSG_UB_BM (1L << FSG_UB_GPIO) ++#define FSG_SB_GPIO 4 /* sync button */ ++#define FSG_RB_GPIO 9 /* reset button */ ++#define FSG_UB_GPIO 10 /* usb button */ + +/* LEDs */ + @@ -402,10 +393,10 @@ Index: linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/fsg.h +#define FSG_LED_USB_BIT 4 +#define FSG_LED_RING_BIT 5 +#define FSG_LED_SYNC_BIT 7 -Index: linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/hardware.h +Index: linux-2.6.23.17/include/asm-arm/arch-ixp4xx/hardware.h =================================================================== ---- linux-2.6.23.12-armeb.orig/include/asm-arm/arch-ixp4xx/hardware.h 2008-01-09 12:49:04.000000000 +1030 -+++ linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/hardware.h 2008-01-09 12:49:07.000000000 +1030 +--- linux-2.6.23.17.orig/include/asm-arm/arch-ixp4xx/hardware.h ++++ linux-2.6.23.17/include/asm-arm/arch-ixp4xx/hardware.h @@ -45,5 +45,6 @@ #include "nslu2.h" #include "nas100d.h" @@ -413,10 +404,10 @@ Index: linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/hardware.h +#include "fsg.h" #endif /* _ASM_ARCH_HARDWARE_H */ -Index: linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/irqs.h +Index: linux-2.6.23.17/include/asm-arm/arch-ixp4xx/irqs.h =================================================================== ---- linux-2.6.23.12-armeb.orig/include/asm-arm/arch-ixp4xx/irqs.h 2008-01-09 12:49:04.000000000 +1030 -+++ linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/irqs.h 2008-01-11 13:30:09.000000000 +1030 +--- linux-2.6.23.17.orig/include/asm-arm/arch-ixp4xx/irqs.h ++++ linux-2.6.23.17/include/asm-arm/arch-ixp4xx/irqs.h @@ -128,4 +128,11 @@ #define IRQ_DSMG600_PCI_INTE IRQ_IXP4XX_GPIO7 #define IRQ_DSMG600_PCI_INTF IRQ_IXP4XX_GPIO6 @@ -429,11 +420,11 @@ Index: linux-2.6.23.12-armeb/include/asm-arm/arch-ixp4xx/irqs.h +#define IRQ_FSG_PCI_INTC IRQ_IXP4XX_GPIO5 + #endif -Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-power.c +Index: linux-2.6.23.17/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 12:47:50.000000000 +1030 -@@ -0,0 +1,88 @@ +--- /dev/null ++++ linux-2.6.23.17/arch/arm/mach-ixp4xx/fsg-power.c +@@ -0,0 +1,89 @@ +/* + * arch/arm/mach-ixp4xx/fsg-power.c + * @@ -457,6 +448,7 @@ Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-power.c +#include +#include + ++#include +#include + +static irqreturn_t fsg_power_handler(int irq, void *dev_id) @@ -483,23 +475,23 @@ Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-power.c + if (!(machine_is_fsg())) + return 0; + -+ set_irq_type(FSG_RB_IRQ, IRQT_LOW); -+ set_irq_type(FSG_SB_IRQ, IRQT_LOW); ++ 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(FSG_RB_IRQ, &fsg_reset_handler, ++ 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", -+ FSG_RB_IRQ); ++ gpio_to_irq(FSG_RB_GPIO)); + + return -EIO; + } + -+ if (request_irq(FSG_SB_IRQ, &fsg_power_handler, ++ 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", -+ FSG_SB_IRQ); ++ gpio_to_irq(FSG_SB_GPIO)); + + return -EIO; + } @@ -512,8 +504,8 @@ Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-power.c + if (!(machine_is_fsg())) + return; + -+ free_irq(FSG_SB_IRQ, NULL); -+ free_irq(FSG_RB_IRQ, NULL); ++ free_irq(gpio_to_irq(FSG_SB_GPIO), NULL); ++ free_irq(gpio_to_irq(FSG_RB_GPIO), NULL); +} + +module_init(fsg_power_init); @@ -522,11 +514,11 @@ Index: linux-2.6.23.12-armeb/arch/arm/mach-ixp4xx/fsg-power.c +MODULE_AUTHOR("Rod Whitby "); +MODULE_DESCRIPTION("FSG Power/Reset driver"); +MODULE_LICENSE("GPL"); -Index: linux-2.6.23.12-armeb/drivers/leds/Kconfig +Index: linux-2.6.23.17/drivers/leds/Kconfig =================================================================== ---- linux-2.6.23.12-armeb.orig/drivers/leds/Kconfig 2008-01-11 13:30:47.000000000 +1030 -+++ linux-2.6.23.12-armeb/drivers/leds/Kconfig 2008-01-11 13:34:34.000000000 +1030 -@@ -48,6 +48,12 @@ +--- linux-2.6.23.17.orig/drivers/leds/Kconfig ++++ linux-2.6.23.17/drivers/leds/Kconfig +@@ -48,6 +48,12 @@ config LEDS_IXP4XX particular board must have LEDs and they must be connected to the GPIO lines. If unsure, say Y. @@ -539,11 +531,11 @@ Index: linux-2.6.23.12-armeb/drivers/leds/Kconfig config LEDS_TOSA tristate "LED Support for the Sharp SL-6000 series" depends on LEDS_CLASS && PXA_SHARPSL -Index: linux-2.6.23.12-armeb/drivers/leds/Makefile +Index: linux-2.6.23.17/drivers/leds/Makefile =================================================================== ---- linux-2.6.23.12-armeb.orig/drivers/leds/Makefile 2008-01-11 13:30:50.000000000 +1030 -+++ linux-2.6.23.12-armeb/drivers/leds/Makefile 2008-01-11 13:34:34.000000000 +1030 -@@ -9,6 +9,7 @@ +--- linux-2.6.23.17.orig/drivers/leds/Makefile ++++ linux-2.6.23.17/drivers/leds/Makefile +@@ -9,6 +9,7 @@ obj-$(CONFIG_LEDS_CORGI) += leds-corgi. obj-$(CONFIG_LEDS_LOCOMO) += leds-locomo.o obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o @@ -551,10 +543,10 @@ Index: linux-2.6.23.12-armeb/drivers/leds/Makefile obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o -Index: linux-2.6.23.12-armeb/drivers/leds/leds-fsg.c +Index: linux-2.6.23.17/drivers/leds/leds-fsg.c =================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.23.12-armeb/drivers/leds/leds-fsg.c 2008-01-11 13:34:34.000000000 +1030 +--- /dev/null ++++ linux-2.6.23.17/drivers/leds/leds-fsg.c @@ -0,0 +1,243 @@ +/* + * LED Driver for the Freecom FSG-3