Hello

Not sure!

Apparently, after doing echo "0 blink" >/proc/acpi/ibm/led, this is handled led_set_status in drivers/platform/x86/thinkpad_acpi.c : the first argument is the led, the second the status :
acpi_evalf(led_handle, NULL, NULL, "vdd", led, led_led_arg1[ledstatus]))

For the LED string, see in led_init_detect_mode :
status = acpi_get_handle(ec_handle, "LED", &led_handle);

My understanding is that the OS does the call that correctly, but that coreboot ASL tables only expect one argument.

In coreboot/build/mainboard/lenovo/x60/dsdt.ramstage.asl, you will see Method (LED, 1, NotSerialized) which seems to confirm that, since in acpi-3.dsl I see instead  Method (LED, 2, NotSerialized)




On Tue, Aug 26, 2014 at 2:50 AM, Paul Menzel <paulepanter@users.sourceforge.net> wrote:
Dear Charles, dear David,


Am Montag, den 25.08.2014, 11:21 -0600 schrieb David Hubbard:

> I'm focusing in on this error message first:
>
> ACPI Warning: For \_SB_.PCI0.LPCB.EC__.LED_: Excess arguments - needs 1,
> found 2
>
> Can you take a look at the .asl files in your coreboot build? I believe you
> will find something like "Method (LED, 2, NotSerialized)" which means the
> LED method wants 2 arguments. Then look for calls to "LED ()" and if you
> find one only passing 1 argument, that is the problem.

I also noticed that message and quickly looked through the coreboot ASL
files, but could not find anything calling that message. Looking at the
Linux kernel sources I was also unable to find a call site. But I’d say
the OS call this method incorrectly.

[…]


Thanks,

Paul

--
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot