[coreboot] IBM/Lenovo X60t: LED_: Excess arguments - needs 1, found 2

Vladimir 'φ-coder/phcoder' Serbinenko phcoder at gmail.com
Tue Aug 26 20:39:15 CEST 2014

On 26.08.2014 08:50, Paul Menzel 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.
It's called by acpi_thinkpad module:
        status = acpi_get_handle(ec_handle, "LED", &led_handle);

                if (!acpi_evalf(led_handle, NULL, NULL, "vdd",
                                led, led_led_arg1[ledstatus]))
        static const unsigned int led_led_arg1[] = { 0, 0x80, 0xc0 };

So first argument is 0-based LED number and the second is 0/0x80/0xc0
for state which matches EC bits pretty closely (up to some shifts).
We probably should rename out LED method to sth else and provide a
compatible LED method.
Technically whole acpi_thinkpad is outside of ACPI spec but it's needed
to use some features like Lock hotkey which is outside of ACPI spec as well.
> […]
> Thanks,
> Paul

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20140826/53195796/attachment.asc>

More information about the coreboot mailing list