|
Line 77
Link Here
|
| 77 |
#define ACPI_IBM_METHOD_MIC_LED 15 |
|
|
|
Lines 179-182
Link Here
|
| 179 |
/* Mic led handle */ |
|
|
| 180 |
ACPI_HANDLE mic_led_handle; |
| 181 |
int mic_led_state; |
| 182 |
|
|
Lines 266-270
Link Here
|
| 266 |
{ |
261 |
|
| 267 |
.name = "mic_led", |
|
|
| 268 |
.method = ACPI_IBM_METHOD_MIC_LED, |
| 269 |
.description = "Mic led", |
| 270 |
}, |
| 271 |
-- |
|
Lines 383-411
Link Here
|
| 383 |
acpi_ibm_mic_led_set (struct acpi_ibm_softc *sc, int arg) |
|
|
| 384 |
{ |
| 385 |
ACPI_OBJECT_LIST input; |
| 386 |
ACPI_OBJECT params[1]; |
| 387 |
ACPI_STATUS status; |
| 388 |
|
| 389 |
if (arg < 0 || arg > 1) |
| 390 |
return (EINVAL); |
| 391 |
|
| 392 |
if (sc->mic_led_handle) { |
| 393 |
params[0].Type = ACPI_TYPE_INTEGER; |
| 394 |
params[0].Integer.Value = 0; |
| 395 |
/* mic led: 0 off, 2 on */ |
| 396 |
if (arg == 1) |
| 397 |
params[0].Integer.Value = 2; |
| 398 |
|
| 399 |
input.Pointer = params; |
| 400 |
input.Count = 1; |
| 401 |
|
| 402 |
status = AcpiEvaluateObject (sc->handle, "MMTS", &input, NULL); |
| 403 |
if (ACPI_SUCCESS(status)) |
| 404 |
sc->mic_led_state = arg; |
| 405 |
return(status); |
| 406 |
} |
| 407 |
|
| 408 |
return (0); |
| 409 |
} |
| 410 |
|
| 411 |
static int |
|
Lines 593-595
Link Here
|
| 593 |
/* The mic led is does not turn back on sysctl_set is called in the above loop */ |
|
|
| 594 |
acpi_ibm_mic_led_set(sc, sc->mic_led_state); |
| 595 |
|
|
Lines 783-788
Link Here
|
| 783 |
case ACPI_IBM_METHOD_MIC_LED: |
|
|
| 784 |
if (sc->mic_led_handle) |
| 785 |
return sc->mic_led_state; |
| 786 |
else |
| 787 |
val = -1; |
| 788 |
break; |
|
Lines 833-836
Link Here
|
| 833 |
case ACPI_IBM_METHOD_MIC_LED: |
|
|
| 834 |
return acpi_ibm_mic_led_set (sc, arg); |
| 835 |
break; |
| 836 |
|
|
Lines 896-906
Link Here
|
| 896 |
case ACPI_IBM_METHOD_MIC_LED: |
|
|
| 897 |
if (ACPI_SUCCESS(AcpiGetHandle(sc->handle, "MMTS", &sc->mic_led_handle))) |
| 898 |
{ |
| 899 |
/* Turn off mic led by default */ |
| 900 |
acpi_ibm_mic_led_set (sc, 0); |
| 901 |
return(TRUE); |
| 902 |
} |
| 903 |
else |
| 904 |
sc->mic_led_handle = NULL; |
| 905 |
return (FALSE); |
| 906 |
|