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 | |
| 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
| -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 | } | ||
