77d76 < #define ACPI_IBM_METHOD_MIC_LED 15 179,182d177 < /* Mic led handle */ < ACPI_HANDLE mic_led_handle; < int mic_led_state; < 266,270c261 < { < .name = "mic_led", < .method = ACPI_IBM_METHOD_MIC_LED, < .description = "Mic led", < }, --- > 383,411d373 < acpi_ibm_mic_led_set (struct acpi_ibm_softc *sc, int arg) < { < ACPI_OBJECT_LIST input; < ACPI_OBJECT params[1]; < ACPI_STATUS status; < < if (arg < 0 || arg > 1) < return (EINVAL); < < if (sc->mic_led_handle) { < params[0].Type = ACPI_TYPE_INTEGER; < params[0].Integer.Value = 0; < /* mic led: 0 off, 2 on */ < if (arg == 1) < params[0].Integer.Value = 2; < < input.Pointer = params; < input.Count = 1; < < status = AcpiEvaluateObject (sc->handle, "MMTS", &input, NULL); < if (ACPI_SUCCESS(status)) < sc->mic_led_state = arg; < return(status); < } < < return (0); < } < < static int 593,595d554 < /* The mic led is does not turn back on sysctl_set is called in the above loop */ < acpi_ibm_mic_led_set(sc, sc->mic_led_state); < 783,788d741 < case ACPI_IBM_METHOD_MIC_LED: < if (sc->mic_led_handle) < return sc->mic_led_state; < else < val = -1; < break; 833,836d785 < case ACPI_IBM_METHOD_MIC_LED: < return acpi_ibm_mic_led_set (sc, arg); < break; < 896,906d844 < case ACPI_IBM_METHOD_MIC_LED: < if (ACPI_SUCCESS(AcpiGetHandle(sc->handle, "MMTS", &sc->mic_led_handle))) < { < /* Turn off mic led by default */ < acpi_ibm_mic_led_set (sc, 0); < return(TRUE); < } < else < sc->mic_led_handle = NULL; < return (FALSE); <