aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/Kconfig12
-rw-r--r--drivers/acpi/ibm_acpi.c13
2 files changed, 22 insertions, 3 deletions
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index 33e2ca847a26..82710ae39228 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -205,6 +205,18 @@ config ACPI_IBM
205 205
206 If you have an IBM ThinkPad laptop, say Y or M here. 206 If you have an IBM ThinkPad laptop, say Y or M here.
207 207
208config ACPI_IBM_DOCK
209 bool "Legacy Docking Station Support"
210 depends on ACPI_IBM
211 default n
212 ---help---
213 Allows the ibm_acpi driver to handle docking station events.
214 This support is obsoleted by CONFIG_HOTPLUG_PCI_ACPI. It will
215 allow locking and removing the laptop from the docking station,
216 but will not properly connect PCI devices.
217
218 If you are not sure, say N here.
219
208config ACPI_TOSHIBA 220config ACPI_TOSHIBA
209 tristate "Toshiba Laptop Extras" 221 tristate "Toshiba Laptop Extras"
210 depends on X86 222 depends on X86
diff --git a/drivers/acpi/ibm_acpi.c b/drivers/acpi/ibm_acpi.c
index 5cc090326ddc..262b1f41335a 100644
--- a/drivers/acpi/ibm_acpi.c
+++ b/drivers/acpi/ibm_acpi.c
@@ -160,13 +160,13 @@ IBM_HANDLE(cmos, root, "\\UCMS", /* R50, R50e, R50p, R51, T4x, X31, X40 */
160 "\\CMOS", /* A3x, G4x, R32, T23, T30, X22-24, X30 */ 160 "\\CMOS", /* A3x, G4x, R32, T23, T30, X22-24, X30 */
161 "\\CMS", /* R40, R40e */ 161 "\\CMS", /* R40, R40e */
162 ); /* all others */ 162 ); /* all others */
163 163#ifdef CONFIG_ACPI_IBM_DOCK
164IBM_HANDLE(dock, root, "\\_SB.GDCK", /* X30, X31, X40 */ 164IBM_HANDLE(dock, root, "\\_SB.GDCK", /* X30, X31, X40 */
165 "\\_SB.PCI0.DOCK", /* 600e/x,770e,770x,A2xm/p,T20-22,X20-21 */ 165 "\\_SB.PCI0.DOCK", /* 600e/x,770e,770x,A2xm/p,T20-22,X20-21 */
166 "\\_SB.PCI0.PCI1.DOCK", /* all others */ 166 "\\_SB.PCI0.PCI1.DOCK", /* all others */
167 "\\_SB.PCI.ISA.SLCE", /* 570 */ 167 "\\_SB.PCI.ISA.SLCE", /* 570 */
168 ); /* A21e,G4x,R30,R31,R32,R40,R40e,R50e */ 168 ); /* A21e,G4x,R30,R31,R32,R40,R40e,R50e */
169 169#endif
170IBM_HANDLE(bay, root, "\\_SB.PCI.IDE.SECN.MAST", /* 570 */ 170IBM_HANDLE(bay, root, "\\_SB.PCI.IDE.SECN.MAST", /* 570 */
171 "\\_SB.PCI0.IDE0.IDES.IDSM", /* 600e/x, 770e, 770x */ 171 "\\_SB.PCI0.IDE0.IDES.IDSM", /* 600e/x, 770e, 770x */
172 "\\_SB.PCI0.IDE0.SCND.MSTR", /* all others */ 172 "\\_SB.PCI0.IDE0.SCND.MSTR", /* all others */
@@ -844,7 +844,7 @@ static int _sta(acpi_handle handle)
844 844
845 return status; 845 return status;
846} 846}
847 847#ifdef CONFIG_ACPI_IBM_DOCK
848#define dock_docked() (_sta(dock_handle) & 1) 848#define dock_docked() (_sta(dock_handle) & 1)
849 849
850static int dock_read(char *p) 850static int dock_read(char *p)
@@ -907,6 +907,7 @@ static void dock_notify(struct ibm_struct *ibm, u32 event)
907 acpi_bus_generate_event(ibm->device, event, 0); /* unknown */ 907 acpi_bus_generate_event(ibm->device, event, 0); /* unknown */
908 } 908 }
909} 909}
910#endif
910 911
911static int bay_status_supported; 912static int bay_status_supported;
912static int bay_status2_supported; 913static int bay_status2_supported;
@@ -1574,6 +1575,7 @@ static struct ibm_struct ibms[] = {
1574 .read = light_read, 1575 .read = light_read,
1575 .write = light_write, 1576 .write = light_write,
1576 }, 1577 },
1578#ifdef CONFIG_ACPI_IBM_DOCK
1577 { 1579 {
1578 .name = "dock", 1580 .name = "dock",
1579 .read = dock_read, 1581 .read = dock_read,
@@ -1589,6 +1591,7 @@ static struct ibm_struct ibms[] = {
1589 .handle = &pci_handle, 1591 .handle = &pci_handle,
1590 .type = ACPI_SYSTEM_NOTIFY, 1592 .type = ACPI_SYSTEM_NOTIFY,
1591 }, 1593 },
1594#endif
1592 { 1595 {
1593 .name = "bay", 1596 .name = "bay",
1594 .init = bay_init, 1597 .init = bay_init,
@@ -1880,7 +1883,9 @@ IBM_PARAM(hotkey);
1880IBM_PARAM(bluetooth); 1883IBM_PARAM(bluetooth);
1881IBM_PARAM(video); 1884IBM_PARAM(video);
1882IBM_PARAM(light); 1885IBM_PARAM(light);
1886#ifdef CONFIG_ACPI_IBM_DOCK
1883IBM_PARAM(dock); 1887IBM_PARAM(dock);
1888#endif
1884IBM_PARAM(bay); 1889IBM_PARAM(bay);
1885IBM_PARAM(cmos); 1890IBM_PARAM(cmos);
1886IBM_PARAM(led); 1891IBM_PARAM(led);
@@ -1927,7 +1932,9 @@ static int __init acpi_ibm_init(void)
1927 IBM_HANDLE_INIT(hkey); 1932 IBM_HANDLE_INIT(hkey);
1928 IBM_HANDLE_INIT(lght); 1933 IBM_HANDLE_INIT(lght);
1929 IBM_HANDLE_INIT(cmos); 1934 IBM_HANDLE_INIT(cmos);
1935#ifdef CONFIG_ACPI_IBM_DOCK
1930 IBM_HANDLE_INIT(dock); 1936 IBM_HANDLE_INIT(dock);
1937#endif
1931 IBM_HANDLE_INIT(pci); 1938 IBM_HANDLE_INIT(pci);
1932 IBM_HANDLE_INIT(bay); 1939 IBM_HANDLE_INIT(bay);
1933 if (bay_handle) 1940 if (bay_handle)