Remove dock station support from ibm_acpi by default. This support has been
put into acpiphp instead. Allow ibm_acpi to continue to provide docking
station support via config option for laptops/docking stations that are
not supported by acpiphp.
Signed-off-by: Kristen Carlson Accardi <[email protected]>
---
drivers/acpi/Kconfig | 12 ++++++++++++
drivers/acpi/ibm_acpi.c | 13 ++++++++++---
2 files changed, 22 insertions(+), 3 deletions(-)
--- linux-dock-mm.orig/drivers/acpi/Kconfig
+++ linux-dock-mm/drivers/acpi/Kconfig
@@ -205,6 +205,18 @@ config ACPI_IBM
If you have an IBM ThinkPad laptop, say Y or M here.
+config ACPI_IBM_DOCK
+ bool "Legacy Docking Station Support"
+ depends on ACPI_IBM
+ default n
+ ---help---
+ Allows the ibm_acpi driver to handle docking station events.
+ This support is limited and should only be enabled if the generic
+ docking station support driver does not support your laptop/dock
+ station.
+
+ If you are not sure, say N here.
+
config ACPI_TOSHIBA
tristate "Toshiba Laptop Extras"
depends on X86
--- linux-dock-mm.orig/drivers/acpi/ibm_acpi.c
+++ linux-dock-mm/drivers/acpi/ibm_acpi.c
@@ -160,13 +160,13 @@ IBM_HANDLE(cmos, root, "\\UCMS", /* R50,
"\\CMOS", /* A3x, G4x, R32, T23, T30, X22-24, X30 */
"\\CMS", /* R40, R40e */
); /* all others */
-
+#ifdef CONFIG_ACPI_IBM_DOCK
IBM_HANDLE(dock, root, "\\_SB.GDCK", /* X30, X31, X40 */
"\\_SB.PCI0.DOCK", /* 600e/x,770e,770x,A2xm/p,T20-22,X20-21 */
"\\_SB.PCI0.PCI1.DOCK", /* all others */
"\\_SB.PCI.ISA.SLCE", /* 570 */
); /* A21e,G4x,R30,R31,R32,R40,R40e,R50e */
-
+#endif
IBM_HANDLE(bay, root, "\\_SB.PCI.IDE.SECN.MAST", /* 570 */
"\\_SB.PCI0.IDE0.IDES.IDSM", /* 600e/x, 770e, 770x */
"\\_SB.PCI0.IDE0.SCND.MSTR", /* all others */
@@ -844,7 +844,7 @@ static int _sta(acpi_handle handle)
return status;
}
-
+#ifdef CONFIG_ACPI_IBM_DOCK
#define dock_docked() (_sta(dock_handle) & 1)
static int dock_read(char *p)
@@ -907,6 +907,7 @@ static void dock_notify(struct ibm_struc
acpi_bus_generate_event(ibm->device, event, 0); /* unknown */
}
}
+#endif
static int bay_status_supported;
static int bay_status2_supported;
@@ -1574,6 +1575,7 @@ static struct ibm_struct ibms[] = {
.read = light_read,
.write = light_write,
},
+#ifdef CONFIG_ACPI_IBM_DOCK
{
.name = "dock",
.read = dock_read,
@@ -1589,6 +1591,7 @@ static struct ibm_struct ibms[] = {
.handle = &pci_handle,
.type = ACPI_SYSTEM_NOTIFY,
},
+#endif
{
.name = "bay",
.init = bay_init,
@@ -1880,7 +1883,9 @@ IBM_PARAM(hotkey);
IBM_PARAM(bluetooth);
IBM_PARAM(video);
IBM_PARAM(light);
+#ifdef CONFIG_ACPI_IBM_DOCK
IBM_PARAM(dock);
+#endif
IBM_PARAM(bay);
IBM_PARAM(cmos);
IBM_PARAM(led);
@@ -1927,7 +1932,9 @@ static int __init acpi_ibm_init(void)
IBM_HANDLE_INIT(hkey);
IBM_HANDLE_INIT(lght);
IBM_HANDLE_INIT(cmos);
+#ifdef CONFIG_ACPI_IBM_DOCK
IBM_HANDLE_INIT(dock);
+#endif
IBM_HANDLE_INIT(pci);
IBM_HANDLE_INIT(bay);
if (bay_handle)
--
On St 22-02-06 11:21:31, Kristen Accardi wrote:
> Remove dock station support from ibm_acpi by default. This support has been
> put into acpiphp instead. Allow ibm_acpi to continue to provide docking
> station support via config option for laptops/docking stations that are
> not supported by acpiphp.
>
> Signed-off-by: Kristen Carlson Accardi <[email protected]>
>
> ---
> drivers/acpi/Kconfig | 12 ++++++++++++
> drivers/acpi/ibm_acpi.c | 13 ++++++++++---
> 2 files changed, 22 insertions(+), 3 deletions(-)
>
> --- linux-dock-mm.orig/drivers/acpi/Kconfig
> +++ linux-dock-mm/drivers/acpi/Kconfig
> @@ -205,6 +205,18 @@ config ACPI_IBM
>
> If you have an IBM ThinkPad laptop, say Y or M here.
>
> +config ACPI_IBM_DOCK
> + bool "Legacy Docking Station Support"
> + depends on ACPI_IBM
> + default n
> + ---help---
> + Allows the ibm_acpi driver to handle docking station events.
> + This support is limited and should only be enabled if the generic
> + docking station support driver does not support your laptop/dock
> + station.
This support is obsoleted by
CONFIG_PCI_HOTPLUG_ACPIHP_or_how_it_is_called. It will allow
ejecting/locking machine in dock, but will not properly connect PCI
buses.
Pavel
--
Web maintainer for suspend.sf.net (http://www.sf.net/projects/suspend) wanted...