From b6742c29bb9c96cb87d0ed47f85c8e2c19b0fbfe Mon Sep 17 00:00:00 2001 From: Henrique de Moraes Holschuh Date: Sat, 10 Mar 2007 16:19:59 -0300 Subject: [PATCH] Add patches accepted for 2.6.21-rc4 (not released yet) --- ...acpi-fix-initial-status-of-backlight-devi.patch | 45 +++++++ ...m-acpi-make-ibm-acpi-bay-support-optional.patch | 131 +++++++++++++++++++++ ...ibm-acpi-improve-backlight-power-handling.patch | 43 +++++++ 3 files changed, 219 insertions(+) create mode 100644 releases/upstream/2.6.21-rc4/0001-ACPI-ibm-acpi-fix-initial-status-of-backlight-devi.patch create mode 100644 releases/upstream/2.6.21-rc4/0002-ACPI-ibm-acpi-make-ibm-acpi-bay-support-optional.patch create mode 100644 releases/upstream/2.6.21-rc4/0003-ACPI-ibm-acpi-improve-backlight-power-handling.patch diff --git a/releases/upstream/2.6.21-rc4/0001-ACPI-ibm-acpi-fix-initial-status-of-backlight-devi.patch b/releases/upstream/2.6.21-rc4/0001-ACPI-ibm-acpi-fix-initial-status-of-backlight-devi.patch new file mode 100644 index 00000000000..3606dc2e730 --- /dev/null +++ b/releases/upstream/2.6.21-rc4/0001-ACPI-ibm-acpi-fix-initial-status-of-backlight-devi.patch @@ -0,0 +1,45 @@ +From adb005818b71e9476581a1de5742e2f427ac9e2b Mon Sep 17 00:00:00 2001 +From: Henrique de Moraes Holschuh +Date: Thu, 22 Feb 2007 16:04:55 -0200 +Subject: [PATCH] ACPI: ibm-acpi: fix initial status of backlight device + +The brightness class core does not update the initial status of the +device's brightness at register time. Do it by ourselves. + +Signed-off-by: Henrique de Moraes Holschuh +Acked-by: Richard Purdie +--- + drivers/acpi/ibm_acpi.c | 10 +++++++++- + 1 files changed, 9 insertions(+), 1 deletions(-) + +diff --git a/drivers/acpi/ibm_acpi.c b/drivers/acpi/ibm_acpi.c +index 4cc534e..7c1b418 100644 +--- a/drivers/acpi/ibm_acpi.c ++++ b/drivers/acpi/ibm_acpi.c +@@ -1711,6 +1711,12 @@ static struct backlight_ops ibm_backlight_data = { + + static int brightness_init(void) + { ++ int b; ++ ++ b = brightness_get(NULL); ++ if (b < 0) ++ return b; ++ + ibm_backlight_device = backlight_device_register("ibm", NULL, NULL, + &ibm_backlight_data); + if (IS_ERR(ibm_backlight_device)) { +@@ -1718,7 +1724,9 @@ static int brightness_init(void) + return PTR_ERR(ibm_backlight_device); + } + +- ibm_backlight_device->props.max_brightness = 7; ++ ibm_backlight_device->props.max_brightness = 7; ++ ibm_backlight_device->props.brightness = b; ++ backlight_update_status(ibm_backlight_device); + + return 0; + } +-- +1.5.0.3 + diff --git a/releases/upstream/2.6.21-rc4/0002-ACPI-ibm-acpi-make-ibm-acpi-bay-support-optional.patch b/releases/upstream/2.6.21-rc4/0002-ACPI-ibm-acpi-make-ibm-acpi-bay-support-optional.patch new file mode 100644 index 00000000000..721e96d4694 --- /dev/null +++ b/releases/upstream/2.6.21-rc4/0002-ACPI-ibm-acpi-make-ibm-acpi-bay-support-optional.patch @@ -0,0 +1,131 @@ +From 2bc808a8c4821a8ef4e3dc35b8fc577a9d2c6f0d Mon Sep 17 00:00:00 2001 +From: Henrique de Moraes Holschuh +Date: Wed, 21 Feb 2007 13:05:38 -0200 +Subject: [PATCH] ACPI: ibm-acpi: make ibm-acpi bay support optional + +Make ibm-acpi bay support optional at kernel compile time. + +Signed-off-by: Henrique de Moraes Holschuh +--- + drivers/acpi/Kconfig | 11 +++++++++++ + drivers/acpi/ibm_acpi.c | 12 ++++++++++++ + 2 files changed, 23 insertions(+), 0 deletions(-) + +diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig +index e942ffe..ee3dcd1 100644 +--- a/drivers/acpi/Kconfig ++++ b/drivers/acpi/Kconfig +@@ -242,6 +242,17 @@ config ACPI_IBM_DOCK + + If you are not sure, say N here. + ++config ACPI_IBM_BAY ++ bool "Legacy Removable Bay Support" ++ depends on ACPI_IBM ++ default y ++ ---help--- ++ Allows the ibm_acpi driver to handle removable bays. It will allow ++ disabling the device in the bay, and also generate notifications when ++ the bay lever is ejected or inserted. ++ ++ If you are not sure, say Y here. ++ + config ACPI_TOSHIBA + tristate "Toshiba Laptop Extras" + depends on X86 +diff --git a/drivers/acpi/ibm_acpi.c b/drivers/acpi/ibm_acpi.c +index 7c1b418..e7309a6 100644 +--- a/drivers/acpi/ibm_acpi.c ++++ b/drivers/acpi/ibm_acpi.c +@@ -157,6 +157,7 @@ IBM_HANDLE(dock, root, "\\_SB.GDCK", /* X30, X31, X40 */ + "\\_SB.PCI.ISA.SLCE", /* 570 */ + ); /* A21e,G4x,R30,R31,R32,R40,R40e,R50e */ + #endif ++#ifdef CONFIG_ACPI_IBM_BAY + IBM_HANDLE(bay, root, "\\_SB.PCI.IDE.SECN.MAST", /* 570 */ + "\\_SB.PCI0.IDE0.IDES.IDSM", /* 600e/x, 770e, 770x */ + "\\_SB.PCI0.SATA.SCND.MSTR", /* T60, X60, Z60 */ +@@ -174,6 +175,7 @@ IBM_HANDLE(bay2, root, "\\_SB.PCI0.IDE0.PRIM.SLAV", /* A3x, R32 */ + IBM_HANDLE(bay2_ej, bay2, "_EJ3", /* 600e/x, 770e, A3x */ + "_EJ0", /* 770x */ + ); /* all others */ ++#endif /* CONFIG_ACPI_IBM_BAY */ + + /* don't list other alternatives as we install a notify handler on the 570 */ + IBM_HANDLE(pci, root, "\\_SB.PCI"); /* 570 */ +@@ -1044,6 +1046,7 @@ static int light_write(char *buf) + return 0; + } + ++#if defined(CONFIG_ACPI_IBM_DOCK) || defined(CONFIG_ACPI_IBM_BAY) + static int _sta(acpi_handle handle) + { + int status; +@@ -1053,6 +1056,7 @@ static int _sta(acpi_handle handle) + + return status; + } ++#endif + + #ifdef CONFIG_ACPI_IBM_DOCK + #define dock_docked() (_sta(dock_handle) & 1) +@@ -1119,6 +1123,7 @@ static void dock_notify(struct ibm_struct *ibm, u32 event) + } + #endif + ++#ifdef CONFIG_ACPI_IBM_BAY + static int bay_status_supported; + static int bay_status2_supported; + static int bay_eject_supported; +@@ -1194,6 +1199,7 @@ static void bay_notify(struct ibm_struct *ibm, u32 event) + { + acpi_bus_generate_event(ibm->device, event, 0); + } ++#endif /* CONFIG_ACPI_IBM_BAY */ + + static int cmos_read(char *p) + { +@@ -2361,6 +2367,7 @@ static struct ibm_struct ibms[] = { + .type = ACPI_SYSTEM_NOTIFY, + }, + #endif ++#ifdef CONFIG_ACPI_IBM_BAY + { + .name = "bay", + .init = bay_init, +@@ -2370,6 +2377,7 @@ static struct ibm_struct ibms[] = { + .handle = &bay_handle, + .type = ACPI_SYSTEM_NOTIFY, + }, ++#endif /* CONFIG_ACPI_IBM_BAY */ + { + .name = "cmos", + .read = cmos_read, +@@ -2655,7 +2663,9 @@ IBM_PARAM(light); + #ifdef CONFIG_ACPI_IBM_DOCK + IBM_PARAM(dock); + #endif ++#ifdef CONFIG_ACPI_IBM_BAY + IBM_PARAM(bay); ++#endif /* CONFIG_ACPI_IBM_BAY */ + IBM_PARAM(cmos); + IBM_PARAM(led); + IBM_PARAM(beep); +@@ -2731,12 +2741,14 @@ static int __init acpi_ibm_init(void) + IBM_HANDLE_INIT(dock); + #endif + IBM_HANDLE_INIT(pci); ++#ifdef CONFIG_ACPI_IBM_BAY + IBM_HANDLE_INIT(bay); + if (bay_handle) + IBM_HANDLE_INIT(bay_ej); + IBM_HANDLE_INIT(bay2); + if (bay2_handle) + IBM_HANDLE_INIT(bay2_ej); ++#endif /* CONFIG_ACPI_IBM_BAY */ + IBM_HANDLE_INIT(beep); + IBM_HANDLE_INIT(ecrd); + IBM_HANDLE_INIT(ecwr); +-- +1.5.0.3 + diff --git a/releases/upstream/2.6.21-rc4/0003-ACPI-ibm-acpi-improve-backlight-power-handling.patch b/releases/upstream/2.6.21-rc4/0003-ACPI-ibm-acpi-improve-backlight-power-handling.patch new file mode 100644 index 00000000000..3bfe06b281e --- /dev/null +++ b/releases/upstream/2.6.21-rc4/0003-ACPI-ibm-acpi-improve-backlight-power-handling.patch @@ -0,0 +1,43 @@ +From c9bf296b6467968ecb9d988e7ed754a19c2e63d9 Mon Sep 17 00:00:00 2001 +From: Henrique de Moraes Holschuh +Date: Thu, 8 Mar 2007 05:28:15 -0300 +Subject: [PATCH] ACPI: ibm-acpi: improve backlight power handling + +Improve the backlight code to emulate as much as possible the power +management events, as we are unable to really power on or power off the +backlight. + +Signed-off-by: Henrique de Moraes Holschuh +Acked-by: Richard Purdie +Signed-off-by: Len Brown +--- + drivers/acpi/ibm_acpi.c | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) + +diff --git a/drivers/acpi/ibm_acpi.c b/drivers/acpi/ibm_acpi.c +index e7309a6..3690136 100644 +--- a/drivers/acpi/ibm_acpi.c ++++ b/drivers/acpi/ibm_acpi.c +@@ -86,6 +86,7 @@ + + #include + #include ++#include + #include + + #include +@@ -1707,7 +1708,10 @@ static int brightness_write(char *buf) + + static int brightness_update_status(struct backlight_device *bd) + { +- return brightness_set(bd->props.brightness); ++ return brightness_set( ++ (bd->props.fb_blank == FB_BLANK_UNBLANK && ++ bd->props.power == FB_BLANK_UNBLANK) ? ++ bd->props.brightness : 0); + } + + static struct backlight_ops ibm_backlight_data = { +-- +1.5.0.3 + -- 2.11.4.GIT