diff options
author | Marcin Juszkiewicz <hrw@openedhand.com> | 2008-07-29 10:15:13 +0000 |
---|---|---|
committer | Marcin Juszkiewicz <hrw@openedhand.com> | 2008-07-29 10:15:13 +0000 |
commit | a25796619817e56ce1bf96fce39c967de137e09a (patch) | |
tree | 660472b20b83f230df1415d7a45b6beed3d01fd6 /meta/packages | |
parent | f7ba3aad313257b7fcd73ed09f12f1646c400d5a (diff) | |
download | poky-a25796619817e56ce1bf96fce39c967de137e09a.tar.gz |
linux-rp: refreshed sharpsl-rc patch
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4978 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages')
-rw-r--r-- | meta/packages/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch | 231 |
1 files changed, 139 insertions, 92 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch b/meta/packages/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch index 93fac307aa..c4b95ad4f8 100644 --- a/meta/packages/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch +++ b/meta/packages/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch | |||
@@ -8,11 +8,60 @@ It is not clean enough to be upstreamed: | |||
8 | * linear input device | 8 | * linear input device |
9 | * virtual keyboard on top of linear input device | 9 | * virtual keyboard on top of linear input device |
10 | 10 | ||
11 | Index: linux-2.6.26-rc4/arch/arm/mach-pxa/spitz.c | 11 | --- |
12 | =================================================================== | 12 | arch/arm/mach-pxa/sharpsl.h | 7 |
13 | --- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/spitz.c 2008-06-02 00:20:03.000000000 +0100 | 13 | arch/arm/mach-pxa/sharpsl_pm.c | 2 |
14 | +++ linux-2.6.26-rc4/arch/arm/mach-pxa/spitz.c 2008-06-02 00:20:05.000000000 +0100 | 14 | arch/arm/mach-pxa/spitz.c | 8 |
15 | @@ -261,6 +261,13 @@ | 15 | arch/arm/mach-pxa/spitz_pm.c | 7 |
16 | drivers/input/keyboard/Kconfig | 11 + | ||
17 | drivers/input/keyboard/Makefile | 1 | ||
18 | drivers/input/keyboard/sharpsl_rc.c | 319 ++++++++++++++++++++++++++++++++++ | ||
19 | drivers/input/keyboard/spitzkbd.c | 27 ++ | ||
20 | include/asm-arm/hardware/sharpsl_pm.h | 7 | ||
21 | include/linux/input.h | 1 | ||
22 | 10 files changed, 382 insertions(+), 8 deletions(-) | ||
23 | |||
24 | --- linux-2.6.26.orig/arch/arm/mach-pxa/sharpsl.h | ||
25 | +++ linux-2.6.26/arch/arm/mach-pxa/sharpsl.h | ||
26 | @@ -35,17 +35,12 @@ void corgi_lcdtg_hw_init(int mode); | ||
27 | /* | ||
28 | * SharpSL Battery/PM Driver | ||
29 | */ | ||
30 | #define READ_GPIO_BIT(x) (GPLR(x) & GPIO_bit(x)) | ||
31 | |||
32 | -/* MAX1111 Channel Definitions */ | ||
33 | -#define MAX1111_BATT_VOLT 4u | ||
34 | -#define MAX1111_BATT_TEMP 2u | ||
35 | -#define MAX1111_ACIN_VOLT 6u | ||
36 | - | ||
37 | extern struct battery_thresh spitz_battery_levels_acin[]; | ||
38 | extern struct battery_thresh spitz_battery_levels_noac[]; | ||
39 | void sharpsl_pm_pxa_init(void); | ||
40 | void sharpsl_pm_pxa_remove(void); | ||
41 | -int sharpsl_pm_pxa_read_max1111(int channel); | ||
42 | + | ||
43 | |||
44 | |||
45 | --- linux-2.6.26.orig/arch/arm/mach-pxa/sharpsl_pm.c | ||
46 | +++ linux-2.6.26/arch/arm/mach-pxa/sharpsl_pm.c | ||
47 | @@ -134,10 +134,12 @@ int sharpsl_pm_pxa_read_max1111(int chan | ||
48 | |||
49 | return corgi_ssp_max1111_get((channel << MAXCTRL_SEL_SH) | MAXCTRL_PD0 | MAXCTRL_PD1 | ||
50 | | MAXCTRL_SGL | MAXCTRL_UNI | MAXCTRL_STR); | ||
51 | } | ||
52 | |||
53 | +EXPORT_SYMBOL(sharpsl_pm_pxa_read_max1111); | ||
54 | + | ||
55 | void sharpsl_pm_pxa_init(void) | ||
56 | { | ||
57 | pxa_gpio_mode(sharpsl_pm.machinfo->gpio_acin | GPIO_IN); | ||
58 | pxa_gpio_mode(sharpsl_pm.machinfo->gpio_batfull | GPIO_IN); | ||
59 | pxa_gpio_mode(sharpsl_pm.machinfo->gpio_batlock | GPIO_IN); | ||
60 | --- linux-2.6.26.orig/arch/arm/mach-pxa/spitz.c | ||
61 | +++ linux-2.6.26/arch/arm/mach-pxa/spitz.c | ||
62 | @@ -259,10 +259,17 @@ static struct platform_device spitzbl_de | ||
63 | static struct platform_device spitzkbd_device = { | ||
64 | .name = "spitz-keyboard", | ||
16 | .id = -1, | 65 | .id = -1, |
17 | }; | 66 | }; |
18 | 67 | ||
@@ -26,7 +75,11 @@ Index: linux-2.6.26-rc4/arch/arm/mach-pxa/spitz.c | |||
26 | 75 | ||
27 | /* | 76 | /* |
28 | * Spitz LEDs | 77 | * Spitz LEDs |
29 | @@ -522,6 +529,7 @@ | 78 | */ |
79 | static struct platform_device spitzled_device = { | ||
80 | @@ -520,10 +527,11 @@ static struct pxafb_mach_info spitz_pxaf | ||
81 | |||
82 | static struct platform_device *devices[] __initdata = { | ||
30 | &spitzscoop_device, | 83 | &spitzscoop_device, |
31 | &spitzssp_device, | 84 | &spitzssp_device, |
32 | &spitzkbd_device, | 85 | &spitzkbd_device, |
@@ -34,11 +87,33 @@ Index: linux-2.6.26-rc4/arch/arm/mach-pxa/spitz.c | |||
34 | &spitzts_device, | 87 | &spitzts_device, |
35 | &spitzbl_device, | 88 | &spitzbl_device, |
36 | &spitzled_device, | 89 | &spitzled_device, |
37 | Index: linux-2.6.26-rc4/drivers/input/keyboard/Kconfig | 90 | }; |
38 | =================================================================== | 91 | |
39 | --- linux-2.6.26-rc4.orig/drivers/input/keyboard/Kconfig 2008-06-02 00:20:03.000000000 +0100 | 92 | --- linux-2.6.26.orig/arch/arm/mach-pxa/spitz_pm.c |
40 | +++ linux-2.6.26-rc4/drivers/input/keyboard/Kconfig 2008-06-02 09:46:10.000000000 +0100 | 93 | +++ linux-2.6.26/arch/arm/mach-pxa/spitz_pm.c |
41 | @@ -175,6 +175,17 @@ | 94 | @@ -158,10 +158,17 @@ static int spitz_should_wakeup(unsigned |
95 | is_resume |= GPIO_bit(SPITZ_GPIO_SYNC); | ||
96 | |||
97 | if (resume_on_alarm && (PEDR & PWER_RTC)) | ||
98 | is_resume |= PWER_RTC; | ||
99 | |||
100 | + printk("wakeup: PEDR: %x, PKSR: %x, HP_IN: %x, AK_INT: %x\n", PEDR, PKSR, GPIO_bit(SPITZ_GPIO_HP_IN), GPIO_bit(SPITZ_GPIO_AK_INT)); | ||
101 | + | ||
102 | + //remote/headphone interrupt, wakeup | ||
103 | + if (PEDR == 0 && (PKSR & 0xc0d01) != 0) { | ||
104 | + is_resume |= PWER_RTC; | ||
105 | + } | ||
106 | + | ||
107 | dev_dbg(sharpsl_pm.dev, "is_resume: %x\n",is_resume); | ||
108 | return is_resume; | ||
109 | } | ||
110 | |||
111 | static unsigned long spitz_charger_wakeup(void) | ||
112 | --- linux-2.6.26.orig/drivers/input/keyboard/Kconfig | ||
113 | +++ linux-2.6.26/drivers/input/keyboard/Kconfig | ||
114 | @@ -173,10 +173,21 @@ config KEYBOARD_TOSA_USE_EXT_KEYCODES | ||
115 | (>= 127) keycodes. Be aware, that they can't be correctly interpreted | ||
116 | by either console keyboard driver or by Kdrive keybd driver. | ||
42 | 117 | ||
43 | Say Y only if you know, what you are doing! | 118 | Say Y only if you know, what you are doing! |
44 | 119 | ||
@@ -56,20 +131,20 @@ Index: linux-2.6.26-rc4/drivers/input/keyboard/Kconfig | |||
56 | config KEYBOARD_AMIGA | 131 | config KEYBOARD_AMIGA |
57 | tristate "Amiga keyboard" | 132 | tristate "Amiga keyboard" |
58 | depends on AMIGA | 133 | depends on AMIGA |
59 | Index: linux-2.6.26-rc4/drivers/input/keyboard/Makefile | 134 | help |
60 | =================================================================== | 135 | Say Y here if you are running Linux on any AMIGA and have a keyboard |
61 | --- linux-2.6.26-rc4.orig/drivers/input/keyboard/Makefile 2008-06-02 00:20:03.000000000 +0100 | 136 | --- linux-2.6.26.orig/drivers/input/keyboard/Makefile |
62 | +++ linux-2.6.26-rc4/drivers/input/keyboard/Makefile 2008-06-02 09:46:10.000000000 +0100 | 137 | +++ linux-2.6.26/drivers/input/keyboard/Makefile |
63 | @@ -26,4 +26,5 @@ | 138 | @@ -24,6 +24,7 @@ obj-$(CONFIG_KEYBOARD_AAED2000) += aaed |
139 | obj-$(CONFIG_KEYBOARD_GPIO) += gpio_keys.o | ||
140 | obj-$(CONFIG_KEYBOARD_HP6XX) += jornada680_kbd.o | ||
64 | obj-$(CONFIG_KEYBOARD_HP7XX) += jornada720_kbd.o | 141 | obj-$(CONFIG_KEYBOARD_HP7XX) += jornada720_kbd.o |
65 | obj-$(CONFIG_KEYBOARD_MAPLE) += maple_keyb.o | 142 | obj-$(CONFIG_KEYBOARD_MAPLE) += maple_keyb.o |
66 | obj-$(CONFIG_KEYBOARD_BFIN) += bf54x-keys.o | 143 | obj-$(CONFIG_KEYBOARD_BFIN) += bf54x-keys.o |
67 | +obj-$(CONFIG_SHARPSL_RC) += sharpsl_rc.o | 144 | +obj-$(CONFIG_SHARPSL_RC) += sharpsl_rc.o |
68 | obj-$(CONFIG_KEYBOARD_SH_KEYSC) += sh_keysc.o | 145 | obj-$(CONFIG_KEYBOARD_SH_KEYSC) += sh_keysc.o |
69 | Index: linux-2.6.26-rc4/drivers/input/keyboard/sharpsl_rc.c | 146 | --- /dev/null |
70 | =================================================================== | 147 | +++ linux-2.6.26/drivers/input/keyboard/sharpsl_rc.c |
71 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
72 | +++ linux-2.6.26-rc4/drivers/input/keyboard/sharpsl_rc.c 2008-06-02 09:47:39.000000000 +0100 | ||
73 | @@ -0,0 +1,319 @@ | 148 | @@ -0,0 +1,319 @@ |
74 | +/* | 149 | +/* |
75 | + * Keyboard driver for Sharp Clamshell Models (SL-Cxx00) | 150 | + * Keyboard driver for Sharp Clamshell Models (SL-Cxx00) |
@@ -390,11 +465,11 @@ Index: linux-2.6.26-rc4/drivers/input/keyboard/sharpsl_rc.c | |||
390 | +MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>"); | 465 | +MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>"); |
391 | +MODULE_DESCRIPTION("SharpSL Remote Control Driver"); | 466 | +MODULE_DESCRIPTION("SharpSL Remote Control Driver"); |
392 | +MODULE_LICENSE("GPL"); | 467 | +MODULE_LICENSE("GPL"); |
393 | Index: linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c | 468 | --- linux-2.6.26.orig/drivers/input/keyboard/spitzkbd.c |
394 | =================================================================== | 469 | +++ linux-2.6.26/drivers/input/keyboard/spitzkbd.c |
395 | --- linux-2.6.26-rc4.orig/drivers/input/keyboard/spitzkbd.c 2008-06-02 00:20:03.000000000 +0100 | 470 | @@ -17,10 +17,11 @@ |
396 | +++ linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c 2008-06-02 00:20:05.000000000 +0100 | 471 | #include <linux/input.h> |
397 | @@ -19,6 +19,7 @@ | 472 | #include <linux/interrupt.h> |
398 | #include <linux/jiffies.h> | 473 | #include <linux/jiffies.h> |
399 | #include <linux/module.h> | 474 | #include <linux/module.h> |
400 | #include <linux/slab.h> | 475 | #include <linux/slab.h> |
@@ -402,7 +477,11 @@ Index: linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c | |||
402 | 477 | ||
403 | #include <asm/arch/spitz.h> | 478 | #include <asm/arch/spitz.h> |
404 | #include <asm/arch/hardware.h> | 479 | #include <asm/arch/hardware.h> |
405 | @@ -280,13 +281,21 @@ | 480 | #include <asm/arch/pxa-regs.h> |
481 | #include <asm/arch/pxa2xx-gpio.h> | ||
482 | @@ -278,17 +279,25 @@ static irqreturn_t spitzkbd_hinge_isr(in | ||
483 | |||
484 | #define HINGE_STABLE_COUNT 2 | ||
406 | static int sharpsl_hinge_state; | 485 | static int sharpsl_hinge_state; |
407 | static int hinge_count; | 486 | static int hinge_count; |
408 | 487 | ||
@@ -424,7 +503,11 @@ Index: linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c | |||
424 | state |= (GPLR(SPITZ_GPIO_AK_INT) & GPIO_bit(SPITZ_GPIO_AK_INT)); | 503 | state |= (GPLR(SPITZ_GPIO_AK_INT) & GPIO_bit(SPITZ_GPIO_AK_INT)); |
425 | if (state != sharpsl_hinge_state) { | 504 | if (state != sharpsl_hinge_state) { |
426 | hinge_count = 0; | 505 | hinge_count = 0; |
427 | @@ -300,9 +309,18 @@ | 506 | sharpsl_hinge_state = state; |
507 | } else if (hinge_count < HINGE_STABLE_COUNT) { | ||
508 | @@ -298,13 +307,22 @@ static void spitzkbd_hinge_timer(unsigne | ||
509 | if (hinge_count >= HINGE_STABLE_COUNT) { | ||
510 | spin_lock_irqsave(&spitzkbd_data->lock, flags); | ||
428 | 511 | ||
429 | input_report_switch(spitzkbd_data->input, SW_LID, ((GPLR(SPITZ_GPIO_SWA) & GPIO_bit(SPITZ_GPIO_SWA)) != 0)); | 512 | input_report_switch(spitzkbd_data->input, SW_LID, ((GPLR(SPITZ_GPIO_SWA) & GPIO_bit(SPITZ_GPIO_SWA)) != 0)); |
430 | input_report_switch(spitzkbd_data->input, SW_TABLET_MODE, ((GPLR(SPITZ_GPIO_SWB) & GPIO_bit(SPITZ_GPIO_SWB)) != 0)); | 513 | input_report_switch(spitzkbd_data->input, SW_TABLET_MODE, ((GPLR(SPITZ_GPIO_SWB) & GPIO_bit(SPITZ_GPIO_SWB)) != 0)); |
@@ -444,7 +527,11 @@ Index: linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c | |||
444 | spin_unlock_irqrestore(&spitzkbd_data->lock, flags); | 527 | spin_unlock_irqrestore(&spitzkbd_data->lock, flags); |
445 | } else { | 528 | } else { |
446 | mod_timer(&spitzkbd_data->htimer, jiffies + msecs_to_jiffies(HINGE_SCAN_INTERVAL)); | 529 | mod_timer(&spitzkbd_data->htimer, jiffies + msecs_to_jiffies(HINGE_SCAN_INTERVAL)); |
447 | @@ -396,6 +414,7 @@ | 530 | } |
531 | } | ||
532 | @@ -394,10 +412,11 @@ static int __init spitzkbd_probe(struct | ||
533 | clear_bit(0, input_dev->keybit); | ||
534 | set_bit(KEY_SUSPEND, input_dev->keybit); | ||
448 | set_bit(SW_LID, input_dev->swbit); | 535 | set_bit(SW_LID, input_dev->swbit); |
449 | set_bit(SW_TABLET_MODE, input_dev->swbit); | 536 | set_bit(SW_TABLET_MODE, input_dev->swbit); |
450 | set_bit(SW_HEADPHONE_INSERT, input_dev->swbit); | 537 | set_bit(SW_HEADPHONE_INSERT, input_dev->swbit); |
@@ -452,7 +539,11 @@ Index: linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c | |||
452 | 539 | ||
453 | err = input_register_device(input_dev); | 540 | err = input_register_device(input_dev); |
454 | if (err) | 541 | if (err) |
455 | @@ -433,9 +452,12 @@ | 542 | goto fail; |
543 | |||
544 | @@ -431,13 +450,16 @@ static int __init spitzkbd_probe(struct | ||
545 | IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, | ||
546 | "Spitzkbd SWA", spitzkbd); | ||
456 | request_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd_hinge_isr, | 547 | request_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd_hinge_isr, |
457 | IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, | 548 | IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, |
458 | "Spitzkbd SWB", spitzkbd); | 549 | "Spitzkbd SWB", spitzkbd); |
@@ -466,7 +557,11 @@ Index: linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c | |||
466 | 557 | ||
467 | return 0; | 558 | return 0; |
468 | 559 | ||
469 | @@ -456,6 +478,7 @@ | 560 | fail: input_free_device(input_dev); |
561 | kfree(spitzkbd); | ||
562 | @@ -454,10 +476,11 @@ static int spitzkbd_remove(struct platfo | ||
563 | |||
564 | free_irq(SPITZ_IRQ_GPIO_SYNC, spitzkbd); | ||
470 | free_irq(SPITZ_IRQ_GPIO_ON_KEY, spitzkbd); | 565 | free_irq(SPITZ_IRQ_GPIO_ON_KEY, spitzkbd); |
471 | free_irq(SPITZ_IRQ_GPIO_SWA, spitzkbd); | 566 | free_irq(SPITZ_IRQ_GPIO_SWA, spitzkbd); |
472 | free_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd); | 567 | free_irq(SPITZ_IRQ_GPIO_SWB, spitzkbd); |
@@ -474,45 +569,13 @@ Index: linux-2.6.26-rc4/drivers/input/keyboard/spitzkbd.c | |||
474 | free_irq(SPITZ_IRQ_GPIO_AK_INT, spitzkbd); | 569 | free_irq(SPITZ_IRQ_GPIO_AK_INT, spitzkbd); |
475 | 570 | ||
476 | del_timer_sync(&spitzkbd->htimer); | 571 | del_timer_sync(&spitzkbd->htimer); |
477 | Index: linux-2.6.26-rc4/arch/arm/mach-pxa/sharpsl.h | 572 | del_timer_sync(&spitzkbd->timer); |
478 | =================================================================== | ||
479 | --- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/sharpsl.h 2008-06-02 00:20:03.000000000 +0100 | ||
480 | +++ linux-2.6.26-rc4/arch/arm/mach-pxa/sharpsl.h 2008-06-02 00:20:05.000000000 +0100 | ||
481 | @@ -37,15 +37,10 @@ | ||
482 | */ | ||
483 | #define READ_GPIO_BIT(x) (GPLR(x) & GPIO_bit(x)) | ||
484 | |||
485 | -/* MAX1111 Channel Definitions */ | ||
486 | -#define MAX1111_BATT_VOLT 4u | ||
487 | -#define MAX1111_BATT_TEMP 2u | ||
488 | -#define MAX1111_ACIN_VOLT 6u | ||
489 | - | ||
490 | extern struct battery_thresh spitz_battery_levels_acin[]; | ||
491 | extern struct battery_thresh spitz_battery_levels_noac[]; | ||
492 | void sharpsl_pm_pxa_init(void); | ||
493 | void sharpsl_pm_pxa_remove(void); | ||
494 | -int sharpsl_pm_pxa_read_max1111(int channel); | ||
495 | + | ||
496 | |||
497 | 573 | ||
498 | Index: linux-2.6.26-rc4/arch/arm/mach-pxa/sharpsl_pm.c | 574 | --- linux-2.6.26.orig/include/asm-arm/hardware/sharpsl_pm.h |
499 | =================================================================== | 575 | +++ linux-2.6.26/include/asm-arm/hardware/sharpsl_pm.h |
500 | --- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/sharpsl_pm.c 2008-06-02 00:20:03.000000000 +0100 | 576 | @@ -102,5 +102,12 @@ void sharpsl_battery_kick(void); |
501 | +++ linux-2.6.26-rc4/arch/arm/mach-pxa/sharpsl_pm.c 2008-06-02 00:20:05.000000000 +0100 | 577 | void sharpsl_pm_led(int val); |
502 | @@ -136,6 +136,8 @@ | 578 | irqreturn_t sharpsl_ac_isr(int irq, void *dev_id); |
503 | | MAXCTRL_SGL | MAXCTRL_UNI | MAXCTRL_STR); | ||
504 | } | ||
505 | |||
506 | +EXPORT_SYMBOL(sharpsl_pm_pxa_read_max1111); | ||
507 | + | ||
508 | void sharpsl_pm_pxa_init(void) | ||
509 | { | ||
510 | pxa_gpio_mode(sharpsl_pm.machinfo->gpio_acin | GPIO_IN); | ||
511 | Index: linux-2.6.26-rc4/include/asm-arm/hardware/sharpsl_pm.h | ||
512 | =================================================================== | ||
513 | --- linux-2.6.26-rc4.orig/include/asm-arm/hardware/sharpsl_pm.h 2008-06-02 00:20:03.000000000 +0100 | ||
514 | +++ linux-2.6.26-rc4/include/asm-arm/hardware/sharpsl_pm.h 2008-06-02 00:20:05.000000000 +0100 | ||
515 | @@ -104,3 +104,10 @@ | ||
516 | irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id); | 579 | irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id); |
517 | irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id); | 580 | irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id); |
518 | 581 | ||
@@ -523,33 +586,17 @@ Index: linux-2.6.26-rc4/include/asm-arm/hardware/sharpsl_pm.h | |||
523 | +#define MAX1111_ACIN_VOLT 6u | 586 | +#define MAX1111_ACIN_VOLT 6u |
524 | + | 587 | + |
525 | +int sharpsl_pm_pxa_read_max1111(int channel); | 588 | +int sharpsl_pm_pxa_read_max1111(int channel); |
526 | Index: linux-2.6.26-rc4/include/linux/input.h | 589 | --- linux-2.6.26.orig/include/linux/input.h |
527 | =================================================================== | 590 | +++ linux-2.6.26/include/linux/input.h |
528 | --- linux-2.6.26-rc4.orig/include/linux/input.h 2008-06-02 00:20:03.000000000 +0100 | 591 | @@ -638,10 +638,11 @@ struct input_absinfo { |
529 | +++ linux-2.6.26-rc4/include/linux/input.h 2008-06-02 00:20:05.000000000 +0100 | ||
530 | @@ -638,6 +638,7 @@ | ||
531 | #define SW_TABLET_MODE 0x01 /* set = tablet mode */ | 592 | #define SW_TABLET_MODE 0x01 /* set = tablet mode */ |
532 | #define SW_HEADPHONE_INSERT 0x02 /* set = inserted */ | 593 | #define SW_HEADPHONE_INSERT 0x02 /* set = inserted */ |
533 | #define SW_RADIO 0x03 /* set = radio enabled */ | 594 | #define SW_RFKILL_ALL 0x03 /* rfkill master switch, type "any" |
595 | set = radio enabled */ | ||
596 | #define SW_RADIO SW_RFKILL_ALL /* deprecated */ | ||
534 | +#define SW_REMOTE_INSERT 0x04 /* set = remote */ | 597 | +#define SW_REMOTE_INSERT 0x04 /* set = remote */ |
535 | #define SW_MAX 0x0f | 598 | #define SW_MAX 0x0f |
536 | #define SW_CNT (SW_MAX+1) | 599 | #define SW_CNT (SW_MAX+1) |
537 | 600 | ||
538 | Index: linux-2.6.26-rc4/arch/arm/mach-pxa/spitz_pm.c | 601 | /* |
539 | =================================================================== | 602 | * Misc events |
540 | --- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/spitz_pm.c 2008-06-02 00:20:03.000000000 +0100 | ||
541 | +++ linux-2.6.26-rc4/arch/arm/mach-pxa/spitz_pm.c 2008-06-02 09:46:10.000000000 +0100 | ||
542 | @@ -160,6 +160,13 @@ | ||
543 | if (resume_on_alarm && (PEDR & PWER_RTC)) | ||
544 | is_resume |= PWER_RTC; | ||
545 | |||
546 | + printk("wakeup: PEDR: %x, PKSR: %x, HP_IN: %x, AK_INT: %x\n", PEDR, PKSR, GPIO_bit(SPITZ_GPIO_HP_IN), GPIO_bit(SPITZ_GPIO_AK_INT)); | ||
547 | + | ||
548 | + //remote/headphone interrupt, wakeup | ||
549 | + if (PEDR == 0 && (PKSR & 0xc0d01) != 0) { | ||
550 | + is_resume |= PWER_RTC; | ||
551 | + } | ||
552 | + | ||
553 | dev_dbg(sharpsl_pm.dev, "is_resume: %x\n",is_resume); | ||
554 | return is_resume; | ||
555 | } | ||