A linux kernel module that enables calls to ACPI methods through /proc/acpi/call. Now with support for Integer, String and Buffer parameters.
Pull request Compare This branch is 7 commits ahead, 22 commits behind mkottman:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore Ignore autogenerated files, don't hardcode name in Makefile Jan 31, 2012
acpi_call.c Only log calls when debugging is enabled Oct 19, 2012


A kernel module that enables you to call ACPI methods by writing the method
name followed by arguments to /proc/acpi/call.


    echo '<call>' | sudo tee /proc/acpi/call
You can then retrieve the result of the call by checking your dmesg or:

    sudo cat /proc/acpi/call

You can pass parameters to acpi_call by writing them after the method,
separated by single space. Currently, you can pass the following parameter
* ACPI_INTEGER - by writing NNN or 0xNNN, where NNN is an integer/hex
* ACPI_STRING - by enclosing the string in quotes: "hello, world"
* ACPI_BUFFER - by writing bXXXX, where XXXX is a hex string without spaces,
                or by writing { b1, b2, b3, b4 }, where b1-4 are integers

The status after a call can be read back from /proc/acpi/call:
* 'not called' - nothing to report
* 'Error: <description>' - the call failed
* '0xNN' - the call succeeded, and returned an integer
* '"..."' - the call succeeded, and returned a string
* '{0xNN, ...}' - the call succeeded, and returned a buffer
* '[...]' - the call succeeded, and returned a package which may contain the
   above types (integer, string and buffer) and other package types

Copyright (c) 2010: Michal Kottman

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.