diff options
-rw-r--r-- | packages/linux/linux-rp-2.6.20/defconfig-c7x0 | 2 | ||||
-rw-r--r-- | packages/linux/linux-rp-2.6.20/sharpsl-rc-r1.patch (renamed from packages/linux/linux-rp-2.6.20/sharpsl-rc-r0.patch) | 58 | ||||
-rw-r--r-- | packages/linux/linux-rp_2.6.20.bb | 4 |
3 files changed, 46 insertions, 18 deletions
diff --git a/packages/linux/linux-rp-2.6.20/defconfig-c7x0 b/packages/linux/linux-rp-2.6.20/defconfig-c7x0 index 73d826ff24..ad7fca8861 100644 --- a/packages/linux/linux-rp-2.6.20/defconfig-c7x0 +++ b/packages/linux/linux-rp-2.6.20/defconfig-c7x0 @@ -1606,4 +1606,4 @@ CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y -CONFIG_SHARPSL_RC=n +CONFIG_SHARPSL_RC=m diff --git a/packages/linux/linux-rp-2.6.20/sharpsl-rc-r0.patch b/packages/linux/linux-rp-2.6.20/sharpsl-rc-r1.patch index 9761f43aca..8230d53392 100644 --- a/packages/linux/linux-rp-2.6.20/sharpsl-rc-r0.patch +++ b/packages/linux/linux-rp-2.6.20/sharpsl-rc-r1.patch @@ -62,7 +62,7 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c =================================================================== --- /dev/null +++ linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c -@@ -0,0 +1,263 @@ +@@ -0,0 +1,291 @@ +/* + * Keyboard driver for Sharp Clamshell Models (SL-Cxx00) + * @@ -86,7 +86,13 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c +#include <linux/module.h> +#include <linux/slab.h> + ++#ifdef CONFIG_MACH_SPITZ +#include <asm/arch/spitz.h> ++#endif ++#ifdef CONFIG_MACH_CORGI ++#include <asm/arch/corgi.h> ++#endif ++ +#include <asm/arch/hardware.h> +#include <asm/arch/pxa-regs.h> +#include <asm/hardware/scoop.h> @@ -101,7 +107,28 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c + unsigned char key; +}; + -+static struct remote_control_key spitz_remote_keys[] = { ++#ifdef CONFIG_MACH_SPITZ ++#define REMOTE_AKIN_PULLUP SPITZ_SCP2_AKIN_PULLUP ++#define REMOTE_SCOOP_DEVICE spitzscoop2_device ++#define REMOTE_GPIO_INT SPITZ_GPIO_AK_INT ++#define REMOTE_IRQ_INT SPITZ_IRQ_GPIO_AK_INT ++static struct remote_control_key remote_keys[] = { ++ { 25, 35, KEY_STOPCD}, ++ { 55, 65, KEY_PLAYPAUSE}, ++ { 85, 95, KEY_NEXTSONG}, ++ { 115, 125, KEY_VOLUMEUP}, ++ { 145, 155, KEY_PREVIOUSSONG}, ++ { 180, 190, KEY_MUTE}, ++ { 215, 225, KEY_VOLUMEDOWN}, ++}; ++#endif ++#ifdef CONFIG_MACH_CORGI ++#define REMOTE_AKIN_PULLUP CORGI_SCP_AKIN_PULLUP ++#define REMOTE_SCOOP_DEVICE corgiscoop_device ++#define REMOTE_GPIO_INT CORGI_GPIO_AK_INT ++#define REMOTE_IRQ_INT CORGI_IRQ_GPIO_AK_INT ++static struct remote_control_key remote_keys[] = { ++ //These need to be fixed for the CE-RH1's values + { 25, 35, KEY_STOPCD}, + { 55, 65, KEY_PLAYPAUSE}, + { 85, 95, KEY_NEXTSONG}, @@ -110,6 +137,7 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c + { 180, 190, KEY_MUTE}, + { 215, 225, KEY_VOLUMEDOWN}, +}; ++#endif + +#define RELEASE_HI 230 +#define MAX_EARPHONE 6 @@ -137,11 +165,11 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c + int i, val; + + val = sharpsl_pm_pxa_read_max1111(MAX1111_REMCOM); -+ for (i = 0; i < ARRAY_SIZE(spitz_remote_keys); ++i) { -+ if (val >= spitz_remote_keys[i].min -+ && val <= spitz_remote_keys[i].max) { -+ printk("get_remocon_raw: VAL=%i, KEY=%i\n", val, spitz_remote_keys[i].key); -+ return spitz_remote_keys[i].key; ++ for (i = 0; i < ARRAY_SIZE(remote_keys); ++i) { ++ if (val >= remote_keys[i].min ++ && val <= remote_keys[i].max) { ++ printk("get_remocon_raw: VAL=%i, KEY=%i\n", val, remote_keys[i].key); ++ return remote_keys[i].key; + } + } + return 0; @@ -158,7 +186,7 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c + data->state = 0; + data->last_key = 0; + -+ reset_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_AKIN_PULLUP); ++ reset_scoop_gpio(&REMOTE_SCOOP_DEVICE.dev, REMOTE_AKIN_PULLUP); + + mod_timer(&data->rctimer, jiffies + msecs_to_jiffies(RC_POLL_MS)); + } @@ -219,7 +247,7 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c + if (timer) { + mod_timer(&data->rctimer, jiffies + msecs_to_jiffies(RC_POLL_MS)); + } else { -+ set_scoop_gpio(&spitzscoop2_device.dev, SPITZ_SCP2_AKIN_PULLUP); ++ set_scoop_gpio(&REMOTE_SCOOP_DEVICE.dev, REMOTE_AKIN_PULLUP); + data->handling_press = 0; + } +} @@ -251,7 +279,7 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c + sharpsl_rc->rctimer.function = sharpsl_rc_timer_callback; + sharpsl_rc->rctimer.data = (unsigned long) sharpsl_rc; + -+ input_dev->name = "Spitz Remote Control"; ++ input_dev->name = "Sharp Remote Control CE-RHX"; + input_dev->phys = "sharpsl_rc/input0"; + input_dev->id.bustype = BUS_HOST; + input_dev->id.vendor = 0x0001; @@ -262,13 +290,13 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c + + input_dev->evbit[0] = BIT(EV_KEY); + -+ for (i = 0; i <= ARRAY_SIZE(spitz_remote_keys); i++) -+ set_bit(spitz_remote_keys[i].key, input_dev->keybit); ++ for (i = 0; i <= ARRAY_SIZE(remote_keys); i++) ++ set_bit(remote_keys[i].key, input_dev->keybit); + + input_register_device(sharpsl_rc->input); + -+ pxa_gpio_mode(SPITZ_GPIO_AK_INT | GPIO_IN); -+ ret = request_irq(SPITZ_IRQ_GPIO_AK_INT, ++ pxa_gpio_mode(REMOTE_GPIO_INT | GPIO_IN); ++ ret = request_irq(REMOTE_IRQ_INT, + sharpsl_rc_interrupt, + IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_SHARED, + "sharpsl_rc", @@ -289,7 +317,7 @@ Index: linux-2.6.20/drivers/input/keyboard/sharpsl_rc.c + + dev_dbg(&pdev->dev, "sharpsl_rc_remove\n"); + -+ free_irq(SPITZ_IRQ_GPIO_AK_INT, sharpsl_rc); ++ free_irq(REMOTE_IRQ_INT, sharpsl_rc); + del_timer_sync(&sharpsl_rc->rctimer); + input_unregister_device(sharpsl_rc->input); + kfree(sharpsl_rc); diff --git a/packages/linux/linux-rp_2.6.20.bb b/packages/linux/linux-rp_2.6.20.bb index d645a0e771..23cf54e794 100644 --- a/packages/linux/linux-rp_2.6.20.bb +++ b/packages/linux/linux-rp_2.6.20.bb @@ -1,6 +1,6 @@ require linux-rp.inc -PR = "r12" +PR = "r13" # Handy URLs # git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046 @@ -54,7 +54,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 \ file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \ file://squashfs3.0-2.6.15.patch;patch=1;status=external \ file://vesafb-tng-1.0-rc2-2.6.20-rc2.patch;patch=1;status=external \ - file://sharpsl-rc-r0.patch;patch=1 \ + file://sharpsl-rc-r1.patch;patch=1 \ file://defconfig-c7x0 \ file://defconfig-hx2000 \ file://defconfig-collie \ |