03 Aug, 2010

40 commits

  • Signed-off-by: Hong Liu
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Hong Liu
     
  • Data is 2-byte per entry for PMIC read-modify-update command.

    Signed-off-by: Hong Liu
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Hong Liu
     
  • Don't pass more bytes in the command length field than we filled.

    Signed-off-by: Andy Ross
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Andy Ross
     
  • some messages take 4 bytes, but only fill 3 bytes....
    this patch makes sure that whatever we send to the SCU is zeroed first

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Arjan van de Ven
     
  • The stack buffer for IPC messages was 16 bytes, limiting messages to a
    size of 4 (each message is 32 bit).
    However, the touch screen driver is trying to send messages of size 5....

    (AC: Set to 20 bytes having checked the max size allowed)

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Arjan van de Ven
     
  • This provides an architecture level board identify function to replace the
    cpuid direct usage

    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Alan Cox
     
  • Delete unused constants IPC_CMD_INDIRECT_RD and IPC_CMD_INDIRECT_WR
    Remove multiple inclusion of header file "asm/mrst.h"

    Signed-off-by: Sreedhara DS
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Sreedhara DS
     
  • The firmware of production devices does not support this interface so this
    is dead code.

    Signed-off-by: Sreedhara DS
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Sreedhara DS
     
  • Changes to work on bothMmoorestown and Medfield
    New pci id added for Medfield
    Return type of ipc_data_readl chnaged from u8 to u32

    Signed-off-by: Sreedhara DS
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Sreedhara DS
     
  • Intel SCU message formats depend upon the processor type. Replace the
    module option with automatic detection of the processor type.

    Signed-off-by: Sreedhara DS
    Signed-off-by: Matthew Garrett

    Sreedhara DS
     
  • My .config contains ACER_WMI=m. On SPARC. That does not make sense.
    Restrict the x86 platform driver menu to x86.

    Signed-off-by: Jan Engelhardt
    Signed-off-by: Matthew Garrett

    Jan Engelhardt
     
  • - Set Kconfig option default n
    - Only allow root to read/write io file (sever bug!)
    - Introduce write support module param -> default off
    - Properly clean up if any debugfs files cannot be created

    Signed-off-by: Thomas Renninger
    CC: mjg59@srcf.ucam.org
    CC: platform-driver-x86@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: astarikovskiy@suse.de
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • which will result in a harmless but ugly WARN message on
    some machines.

    Signed-off-by: Thomas Renninger
    CC: mjg59@srcf.ucam.org
    CC: platform-driver-x86@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: astarikovskiy@suse.de
    CC: akpm@linux-foundation.org
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • Signed-off-by: Thomas Renninger
    CC: linux-acpi@vger.kernel.or
    CC: platform-driver-x86@vger.kernel.org
    CC: mjg@redhat.com
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • This should have been an "and". Additionally checking for !obj
    is even better.

    Signed-off-by: Thomas Renninger
    CC: linux-acpi@vger.kernel.or
    CC: platform-driver-x86@vger.kernel.org
    CC: mjg@redhat.com
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • Make dell_laptop_i8042_filter() static as it's used only in dell-laptop.c

    Signed-off-by: Axel Lin
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • This patch includes below fixes:
    1. return -ENOMEM instead of 0 if input_allocate_device fail.
    2. fix wrong goto if sparse_keymap_setup fail.
    3. fix wrong goto if input_register_device fail.

    Signed-off-by: Axel Lin
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • backlight is needlessly defined global.
    This patch makes the symbol static.

    Signed-off-by: Axel Lin
    Acked-by: Anisse Astier
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • Add support for Toshiba Illumination. This is a set of LEDs installed on
    some Toshiba laptops. It is controlled through ACPI, the commands has been
    found through reverse engineering. It has been tested on a Toshiba Qosmio
    G50-122.

    Signed-off-by: Pierre Ducroquet
    Signed-off-by: Matthew Garrett

    Pierre Ducroquet
     
  • compal-laptop uses power_supply interfaces so it should depend
    on POWER_SUPPLY.

    ERROR: "power_supply_register" [drivers/platform/x86/compal-laptop.ko] undefined!
    ERROR: "power_supply_unregister" [drivers/platform/x86/compal-laptop.ko] undefined!

    Signed-off-by: Randy Dunlap
    Cc: Cezary Jackiewicz
    Cc: Matthew Garrett
    Cc: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Randy Dunlap
     
  • Moorestown has PMIC chip which contains GPIO blocks. The PMIC chip is
    connected to Langwell by SPI interface. So this GPIO driver will be regarded
    as SPI GPIO expander though the actual GPIO access is through IPC and SRAM.
    The SPI master contoller will probe this device driver by parsing SPIB table.

    Cleaned up for new IPC, GPE removed and some printk and other tidying by
    Alan Cox. Fixes for points noted by Matthew Garrett

    Signed-off-by: Alek Du
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Alek Du
     
  • Formerly these have been exposed through /proc/..
    Better register them where all IO ports should get registered
    and scream loud if someone else claims to use them.

    EC data and command port typically should show up like this
    then:
    ...
    0060-0060 : keyboard
    0062-0062 : EC data
    0064-0064 : keyboard
    0066-0066 : EC command
    0070-0071 : rtc0
    ...

    Signed-off-by: Thomas Renninger

    CC: Alexey Starikovskiy
    CC: Len Brown
    CC: linux-kernel@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: Bjorn Helgaas
    CC: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • A userspace app to easily read/write the EC can be found here:
    ftp://ftp.suse.com/pub/people/trenn/sources/ec/ec_access.c

    Multiple ECs are not supported, but shouldn't be hard to add as soon
    as the ec driver itself will support them.

    Signed-off-by: Thomas Renninger
    CC: Alexey Starikovskiy
    CC: Len Brown
    CC: linux-kernel@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • This patch provides the same information through debugfs, which previously was
    provided through /proc/acpi/embedded_controller/*/info

    This is the gpe the EC is connected to and whether the global lock
    gets used.
    The io ports used are added to /proc/ioports in another patch.
    Beside the fact that /proc/acpi is deprecated for quite some time,
    this info is not needed for applications and thus can be moved
    to debugfs instead of a public interface like /sys.

    Signed-off-by: Thomas Renninger

    CC: Alexey Starikovskiy
    CC: Len Brown
    CC: linux-kernel@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: Bjorn Helgaas
    CC: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • Signed-off-by: Thomas Renninger

    CC: Alexey Starikovskiy
    CC: Len Brown
    CC: linux-kernel@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • The .add function must not be declared __init.

    Signed-off-by: Thomas Renninger

    CC: Alexey Starikovskiy
    CC: Len Brown
    CC: linux-kernel@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • There is a general interface for that now (provided by
    other patches in this patch series):
    /sys/kernel/debug/ec/*/io

    Signed-off-by: Thomas Renninger

    CC: Alexey Starikovskiy
    CC: Len Brown
    CC: linux-kernel@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: platform-driver-x86@vger.kernel.org
    CC: Henrique de Moraes Holschuh
    CC: ibm-acpi-devel@lists.sourceforge.net
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • Other patches in this series add the same info to /sys/... and
    /proc/ioports.

    The info removed should never have been used in an application,
    eventually someone read it manually.
    /proc/acpi is deprecated for more than a year anyway...

    Signed-off-by: Thomas Renninger

    CC: Alexey Starikovskiy
    CC: Len Brown
    CC: linux-kernel@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • In current implementation, acpi_pcc_write_sset return 1
    if write is successful, 0 if write is failed.
    But all the callers consider acpi_pcc_write_sset return 0
    if write is successful and return negtive if write is failed.

    This patch changes the implementation of acpi_pcc_write_sset to
    return 0 if write is successful, -EIO if write is failed.

    Signed-off-by: Axel Lin
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • The hotplug_disabled module parameter is determinated at the module load
    time. Change the value after the module is loaded does not make sense and
    has no effect at all, thus set the permissions to 0444 instead of 0644.

    Signed-off-by: Axel Lin
    Cc: Corentin Chary
    Cc: Matthew Garrett
    Cc: Alan Jenkins
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • The wapf module parameters defines the behavior of the Fn+Fx wlan key.
    The wlan_status and bluetooth_status module parameters are for setting the
    wlan/bluetooth status on boot.

    All above module parameters are determinated only at the module load time.
    Change the value after the module is loaded does not make sense and has
    no effect at all, thus set the permissions to 0444 instead of 0644.

    Signed-off-by: Axel Lin
    Cc: Corentin Chary
    Cc: Matthew Garrett
    Cc: Alan Jenkins
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • Remove non-used acer_quirks struct definition.

    Signed-off-by: Axel Lin
    Cc: Carlos Corbacho
    Cc: Matthew Garrett
    Cc: Thomas Renninger
    Cc: Alan Jenkins
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • When acpi_evaluate_object() is passed ACPI_ALLOCATE_BUFFER, the caller
    must kfree the returned buffer if AE_OK is returned.

    Call Trace:
    wmab_execute
    -> wmi_evaluate_method
    -> acpi_evaluate_object

    Thus if callers of wmab_execute() pass ACPI_ALLOCATE_BUFFER, the return
    buffer must be kfreed if wmab_execute return AE_OK.

    [akpm@linux-foundation.org: avoid multiple return points, remove unneeded cast, remove unneeded initialisation of `status']
    Signed-off-by: Axel Lin
    Acked-by: Carlos Corbacho
    Cc: Matthew Garrett
    Cc: Thomas Renninger
    Cc: Alan Jenkins
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • When acpi_evaluate_object() is passed ACPI_ALLOCATE_BUFFER, the caller
    must kfree the returned buffer if AE_OK is returned.

    The callers of wmi_query_block() pass ACPI_ALLOCATE_BUFFER, and thus must
    check its return value before accessing or kfree() on the buffer.

    This patch adds a missing kfree(out.pointer) before exit
    WMID_set_capabilities() and get_wmid_devices().

    Signed-off-by: Axel Lin
    Acked-by: Carlos Corbacho
    Cc: Matthew Garrett
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • …ries() and remove_toshiba_proc_entries()

    To improve readability rename add_device() to
    create_toshiba_proc_entries() and rename remove_device() to
    remove_toshiba_proc_entries().

    Signed-off-by: Axel Lin <axel.lin@gmail.com>
    Cc: Matthew Garrett <mjg@redhat.com>
    Cc: Márton Németh <nm127@freemail.hu>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Matthew Garrett <mjg@redhat.com>

    Axel Lin
     
  • Add error checking and return -ENOMEM if input_allocate_device() fail.

    Signed-off-by: Axel Lin
    Acked-by: Thomas Renninger
    Cc: Matthew Garrett
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • remove_device() and add_device() are not related to ACPI APIs, it does not
    make sense to return acpi_status for both functions.

    Current implementation of add_device() always AE_OK, thus the return value
    checking for add_device() always return false for ACPI_FAILURE(status).
    This patch makes add_device() to be void and remove the unnecessary return
    value checking.

    remove_proc_entry() won't fail, thus change remove_device() to be void.

    Signed-off-by: Axel Lin
    Cc: Matthew Garrett
    Cc: Márton Németh
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • Fix resource reclaim in below cases:

    1. acerhdf_register_platform() does not properly handle
    platform_device_alloc() failure and platform_device_add() failure This
    patch adds error handing for acerhdf_register_platform().

    2. acerhdf_register_platform() return err with acerhdf_dev == NULL.
    as a result, acerhdf_unregister_platform() does not do resource reclaim
    in acerhdf_init() error path. This patch adds error handing for
    acerhdf_register_platform(), thus correct the error handing path in
    acerhdf_init(). goto out_err instead of err_unreg if
    acerhdf_register_platform() fail.

    3. platform_device_del() should only used in error handling. Current
    implementation missed a platform_device_put() in acerhdf_exit. This
    patch fixes it by using platform_device_unregister() instead of
    platform_device_del() in acerhdf_unregister_platform.

    Signed-off-by: Axel Lin
    Acked-by: Peter Feuerer
    Cc: Matthew Garrett
    Acked-by: Borislav Petkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • In current implementation, store_ledd() does not return error if
    write_acpi_int fail. This patch fixes it by return -ENODEV if
    write_acpi_int fail.

    Signed-off-by: Axel Lin
    Cc: Matthew Garrett
    Cc: Corentin Chary
    Cc: Alan Jenkins
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • According to the comments of write_acpi_int_ret(), write_acpi_int_ret()
    should return 0 if write is successful, -1 else. Thus if handle is NULL,
    the write does not happen, it should return -1.

    Signed-off-by: Axel Lin
    Cc: Matthew Garrett
    Cc: Corentin Chary
    Cc: Alan Jenkins
    Signed-off-by: Andrew Morton
    Signed-off-by: Matthew Garrett

    Axel Lin