diff options
| author | Graeme Gregory <dp@xora.org.uk> | 2006-03-20 12:20:09 +0000 |
|---|---|---|
| committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-03-20 12:20:09 +0000 |
| commit | ae5317921527686b3a0ec41e0e86cd5cdbd973da (patch) | |
| tree | caee53d657c3c0a26cc3bd3e04c9a10ae896fa55 /packages | |
| parent | 741855bef6c2ba84ef374d19afba1ad101f4cbf2 (diff) | |
| parent | 08c9337a82e50e26565453b3242396a127ef98c2 (diff) | |
merge of da1dc40350663056197750a19f00a46d20e267bf
and eef84004dea20080082b6e55d342f2a6fbe75b8e
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/linux/ixp4xx-kernel/2.6.16/15-jffs2-endian-config.patch | 1 | ||||
| -rw-r--r-- | packages/linux/ixp4xx-kernel/2.6.16/92-nas100d-maclist.patch | 3 | ||||
| -rw-r--r-- | packages/linux/ixp4xx-kernel/2.6.16/92-nslu2-maclist.patch | 31 | ||||
| -rw-r--r-- | packages/linux/ixp4xx-kernel/2.6.16/951-ixp4xx-leds-cpu-activity.patch | 5 | ||||
| -rw-r--r-- | packages/linux/ixp4xx-kernel/2.6.16/defconfig | 76 | ||||
| -rw-r--r-- | packages/linux/ixp4xx-kernel/2.6.16/leds-class.patch | 891 | ||||
| -rw-r--r-- | packages/linux/ixp4xx-kernel_2.6.16.bb (renamed from packages/linux/ixp4xx-kernel_2.6.16-rc4-git9.bb) | 15 |
7 files changed, 536 insertions, 486 deletions
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/15-jffs2-endian-config.patch b/packages/linux/ixp4xx-kernel/2.6.16/15-jffs2-endian-config.patch index 0dcbdaeadd..893353ef4f 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/15-jffs2-endian-config.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/15-jffs2-endian-config.patch @@ -9,6 +9,7 @@ executables) independent of the endianness of the processor (ARM processors can be switched to either endianness at run-time). Signed-off-by: Rod Whitby <rod@whitby.id.au> +Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> fs/Kconfig | 25 +++++++++++++++++++++++++ fs/jffs2/nodelist.h | 8 +++----- diff --git a/packages/linux/ixp4xx-kernel/2.6.16/92-nas100d-maclist.patch b/packages/linux/ixp4xx-kernel/2.6.16/92-nas100d-maclist.patch index 4c89a4bcce..c10a77354b 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/92-nas100d-maclist.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/92-nas100d-maclist.patch @@ -14,7 +14,7 @@ NAS 100d device. For more information on this platform, --- linux-nslu2.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-06 20:37:01.000000000 +0100 +++ linux-nslu2/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-06 22:35:26.000000000 +0100 -@@ -15,11 +15,14 @@ +@@ -15,12 +15,15 @@ #include <linux/kernel.h> #include <linux/serial.h> #include <linux/serial_8250.h> @@ -23,6 +23,7 @@ #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/flash.h> + #include <asm/setup.h> +#include <net/maclist.h> + diff --git a/packages/linux/ixp4xx-kernel/2.6.16/92-nslu2-maclist.patch b/packages/linux/ixp4xx-kernel/2.6.16/92-nslu2-maclist.patch index 298a3d92bb..a280a49e6f 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/92-nslu2-maclist.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/92-nslu2-maclist.patch @@ -1,22 +1,9 @@ - arch/arm/mach-ixp4xx/Kconfig | 4 +-- + arch/arm/mach-ixp4xx/Kconfig | 1 arch/arm/mach-ixp4xx/nslu2-setup.c | 39 +++++++++++++++++++++++++++++++++++++ - 2 files changed, 41 insertions(+), 2 deletions(-) + 2 files changed, 40 insertions(+) ---- linux-ixp4xx.orig/arch/arm/mach-ixp4xx/Kconfig 2006-02-23 18:30:58.000000000 +0100 -+++ linux-ixp4xx/arch/arm/mach-ixp4xx/Kconfig 2006-02-23 18:31:00.000000000 +0100 -@@ -11,8 +11,8 @@ comment "IXP4xx Platforms" - # This entry is placed on top because otherwise it would have - # been shown as a submenu. - config MACH_NSLU2 -- bool -- prompt "NSLU2" if !(MACH_IXDP465 || MACH_IXDPG425 || ARCH_IXDP425 || ARCH_ADI_COYOTE || ARCH_AVILA || ARCH_IXCDP1100 || ARCH_PRPMC1100 || MACH_GTWX5715) -+ bool "NSLU2" -+ select MACLIST - help - Say 'Y' here if you want your kernel to support Linksys's - NSLU2 NAS device. For more information on this platform, ---- linux-ixp4xx.orig/arch/arm/mach-ixp4xx/nslu2-setup.c 2006-02-23 18:30:49.000000000 +0100 -+++ linux-ixp4xx/arch/arm/mach-ixp4xx/nslu2-setup.c 2006-02-23 18:31:00.000000000 +0100 +--- linux-ixp4xx.orig/arch/arm/mach-ixp4xx/nslu2-setup.c 2006-03-08 10:33:10.000000000 +0100 ++++ linux-ixp4xx/arch/arm/mach-ixp4xx/nslu2-setup.c 2006-03-08 10:33:14.000000000 +0100 @@ -16,11 +16,14 @@ #include <linux/kernel.h> #include <linux/serial.h> @@ -82,3 +69,13 @@ ixp4xx_sys_init(); nslu2_flash_resource.start = IXP4XX_EXP_BUS_BASE(0); +--- linux-ixp4xx.orig/arch/arm/mach-ixp4xx/Kconfig 2006-03-08 10:33:12.000000000 +0100 ++++ linux-ixp4xx/arch/arm/mach-ixp4xx/Kconfig 2006-03-08 10:33:22.000000000 +0100 +@@ -11,6 +11,7 @@ comment "IXP4xx Platforms" + config MACH_NSLU2 + bool + prompt "Linksys NSLU2" ++ select MACLIST + help + Say 'Y' here if you want your kernel to support Linksys's + NSLU2 NAS device. For more information on this platform, diff --git a/packages/linux/ixp4xx-kernel/2.6.16/951-ixp4xx-leds-cpu-activity.patch b/packages/linux/ixp4xx-kernel/2.6.16/951-ixp4xx-leds-cpu-activity.patch index 92b03836d4..6d4c53026c 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/951-ixp4xx-leds-cpu-activity.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/951-ixp4xx-leds-cpu-activity.patch @@ -21,9 +21,9 @@ Signed-off-by: John Bowler <jbowler@acm.org> #include <linux/init.h> #include <linux/cpu.h> +#include <linux/leds.h> + #include <linux/elfcore.h> #include <asm/leds.h> - #include <asm/processor.h> @@ -80,6 +81,12 @@ void (*pm_power_off)(void); EXPORT_SYMBOL(pm_power_off); @@ -580,7 +580,7 @@ Signed-off-by: John Bowler <jbowler@acm.org> +MODULE_LICENSE("MIT"); --- linux-ixp4xx.orig/include/linux/leds.h 2006-02-21 00:54:33.000000000 +0100 +++ linux-ixp4xx/include/linux/leds.h 2006-02-21 01:03:33.000000000 +0100 -@@ -95,3 +95,12 @@ void led_trigger_event(struct led_trigge +@@ -102,4 +102,13 @@ void led_trigger_event(struct led_trigge #define led_trigger_event(x, y) do {} while(0) #endif @@ -593,3 +593,4 @@ Signed-off-by: John Bowler <jbowler@acm.org> + * the arch core to be able to use LEDS_TRIGGER_CPU_ACTIVITY + */ +extern void (*leds_idle)(int is_idle); + #endif /* __LINUX_LEDS_H_INCLUDED */ diff --git a/packages/linux/ixp4xx-kernel/2.6.16/defconfig b/packages/linux/ixp4xx-kernel/2.6.16/defconfig index 3213ff8c1c..9e039e8cc1 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/defconfig +++ b/packages/linux/ixp4xx-kernel/2.6.16/defconfig @@ -13,6 +13,7 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y +CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 # @@ -57,7 +58,7 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_OBSOLETE_MODPARM=y -# CONFIG_MODVERSIONS is not set +CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y @@ -131,7 +132,7 @@ CONFIG_ARCH_IXDP4XX=y # # IXP4xx Options # -CONFIG_IXP4XX_INDIRECT_PCI=y +# CONFIG_IXP4XX_INDIRECT_PCI is not set # # Processor Type @@ -165,7 +166,7 @@ CONFIG_PCI=y # # Kernel Features # -# CONFIG_PREEMPT is not set +CONFIG_PREEMPT=y # CONFIG_NO_IDLE_HZ is not set # CONFIG_AEABI is not set # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set @@ -577,11 +578,11 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=4 CONFIG_BLK_DEV_RAM_SIZE=10240 -CONFIG_BLK_DEV_INITRD=y +# CONFIG_BLK_DEV_INITRD is not set CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set -# CONFIG_ATA_OVER_ETH is not set +CONFIG_ATA_OVER_ETH=m # # ATA/ATAPI/MFM/RLL support @@ -592,13 +593,13 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8 # SCSI device support # # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y +CONFIG_SCSI=m CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # -CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SD=m # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set CONFIG_BLK_DEV_SR=m @@ -618,13 +619,13 @@ CONFIG_SCSI_MULTI_LUN=y # # CONFIG_SCSI_SPI_ATTRS is not set # CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set +CONFIG_SCSI_ISCSI_ATTRS=m # CONFIG_SCSI_SAS_ATTRS is not set # # SCSI low-level drivers # -# CONFIG_ISCSI_TCP is not set +CONFIG_ISCSI_TCP=m # CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_ACARD is not set @@ -636,7 +637,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=m # CONFIG_SCSI_SATA_AHCI is not set # CONFIG_SCSI_SATA_SVW is not set # CONFIG_SCSI_ATA_PIIX is not set @@ -654,7 +655,7 @@ CONFIG_SCSI_SATA=y # 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_ARTOP=m # CONFIG_SCSI_PATA_ATIIXP is not set # CONFIG_SCSI_PATA_CMD64X is not set # CONFIG_SCSI_PATA_CS5520 is not set @@ -685,7 +686,7 @@ CONFIG_SCSI_PATA_ARTOP=y # CONFIG_SCSI_PATA_TRIFLEX is not set # CONFIG_SCSI_PATA_VIA is not set # CONFIG_SCSI_PATA_WINBOND is not set -CONFIG_SCSI_PATA_IXP4XX=y +CONFIG_SCSI_PATA_IXP4XX=m # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_IPS is not set @@ -860,10 +861,10 @@ CONFIG_PPP=m # CONFIG_PPP_MULTILINK is not set CONFIG_PPP_FILTER=y CONFIG_PPP_ASYNC=m -# CONFIG_PPP_SYNC_TTY is not set +CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_BSDCOMP=m -# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MPPE=m # CONFIG_PPPOE is not set # CONFIG_SLIP is not set # CONFIG_NET_FC is not set @@ -890,7 +891,7 @@ CONFIG_INPUT=y # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVDEV=m # CONFIG_INPUT_EVBUG is not set # @@ -915,7 +916,21 @@ CONFIG_INPUT_IXP4XX_BEEPER=y # # CONFIG_VT is not set CONFIG_SERIAL_NONSTANDARD=y +# CONFIG_COMPUTONE is not set +# CONFIG_ROCKETPORT is not set +# CONFIG_CYCLADES is not set +# CONFIG_DIGIEPCA is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +# CONFIG_ISI is not set +# CONFIG_SYNCLINKMP is not set +# CONFIG_SYNCLINK_GT is not set CONFIG_N_HDLC=m +# CONFIG_RISCOM8 is not set +# CONFIG_SPECIALIX is not set +# CONFIG_SX is not set +# CONFIG_RIO is not set +# CONFIG_STALDRV is not set # # Serial drivers @@ -933,8 +948,7 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_JSM is not set CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 +# CONFIG_LEGACY_PTYS is not set # # IPMI @@ -951,7 +965,7 @@ CONFIG_WATCHDOG=y # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set -CONFIG_IXP4XX_WATCHDOG=y +CONFIG_IXP4XX_WATCHDOG=m # # PCI-based Watchdog Cards @@ -1042,6 +1056,18 @@ CONFIG_SENSORS_EEPROM=y # CONFIG_SPI_MASTER is not set # +# Dallas's 1-wire bus +# +CONFIG_W1=m +# CONFIG_W1_MATROX is not set +CONFIG_W1_DS9490=m +CONFIG_W1_DS9490_BRIDGE=m +CONFIG_W1_THERM=m +CONFIG_W1_SMEM=m +CONFIG_W1_DS2433=m +CONFIG_W1_DS2433_CRC=y + +# # Hardware Monitoring support # CONFIG_HWMON=m @@ -1141,7 +1167,7 @@ CONFIG_VIDEO_CX88_ALSA=m # CONFIG_VIDEO_EM28XX is not set CONFIG_VIDEO_OVCAMCHIP=m # CONFIG_VIDEO_AUDIO_DECODER is not set -CONFIG_VIDEO_DECODER=m +# CONFIG_VIDEO_DECODER is not set # # Radio Adapters @@ -1276,14 +1302,14 @@ CONFIG_USB_DEVICEFS=y # # USB Host Controller Drivers # -CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD=m CONFIG_USB_EHCI_SPLIT_ISO=y -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_ROOT_HUB_TT=y # CONFIG_USB_ISP116X_HCD is not set -CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD=m # CONFIG_USB_OHCI_BIG_ENDIAN is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_UHCI_HCD=y +CONFIG_USB_UHCI_HCD=m # CONFIG_USB_SL811_HCD is not set # @@ -1300,7 +1326,7 @@ CONFIG_USB_PRINTER=m # # may also be needed; see USB_STORAGE Help for more information # -CONFIG_USB_STORAGE=y +CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set @@ -1311,7 +1337,7 @@ CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_STORAGE_ALAUDA is not set # CONFIG_USB_STORAGE_ONETOUCH is not set -CONFIG_USB_LIBUSUAL=y +# CONFIG_USB_LIBUSUAL is not set # # USB Input Devices diff --git a/packages/linux/ixp4xx-kernel/2.6.16/leds-class.patch b/packages/linux/ixp4xx-kernel/2.6.16/leds-class.patch index 4eaab3070e..c0146b6fe4 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/leds-class.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/leds-class.patch @@ -1,35 +1,63 @@ -Add the foundations of a new LEDs subsystem. This patch adds a class -which presents LED devices within sysfs and allows their brightness to -be controlled. -Signed-off-by: Richard Purdie <rpurdie@rpsys.net> +From: Richard Purdie <rpurdie@rpsys.net> + +Add the foundations of a new LEDs subsystem. This patch adds a class which +presents LED devices within sysfs and allows their brightness to be +controlled. +Signed-off-by: Richard Purdie <rpurdie@rpsys.net> +Cc: Russell King <rmk@arm.linux.org.uk> +Cc: Greg KH <greg@kroah.com> +Signed-off-by: Andrew Morton <akpm@osdl.org> --- + arch/arm/Kconfig | 2 - arch/arm/mach-pxa/corgi.c | 10 + - arch/arm/mach-pxa/spitz.c | 10 + + arch/arm/mach-pxa/corgi.c | 9 + + arch/arm/mach-pxa/spitz.c | 9 + arch/arm/mach-pxa/tosa.c | 9 + drivers/Kconfig | 2 drivers/Makefile | 1 - drivers/ide/ide-disk.c | 17 ++ + drivers/ide/ide-disk.c | 22 +++ drivers/leds/Kconfig | 70 +++++++++++ drivers/leds/Makefile | 15 ++ - drivers/leds/led-class.c | 164 +++++++++++++++++++++++++++ - drivers/leds/led-core.c | 24 ++++ - drivers/leds/led-triggers.c | 236 ++++++++++++++++++++++++++++++++++++++++ + drivers/leds/led-class.c | 174 +++++++++++++++++++++++++++++ + drivers/leds/led-core.c | 25 ++++ + drivers/leds/led-triggers.c | 239 ++++++++++++++++++++++++++++++++++++++++ drivers/leds/leds-corgi.c | 121 ++++++++++++++++++++ - drivers/leds/leds-ixp4xx-gpio.c | 209 +++++++++++++++++++++++++++++++++++ - drivers/leds/leds-locomo.c | 91 +++++++++++++++ - drivers/leds/leds-spitz.c | 125 +++++++++++++++++++++ - drivers/leds/leds-tosa.c | 123 ++++++++++++++++++++ - drivers/leds/leds.h | 36 ++++++ - drivers/leds/ledtrig-timer.c | 205 ++++++++++++++++++++++++++++++++++ + drivers/leds/leds-ixp4xx-gpio.c | 215 +++++++++++++++++++++++++++++++++++ + drivers/leds/leds-locomo.c | 95 +++++++++++++++ + drivers/leds/leds-spitz.c | 125 ++++++++++++++++++++ + drivers/leds/leds-tosa.c | 131 +++++++++++++++++++++ + drivers/leds/leds.h | 45 +++++++ + drivers/leds/ledtrig-timer.c | 174 +++++++++++++++++++++++++++++ drivers/mtd/nand/nand_base.c | 26 ++++ - include/linux/leds.h | 97 ++++++++++++++++ - 21 files changed, 1590 insertions(+), 3 deletions(-) + include/linux/leds.h | 105 +++++++++++++++++ + 21 files changed, 1610 insertions(+), 4 deletions(-) +--- linux-ixp4xx.orig/arch/arm/Kconfig 2006-03-07 22:57:47.000000000 +0100 ++++ linux-ixp4xx/arch/arm/Kconfig 2006-03-07 22:59:04.000000000 +0100 +@@ -807,6 +807,8 @@ source "drivers/misc/Kconfig" + + source "drivers/mfd/Kconfig" + ++source "drivers/leds/Kconfig" ++ + source "drivers/media/Kconfig" + + source "drivers/video/Kconfig" +--- linux-ixp4xx.orig/drivers/Kconfig 2006-03-07 22:57:47.000000000 +0100 ++++ linux-ixp4xx/drivers/Kconfig 2006-03-07 22:59:04.000000000 +0100 +@@ -64,6 +64,8 @@ source "drivers/usb/Kconfig" + + source "drivers/mmc/Kconfig" + ++source "drivers/leds/Kconfig" ++ + source "drivers/infiniband/Kconfig" + + source "drivers/sn/Kconfig" --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-ixp4xx/drivers/leds/Kconfig 2006-02-23 18:17:40.000000000 +0100 ++++ linux-ixp4xx/drivers/leds/Kconfig 2006-03-07 22:59:04.000000000 +0100 @@ -0,0 +1,70 @@ + +menu "LED devices" @@ -102,197 +130,8 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> +endmenu + --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-ixp4xx/drivers/leds/Makefile 2006-02-23 18:17:40.000000000 +0100 -@@ -0,0 +1,15 @@ -+ -+# LED Core -+obj-$(CONFIG_NEW_LEDS) += led-core.o -+obj-$(CONFIG_LEDS_CLASS) += led-class.o -+obj-$(CONFIG_LEDS_TRIGGERS) += led-triggers.o -+ -+# LED Platform Drivers -+obj-$(CONFIG_LEDS_CORGI) += leds-corgi.o -+obj-$(CONFIG_LEDS_LOCOMO) += leds-locomo.o -+obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o -+obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o -+obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o -+ -+# LED Triggers -+obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-ixp4xx/include/linux/leds.h 2006-02-23 18:17:40.000000000 +0100 -@@ -0,0 +1,97 @@ -+/* -+ * Driver model for leds and led triggers -+ * -+ * Copyright (C) 2005 John Lenz <lenz@cs.wisc.edu> -+ * Copyright (C) 2005 Richard Purdie <rpurdie@openedhand.com> -+ * -+ * 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. -+ * -+ */ -+ -+struct device; -+struct class_device; -+/* -+ * LED Core -+ */ -+ -+enum led_brightness { -+ LED_OFF = 0, -+ LED_HALF = 127, -+ LED_FULL = 255, -+}; -+ -+struct led_classdev { -+ const char *name; -+ int brightness; -+ int flags; -+#define LED_SUSPENDED (1 << 0) -+ -+ /* A function to set the brightness of the led */ -+ void (*brightness_set)(struct led_classdev *led_cdev, enum led_brightness brightness); -+ -+ struct class_device *class_dev; -+ /* LED Device linked list */ -+ struct list_head node; -+ -+ /* Trigger data */ -+ char *default_trigger; -+#ifdef CONFIG_LEDS_TRIGGERS -+ struct led_trigger *trigger; -+ struct list_head trig_list; -+ void *trigger_data; -+#endif -+ -+ /* This protects the data in this structure */ -+ rwlock_t lock; -+}; -+ -+extern int led_classdev_register(struct device *parent, struct led_classdev *led_cdev); -+extern void led_classdev_unregister(struct led_classdev *led_cdev); -+extern void led_classdev_suspend(struct led_classdev *led_cdev); -+extern void led_classdev_resume(struct led_classdev *led_cdev); -+ -+ -+/* -+ * LED Triggers -+ */ -+#ifdef CONFIG_LEDS_TRIGGERS -+ -+#define TRIG_NAME_MAX 50 -+ -+struct led_trigger { -+ /* Trigger Properties */ -+ const char *name; -+ void (*activate)(struct led_classdev *led_cdev); -+ void (*deactivate)(struct led_classdev *led_cdev); -+ -+ /* LEDs under control by this trigger (for simple triggers) */ -+ rwlock_t leddev_list_lock; -+ struct list_head led_cdevs; -+ -+ /* Link to next registered trigger */ -+ struct list_head next_trig; -+}; -+ -+/* Registration functions for complex triggers */ -+int led_trigger_register(struct led_trigger *trigger); -+void led_trigger_unregister(struct led_trigger *trigger); -+ -+/* Registration functions for simple triggers */ -+#define INIT_LED_TRIGGER(x) static struct led_trigger *x; -+#define INIT_LED_TRIGGER_GLOBAL(x) struct led_trigger *x; -+void led_trigger_register_simple(const char *name, struct led_trigger **trigger); -+void led_trigger_unregister_simple(struct led_trigger *trigger); -+void led_trigger_event(struct led_trigger *trigger, enum led_brightness event); -+ -+#else -+ -+/* Triggers aren't active - null macros */ -+#define INIT_LED_TRIGGER(x) -+#define INIT_LED_TRIGGER_GLOBAL(x) -+#define led_trigger_register_simple(x, y) do {} while(0) -+#define led_trigger_unregister_simple(x) do {} while(0) -+#define led_trigger_event(x, y) do {} while(0) -+ -+#endif ---- linux-ixp4xx.orig/arch/arm/Kconfig 2006-02-23 18:13:35.000000000 +0100 -+++ linux-ixp4xx/arch/arm/Kconfig 2006-02-23 18:17:40.000000000 +0100 -@@ -807,6 +807,8 @@ source "drivers/misc/Kconfig" - - source "drivers/mfd/Kconfig" - -+source "drivers/leds/Kconfig" -+ - source "drivers/media/Kconfig" - - source "drivers/video/Kconfig" ---- linux-ixp4xx.orig/drivers/Makefile 2006-02-23 18:13:35.000000000 +0100 -+++ linux-ixp4xx/drivers/Makefile 2006-02-23 18:17:40.000000000 +0100 -@@ -68,6 +68,7 @@ obj-$(CONFIG_MCA) += mca/ - obj-$(CONFIG_EISA) += eisa/ - obj-$(CONFIG_CPU_FREQ) += cpufreq/ - obj-$(CONFIG_MMC) += mmc/ -+obj-$(CONFIG_NEW_LEDS) += leds/ - obj-$(CONFIG_INFINIBAND) += infiniband/ - obj-$(CONFIG_SGI_SN) += sn/ - obj-y += firmware/ ---- linux-ixp4xx.orig/drivers/Kconfig 2006-02-23 18:13:35.000000000 +0100 -+++ linux-ixp4xx/drivers/Kconfig 2006-02-23 18:17:40.000000000 +0100 -@@ -64,6 +64,8 @@ source "drivers/usb/Kconfig" - - source "drivers/mmc/Kconfig" - -+source "drivers/leds/Kconfig" -+ - source "drivers/infiniband/Kconfig" - - source "drivers/sn/Kconfig" ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-ixp4xx/drivers/leds/leds.h 2006-02-23 18:17:40.000000000 +0100 -@@ -0,0 +1,36 @@ -+/* -+ * LED Core -+ * -+ * Copyright 2005 Openedhand Ltd. -+ * -+ * Author: Richard Purdie <rpurdie@openedhand.com> -+ * -+ * 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. -+ * -+ */ -+ -+/* led_cdev->lock must be held as write */ -+static inline void led_set_brightness(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ if (value > LED_FULL) -+ value = LED_FULL; -+ led_cdev->brightness = value; -+ if (!(led_cdev->flags & LED_SUSPENDED)) -+ led_cdev->brightness_set(led_cdev, value); -+} -+ -+extern rwlock_t leds_list_lock; -+extern struct list_head leds_list; -+ -+#ifdef CONFIG_LEDS_TRIGGERS -+void led_trigger_set_default(struct led_classdev *led_cdev); -+void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger); -+#else -+#define led_trigger_set_default(x) do {} while(0) -+#define led_trigger_set(x, y) do {} while(0) -+#endif -+ -+ssize_t led_trigger_store(struct class_device *dev, const char *buf, size_t count); -+ssize_t led_trigger_show(struct class_device *dev, char *buf); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-ixp4xx/drivers/leds/led-class.c 2006-02-23 18:17:40.000000000 +0100 -@@ -0,0 +1,164 @@ ++++ linux-ixp4xx/drivers/leds/led-class.c 2006-03-07 22:59:04.000000000 +0100 +@@ -0,0 +1,174 @@ +/* + * LED Class Core + * @@ -321,7 +160,7 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> + +static ssize_t led_brightness_show(struct class_device *dev, char *buf) +{ -+ struct led_classdev *led_cdev = dev->class_data; ++ struct led_classdev *led_cdev = class_get_devdata(dev); + ssize_t ret = 0; + + /* no lock needed for this */ @@ -331,13 +170,14 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> + return ret; +} + -+static ssize_t led_brightness_store(struct class_device *dev, const char *buf, size_t size) ++static ssize_t led_brightness_store(struct class_device *dev, ++ const char *buf, size_t size) +{ -+ struct led_classdev *led_cdev = dev->class_data; ++ struct led_classdev *led_cdev = class_get_devdata(dev); + ssize_t ret = -EINVAL; + char *after; -+ + unsigned long state = simple_strtoul(buf, &after, 10); ++ + if (after - buf > 0) { + ret = after - buf; + write_lock(&led_cdev->lock); @@ -348,8 +188,8 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> + return ret; +} + -+static CLASS_DEVICE_ATTR(brightness, 0644, led_brightness_show, led_brightness_store); -+ ++static CLASS_DEVICE_ATTR(brightness, 0644, led_brightness_show, ++ led_brightness_store); +#ifdef CONFIG_LEDS_TRIGGERS +static CLASS_DEVICE_ATTR(trigger, 0644, led_trigger_show, led_trigger_store); +#endif @@ -365,6 +205,7 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> + led_cdev->brightness_set(led_cdev, 0); + write_unlock(&led_cdev->lock); +} ++EXPORT_SYMBOL_GPL(led_classdev_suspend); + +/** + * led_classdev_resume - resume an led_classdev. @@ -377,6 +218,7 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> + led_cdev->brightness_set(led_cdev, led_cdev->brightness); + write_unlock(&led_cdev->lock); +} ++EXPORT_SYMBOL_GPL(led_classdev_resume); + +/** + * led_classdev_register - register a new object of led_classdev class. @@ -385,30 +227,38 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> + */ +int led_classdev_register(struct device *parent, struct led_classdev *led_cdev) +{ -+ led_cdev->class_dev = class_device_create(leds_class, NULL, 0, parent, "%s", led_cdev->name); ++ led_cdev->class_dev = class_device_create(leds_class, NULL, 0, ++ parent, "%s", led_cdev->name); + if (unlikely(IS_ERR(led_cdev->class_dev))) + return PTR_ERR(led_cdev->class_dev); + + rwlock_init(&led_cdev->lock); -+ led_cdev->class_dev->class_data = led_cdev; ++ class_set_devdata(led_cdev->class_dev, led_cdev); + + /* register the attributes */ -+ class_device_create_file(led_cdev->class_dev, &class_device_attr_brightness); -+#ifdef CONFIG_LEDS_TRIGGERS -+ class_device_create_file(led_cdev->class_dev, &class_device_attr_trigger); -+#endif ++ class_device_create_file(led_cdev->class_dev, ++ &class_device_attr_brightness); + + /* add to the list of leds */ + write_lock(&leds_list_lock); + list_add_tail(&led_cdev->node, &leds_list); + write_unlock(&leds_list_lock); + ++#ifdef CONFIG_LEDS_TRIGGERS ++ rwlock_init(&led_cdev->trigger_lock); ++ + led_trigger_set_default(led_cdev); + -+ printk(KERN_INFO "Registered led device: %s\n", led_cdev->class_dev->class_id); ++ class_device_create_file(led_cdev->class_dev, ++ &class_device_attr_trigger); ++#endif ++ ++ printk(KERN_INFO "Registered led device: %s\n", ++ led_cdev->class_dev->class_id); + + return 0; +} ++EXPORT_SYMBOL_GPL(led_classdev_register); + +/** + * led_classdev_unregister - unregisters a object of led_properties class. @@ -418,13 +268,16 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> + */ +void led_classdev_unregister(struct led_classdev *led_cdev) +{ -+ class_device_remove_file(led_cdev->class_dev, &class_device_attr_brightness); ++ class_device_remove_file(led_cdev->class_dev, ++ &class_device_attr_brightness); +#ifdef CONFIG_LEDS_TRIGGERS -+ class_device_remove_file(led_cdev->class_dev, &class_device_attr_trigger); -+#endif -+ ++ class_device_remove_file(led_cdev->class_dev, ++ &class_device_attr_trigger); ++ write_lock(&led_cdev->trigger_lock); + if (led_cdev->trigger) + led_trigger_set(led_cdev, NULL); ++ write_unlock(&led_cdev->trigger_lock); ++#endif + + class_device_unregister(led_cdev->class_dev); + @@ -432,10 +285,6 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> + list_del(&led_cdev->node); + write_unlock(&leds_list_lock); +} -+ -+EXPORT_SYMBOL_GPL(led_classdev_suspend); -+EXPORT_SYMBOL_GPL(led_classdev_resume); -+EXPORT_SYMBOL_GPL(led_classdev_register); +EXPORT_SYMBOL_GPL(led_classdev_unregister); + +static int __init leds_init(void) @@ -458,8 +307,8 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("LED Class Interface"); --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-ixp4xx/drivers/leds/led-core.c 2006-02-23 18:17:40.000000000 +0100 -@@ -0,0 +1,24 @@ ++++ linux-ixp4xx/drivers/leds/led-core.c 2006-03-07 22:59:04.000000000 +0100 +@@ -0,0 +1,25 @@ +/* + * LED Class Core + * @@ -484,9 +333,194 @@ Signed-off-by: Richard Purdie <rpurdie@rpsys.net> +LIST_HEAD(leds_list); + +EXPORT_SYMBOL_GPL(leds_list); ++EXPORT_SYMBOL_GPL(leds_list_lock); +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-ixp4xx/drivers/leds/leds.h 2006-03-07 22:59:04.000000000 +0100 +@@ -0,0 +1,45 @@ ++/* ++ * LED Core ++ * ++ * Copyright 2005 Openedhand Ltd. ++ * ++ * Author: Richard Purdie <rpurdie@openedhand.com> ++ * ++ * 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. ++ * ++ */ ++#ifndef __LEDS_H_INCLUDED ++#define __LEDS_H_INCLUDED ++ ++#include <linux/leds.h> ++ ++/* led_cdev->lock must be held as write */ ++static inline void led_set_brightness(struct led_classdev *led_cdev, ++ enum led_brightness value) ++{ ++ if (value > LED_FULL) ++ value = LED_FULL; ++ led_cdev->brightness = value; ++ if (!(led_cdev->flags & LED_SUSPENDED)) ++ led_cdev->brightness_set(led_cdev, value); ++} ++ ++extern rwlock_t leds_list_lock; ++extern struct list_head leds_list; ++ ++#ifdef CONFIG_LEDS_TRIGGERS ++void led_trigger_set_default(struct led_classdev *led_cdev); ++void led_trigger_set(struct led_classdev *led_cdev, ++ struct led_trigger *trigger); ++#else ++#define led_trigger_set_default(x) do {} while(0) ++#define led_trigger_set(x, y) do {} while(0) ++#endif ++ ++ssize_t led_trigger_store(struct class_device *dev, const char *buf, ++ size_t count); ++ssize_t led_trigger_show(struct class_device *dev, char *buf); ++ ++#endif /* __LEDS_H_INCLUDED */ +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-ixp4xx/drivers/leds/Makefile 2006-03-07 22:59:04.000000000 +0100 +@@ -0,0 +1,15 @@ ++ ++# LED Core ++obj-$(CONFIG_NEW_LEDS) += led-core.o ++obj-$(CONFIG_LEDS_CLASS) += led-class.o ++obj-$(CONFIG_LEDS_TRIGGERS) += led-triggers.o ++ ++# LED Platform Drivers ++obj-$(CONFIG_LEDS_CORGI) += leds-corgi.o ++obj-$(CONFIG_LEDS_LOCOMO) += leds-locomo.o ++obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o ++obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o ++obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o ++ ++# LED Triggers ++obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o +--- linux-ixp4xx.orig/drivers/Makefile 2006-03-07 22:57:47.000000000 +0100 ++++ linux-ixp4xx/drivers/Makefile 2006-03-07 22:59:04.000000000 +0100 +@@ -68,6 +68,7 @@ obj-$(CONFIG_MCA) += mca/ + obj-$(CONFIG_EISA) += eisa/ + obj-$(CONFIG_CPU_FREQ) += cpufreq/ + obj-$(CONFIG_MMC) += mmc/ ++obj-$(CONFIG_NEW_LEDS) += leds/ + obj-$(CONFIG_INFINIBAND) += infiniband/ + obj-$(CONFIG_SGI_SN) += sn/ + obj-y += firmware/ --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-ixp4xx/drivers/leds/led-triggers.c 2006-02-23 18:17:40.000000000 +0100 -@@ -0,0 +1,236 @@ ++++ linux-ixp4xx/include/linux/leds.h 2006-03-07 22:59:04.000000000 +0100 +@@ -0,0 +1,105 @@ ++/* ++ * Driver model for leds and led triggers ++ * ++ * Copyright (C) 2005 John Lenz <lenz@cs.wisc.edu> ++ * Copyright (C) 2005 Richard Purdie <rpurdie@openedhand.com> ++ * ++ * 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. ++ * ++ */ ++#ifndef __LINUX_LEDS_H_INCLUDED ++#define __LINUX_LEDS_H_INCLUDED ++ ++struct device; ++struct class_device; ++/* ++ * LED Core ++ */ ++ ++enum led_brightness { ++ LED_OFF = 0, ++ LED_HALF = 127, ++ LED_FULL = 255, ++}; ++ ++struct led_classdev { ++ const char *name; ++ int brightness; ++ int flags; ++#define LED_SUSPENDED (1 << 0) ++ ++ /* A function to set the brightness of the led */ ++ void (*brightness_set)(struct led_classdev *led_cdev, ++ enum led_brightness brightness); ++ ++ struct class_device *class_dev; ++ /* LED Device linked list */ ++ struct list_head node; ++ ++ /* Protects the LED properties data above */ ++ rwlock_t lock; ++ ++ /* Trigger data */ ++ char *default_trigger; ++#ifdef CONFIG_LEDS_TRIGGERS ++ rwlock_t trigger_lock; ++ /* Protects the trigger data below */ ++ ++ struct led_trigger *trigger; ++ struct list_head trig_list; ++ void *trigger_data; ++#endif ++}; ++ ++extern int led_classdev_register(struct device *parent, ++ struct led_classdev *led_cdev); ++extern void led_classdev_unregister(struct led_classdev *led_cdev); ++extern void led_classdev_suspend(struct led_classdev *led_cdev); ++extern void led_classdev_resume(struct led_classdev *led_cdev); ++ ++/* ++ * LED Triggers ++ */ ++#ifdef CONFIG_LEDS_TRIGGERS ++ ++#define TRIG_NAME_MAX 50 ++ ++struct led_trigger { ++ /* Trigger Properties */ ++ const char *name; ++ void (*activate)(struct led_classdev *led_cdev); ++ void (*deactivate)(struct led_classdev *led_cdev); ++ ++ /* LEDs under control by this trigger (for simple triggers) */ ++ rwlock_t leddev_list_lock; ++ struct list_head led_cdevs; ++ ++ /* Link to next registered trigger */ ++ struct list_head next_trig; ++}; ++ ++/* Registration functions for complex triggers */ ++int led_trigger_register(struct led_trigger *trigger); ++void led_trigger_unregister(struct led_trigger *trigger); ++ ++/* Registration functions for simple triggers */ ++#define DEFINE_LED_TRIGGER(x) static struct led_trigger *x; ++#define DEFINE_LED_TRIGGER_GLOBAL(x) struct led_trigger *x; ++void led_trigger_register_simple(const char *name, ++ struct led_trigger **trigger); ++void led_trigger_unregister_simple(struct led_trigger *trigger); ++void led_trigger_event(struct led_trigger *trigger, enum led_brightness event); ++ ++#else ++ |
