"\\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 */
return 0;
}
-static int wan_supported;
-
-static int wan_init(void)
-{
- wan_supported = hkey_handle &&
- acpi_evalf(hkey_handle, NULL, "GWAN", "qv");
-
- return 0;
-}
-
-static int wan_status(void)
-{
- int status;
-
- if (!wan_supported ||
- !acpi_evalf(hkey_handle, &status, "GWAN", "d"))
- status = 0;
-
- return status;
-}
-
-static int wan_read(char *p)
-{
- int len = 0;
- int status = wan_status();
-
- if (!wan_supported)
- len += sprintf(p + len, "status:\t\tnot supported\n");
- else if (!(status & 1))
- len += sprintf(p + len, "status:\t\tnot installed\n");
- else {
- len += sprintf(p + len, "status:\t\t%s\n", enabled(status, 1));
- len += sprintf(p + len, "commands:\tenable, disable\n");
- }
-
- return len;
-}
-
-static int wan_write(char *buf)
-{
- int status = wan_status();
- char *cmd;
- int do_cmd = 0;
-
- if (!wan_supported)
- return -ENODEV;
-
- while ((cmd = next_cmd(&buf))) {
- if (strlencmp(cmd, "enable") == 0) {
- status |= 2;
- } else if (strlencmp(cmd, "disable") == 0) {
- status &= ~2;
- } else
- return -EINVAL;
- do_cmd = 1;
- }
-
- if (do_cmd && !acpi_evalf(hkey_handle, NULL, "SWAN", "vd", status))
- return -EIO;
-
- return 0;
-}
-
static int video_supported;
static int video_orig_autosw;
return status;
}
-#ifdef CONFIG_ACPI_IBM_DOCK
+
#define dock_docked() (_sta(dock_handle) & 1)
static int dock_read(char *p)
acpi_bus_generate_event(ibm->device, event, 0); /* unknown */
}
}
-#endif
static int bay_status_supported;
static int bay_status2_supported;
.read = bluetooth_read,
.write = bluetooth_write,
},
- {
- .name = "wan",
- .init = wan_init,
- .read = wan_read,
- .write = wan_write,
- .experimental = 1,
- },
{
.name = "video",
.init = video_init,
.read = light_read,
.write = light_write,
},
-#ifdef CONFIG_ACPI_IBM_DOCK
{
.name = "dock",
.read = dock_read,
.handle = &pci_handle,
.type = ACPI_SYSTEM_NOTIFY,
},
-#endif
{
.name = "bay",
.init = bay_init,
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);
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)