diff options
author | Michael Lauer <mickey@vanille-media.de> | 2006-06-02 14:32:44 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-06-02 14:32:44 +0000 |
commit | fe2c0499391cae013f559d0376a86868a3614f8b (patch) | |
tree | 635dd0f0dfe506b47247abad9d9fdd28582d3efa | |
parent | aa27b6f89d69864e710637d7411a7a1bcf5a537e (diff) |
linux-ezx: add LED subsystem from 2.6.17, start with LED driver for E680
-rw-r--r-- | packages/linux/linux-ezx/defconfig-e680 | 15 | ||||
-rw-r--r-- | packages/linux/linux-ezx/led_ezx-r0.patch | 174 | ||||
-rw-r--r-- | packages/linux/linux-ezx_2.6.16.13.bb | 30 |
3 files changed, 212 insertions, 7 deletions
diff --git a/packages/linux/linux-ezx/defconfig-e680 b/packages/linux/linux-ezx/defconfig-e680 index ded3c1d670..9f57ea29f8 100644 --- a/packages/linux/linux-ezx/defconfig-e680 +++ b/packages/linux/linux-ezx/defconfig-e680 @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.16.13 -# Thu May 18 19:40:25 2006 +# Fri Jun 2 15:01:31 2006 # CONFIG_ARM=y CONFIG_MMU=y @@ -14,6 +14,7 @@ CONFIG_ARCH_MTD_XIP=y # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y +CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 # @@ -171,7 +172,7 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="mem=32M root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=1 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off console=ttyS2,115200n8 console=tty0" +CONFIG_CMDLINE="console=ttyS2,115200n8 console=tty1 noinitrd root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off debug" # CONFIG_XIP_KERNEL is not set # @@ -847,6 +848,15 @@ CONFIG_SPI_BITBANG=m # # +# LED devices +# +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_EZX=m +CONFIG_LEDS_TRIGGER_TIMER=y + +# # Multimedia devices # # CONFIG_VIDEO_DEV is not set @@ -1220,6 +1230,7 @@ CONFIG_LOG_BUF_SHIFT=14 # CONFIG_DETECT_SOFTLOCKUP is not set # CONFIG_SCHEDSTATS is not set # CONFIG_DEBUG_SLAB is not set +CONFIG_DEBUG_PREEMPT=y # CONFIG_DEBUG_MUTEXES is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set diff --git a/packages/linux/linux-ezx/led_ezx-r0.patch b/packages/linux/linux-ezx/led_ezx-r0.patch new file mode 100644 index 0000000000..6fc2031d86 --- /dev/null +++ b/packages/linux/linux-ezx/led_ezx-r0.patch @@ -0,0 +1,174 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- linux-2.6.16/arch/arm/mach-pxa/ezx.c~led_ezx-r0.patch ++++ linux-2.6.16/arch/arm/mach-pxa/ezx.c +@@ -357,6 +357,15 @@ + .num_resources = ARRAY_SIZE(ezx_backlight_resources), + }; + ++/* ++ * EZX LEDs ++ */ ++static struct platform_device ezxled_device = { ++ .name = "ezx-led", ++ .id = -1, ++}; ++ ++ + /* keyboard */ + + #if defined(CONFIG_PXA_EZX_V700) +@@ -770,6 +779,7 @@ + + static struct platform_device *devices[] __initdata = { + &ezx_bp_device, ++ &ezxled_device, + }; + + static void __init +--- linux-2.6.16/drivers/leds/Kconfig~led_ezx-r0.patch ++++ linux-2.6.16/drivers/leds/Kconfig +@@ -59,6 +59,13 @@ + This option enables support for the LEDs on Sharp Zaurus + SL-6000 series. + ++config LEDS_EZX ++ tristate "LED Support for the Motorola EZX Platform" ++ depends LEDS_CLASS && PXA_EZX && PXA_EZX_E680 ++ help ++ This options enables support for the LEDs on Motorola EZX ++ A780 and E680(i) GSM Phones. ++ + config LEDS_TRIGGER_TIMER + tristate "LED Timer Trigger" + depends LEDS_TRIGGERS +--- linux-2.6.16/drivers/leds/Makefile~led_ezx-r0.patch ++++ linux-2.6.16/drivers/leds/Makefile +@@ -10,7 +10,8 @@ + obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o + obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o + obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o ++obj-$(CONFIG_LEDS_EZX) += leds-ezx.o + + # LED Triggers + obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o +-obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o +\ Kein Zeilenumbruch am Dateiende. ++obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o +--- /dev/null ++++ linux-2.6.16/drivers/leds/leds-ezx.c +@@ -0,0 +1,111 @@ ++/* ++ * EZX Platform LED Driver ++ * ++ * Copyright 2006 Vanille-Media ++ * ++ * Author: Michael Lauer <mickey@Vanille.de> ++ * ++ * 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/kernel.h> ++#include <linux/init.h> ++#include <linux/platform_device.h> ++#include <linux/leds.h> ++//#include <asm/mach-types.h> ++//#include <asm/arch/hardware.h> ++//#include <asm/arch/pxa-regs.h> ++#include "../misc/ezx/ssp_pcap.h" ++ ++static void ezxled_red_set(struct led_classdev *led_cdev, enum led_brightness value) ++{ ++ printk( KERN_DEBUG "exzled_red_set: %d", value ); ++} ++ ++static void ezxled_green_set(struct led_classdev *led_cdev, enum led_brightness value) ++{ ++ printk( KERN_DEBUG "exzled_green_set: %d", value ); ++} ++ ++static struct led_classdev ezx_red_led = { ++ .name = "ezx:red", ++ .default_trigger = "timer", ++ .brightness_set = ezxled_red_set, ++}; ++ ++static struct led_classdev ezx_green_led = { ++ .name = "ezx:green", ++ .default_trigger = "timer", ++ .brightness_set = ezxled_green_set, ++}; ++ ++#ifdef CONFIG_PM ++static int ezxled_suspend(struct platform_device *dev, pm_message_t state) ++{ ++ led_classdev_suspend(&ezx_red_led); ++ led_classdev_suspend(&ezx_green_led); ++ return 0; ++} ++ ++static int ezxled_resume(struct platform_device *dev) ++{ ++ led_classdev_resume(&ezx_red_led); ++ led_classdev_resume(&ezx_green_led); ++ return 0; ++} ++#endif ++ ++static int ezxled_probe(struct platform_device *pdev) ++{ ++ int ret; ++ ++ ret = led_classdev_register(&pdev->dev, &ezx_red_led); ++ if (ret < 0) ++ return ret; ++ ++ ret = led_classdev_register(&pdev->dev, &ezx_green_led); ++ if (ret < 0) ++ led_classdev_unregister(&ezx_red_led); ++ ++ return ret; ++} ++ ++static int ezxled_remove(struct platform_device *pdev) ++{ ++ led_classdev_unregister(&ezx_red_led); ++ led_classdev_unregister(&ezx_green_led); ++ return 0; ++} ++ ++static struct platform_driver ezxled_driver = { ++ .probe = ezxled_probe, ++ .remove = ezxled_remove, ++#ifdef CONFIG_PM ++ .suspend = ezxled_suspend, ++ .resume = ezxled_resume, ++#endif ++ .driver = { ++ .name = "ezx-led", ++ }, ++}; ++ ++static int __init ezxled_init(void) ++{ ++ return platform_driver_register(&ezxled_driver); ++} ++ ++static void __exit ezxled_exit(void) ++{ ++ platform_driver_unregister(&ezxled_driver); ++} ++ ++module_init(ezxled_init); ++module_exit(ezxled_exit); ++ ++MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>"); ++MODULE_DESCRIPTION("EZX LED driver"); ++MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-ezx_2.6.16.13.bb b/packages/linux/linux-ezx_2.6.16.13.bb index 1f0ce506db..d80ceb9134 100644 --- a/packages/linux/linux-ezx_2.6.16.13.bb +++ b/packages/linux/linux-ezx_2.6.16.13.bb @@ -6,18 +6,33 @@ MAINTAINER = "Michael 'Mickey' Lauer <mickey@vanille.de>" LICENSE = "GPL" DEPENDS += "quilt-native" EZX = "ezx6" -PR = "${EZX}-r4" +PR = "${EZX}-r5" inherit kernel FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-ezx" +RPSRC = "http://www.rpsys.net/openzaurus/patches/archive" ############################################################## -# source - +# source and patches +# SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \ http://people.openezx.org/stefan/patches/patches-2.6.16-2.6.16.13-exz6-symlink-fix.tar.bz2 \ file://touchscreen-fix-r0.patch;patch=1 \ + \ + ${RPSRC}/led_core-r15.patch;patch=1 \ + ${RPSRC}/led_triggers-r14.patch;patch=1 \ + ${RPSRC}/led_trig_timer-r8.patch;patch=1 \ + ${RPSRC}/led_trig_sharpsl_pm-r5.patch;patch=1 \ + ${RPSRC}/led_zaurus-r10.patch;patch=1 \ + ${RPSRC}/led_locomo-r7.patch;patch=1 \ + ${RPSRC}/led_ixp4xx-r2.patch;patch=1 \ + ${RPSRC}/led_tosa-r5.patch;patch=1 \ + ${RPSRC}/led_ide-r6.patch;patch=1 \ + ${RPSRC}/led_nand-r3.patch;patch=1 \ + \ + file://led_ezx-r0.patch;patch=1 \ + \ file://e680-keypad-compile-HACK.patch;patch=1 \ file://e680-disable-boomer-HACK.patch;patch=1 \ file://defconfig-a780 \ @@ -51,7 +66,7 @@ do_ezxpatch() { } do_configure() { - rm -f ${S}/.config + mv ${S}/.config harald.config if [ ! -e ${WORKDIR}/defconfig-${MACHINE} ]; then die "No default configuration for ${MACHINE} available." @@ -79,7 +94,9 @@ do_configure() { yes '' | oe_runmake oldconfig } -# Check the kernel is below the 1024*1024 byte limit for the boot-over usb +############################################################### +# check the kernel is below the 1024*1024 byte limit for the boot-over usb +# do_compile_append() { size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'` if [ $size -ge 1294336 ]; then @@ -89,6 +106,9 @@ do_compile_append() { fi } +############################################################### +# put into deploy directory +# do_deploy() { install -d ${DEPLOY_DIR_IMAGE} install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin |