aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* X86 platform driver: Fix section mismatch in wmi.cThomas Renninger2010-08-031-2/+2
| | | | | | | | | | | | | The .add function must not be declared __init. Signed-off-by: Thomas Renninger <trenn@suse.de> CC: Alexey Starikovskiy <astarikovskiy@suse.de> CC: Len Brown <lenb@kernel.org> CC: linux-kernel@vger.kernel.org CC: linux-acpi@vger.kernel.org CC: platform-driver-x86@vger.kernel.org Signed-off-by: Matthew Garrett <mjg@redhat.com>
* X86 platform drivers: Remove EC dump from thinkpad_acpiThomas Renninger2010-08-032-133/+11
| | | | | | | | | | | | | | | | | 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 <trenn@suse.de> CC: Alexey Starikovskiy <astarikovskiy@suse.de> CC: Len Brown <lenb@kernel.org> CC: linux-kernel@vger.kernel.org CC: linux-acpi@vger.kernel.org CC: platform-driver-x86@vger.kernel.org CC: Henrique de Moraes Holschuh <hmh@hmh.eng.br> CC: ibm-acpi-devel@lists.sourceforge.net Signed-off-by: Matthew Garrett <mjg@redhat.com>
* ACPI: Remove /proc/acpi/embedded_controller/..Thomas Renninger2010-08-031-80/+1
| | | | | | | | | | | | | | | | | | 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 <trenn@suse.de> CC: Alexey Starikovskiy <astarikovskiy@suse.de> CC: Len Brown <lenb@kernel.org> CC: linux-kernel@vger.kernel.org CC: linux-acpi@vger.kernel.org CC: platform-driver-x86@vger.kernel.org Signed-off-by: Matthew Garrett <mjg@redhat.com>
* panasonic-laptop: fix acpi_pcc_write_sset return valueAxel Lin2010-08-031-5/+2
| | | | | | | | | | | | | 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 <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* eeepc-laptop: fix hotplug_disabled module_param permissionsAxel Lin2010-08-031-1/+1
| | | | | | | | | | | | | 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 <axel.lin@gmail.com> Cc: Corentin Chary <corentincj@iksaif.net> Cc: Matthew Garrett <mjg@redhat.com> Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* asus-laptop: fix wapf, wlan_status and bluetooth_status module_param permissionsAxel Lin2010-08-031-3/+3
| | | | | | | | | | | | | | | | | 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 <axel.lin@gmail.com> Cc: Corentin Chary <corentincj@iksaif.net> Cc: Matthew Garrett <mjg@redhat.com> Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acer-wmi: remove non-used acer_quirks struct definitionAxel Lin2010-08-031-11/+0
| | | | | | | | | | | | Remove non-used acer_quirks struct definition. Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Carlos Corbacho <carlos@strangeworlds.co.uk> Cc: Matthew Garrett <mjg@redhat.com> Cc: Thomas Renninger <trenn@suse.de> Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acer-wmi: fix memory leaks in wmab_execute error pathAxel Lin2010-08-031-8/+16
| | | | | | | | | | | | | | | | | | | | | | 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 <axel.lin@gmail.com> Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Cc: Matthew Garrett <mjg@redhat.com> Cc: Thomas Renninger <trenn@suse.de> Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acer-wmi: fix memory leaks in WMID_set_capabilities and get_wmid_devicesAxel Lin2010-08-031-3/+7
| | | | | | | | | | | | | | | | | 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 <axel.lin@gmail.com> Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* toshiba_acpi: rename add_device() and remove_device() to ↵Axel Lin2010-08-031-4/+4
| | | | | | | | | | | | | | create_toshiba_proc_entries() 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>
* hp-wmi: add return value checking for input_allocate_device()Axel Lin2010-08-031-0/+2
| | | | | | | | | | Add error checking and return -ENOMEM if input_allocate_device() fail. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Thomas Renninger <trenn@suse.de> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* toshiba_acpi: make remove_device() and add_device() voidAxel Lin2010-08-031-11/+3
| | | | | | | | | | | | | | | | | | 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 <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>
* acerhdf: fix resource reclaim in error pathAxel Lin2010-08-031-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <axel.lin@gmail.com> Acked-by: Peter Feuerer <peter@piie.net> Cc: Matthew Garrett <mjg@redhat.com> Acked-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* asus-laptop: return proper error for store_ledd if write_acpi_int failAxel Lin2010-08-031-3/+4
| | | | | | | | | | | | | 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 <axel.lin@gmail.com> Cc: Matthew Garrett <mjg@redhat.com> Cc: Corentin Chary <corentincj@iksaif.net> Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* asus-laptop: fix incorrect return value for write_acpi_int_ret if handle is NULLAxel Lin2010-08-031-1/+1
| | | | | | | | | | | | | 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 <axel.lin@gmail.com> Cc: Matthew Garrett <mjg@redhat.com> Cc: Corentin Chary <corentincj@iksaif.net> Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* msi-laptop: make struct rfkill_ops constAxel Lin2010-08-031-3/+3
| | | | | | | | | | rfkill uses a const struct rfkill_ops pointer. Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Matthew Garrett <mjg@redhat.com> Cc: Lennart Poettering <mzxreary@0pointer.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* fujitsu-laptop: make needlessly global symbols staticAxel Lin2010-08-031-2/+2
| | | | | | | | | | | | | | | The following symbols are needlessly defined global: logolamp_led kblamps_led This patch makes the symbols static. Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Matthew Garrett <mjg@redhat.com> Acked-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* classmate-laptop: make needlessly global symbols staticAxel Lin2010-08-031-1/+1
| | | | | | | | | | | | cmpc_accel_sensitivity_attr is needlessly defined global. This patch makes the symbol static. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Cc: Daniel Oliveira Nascimento <don@syst.com.br> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acerhdf: make needlessly global symbols staticAxel Lin2010-08-031-5/+5
| | | | | | | | | | | | | | | | | | | The following symbols are needlessly defined global: thz_dev cl_dev acerhdf_dev acerhdf_dev_ops acerhdf_cooling_ops This patch makes the symbols static. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Borislav Petkov <bp@alien8.de> Acked-by: Peter Feuerer <peter@piie.net> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* asus_acpi: fix coding style to improve readabilityAxel Lin2010-08-031-3/+3
| | | | | | | | | | | | | | | In the case of no match ( hotk->model == END_MODEL ), the only posible case to return 0 is to have a Samsung P30 detected. This patch improves readability by moving related code after if/else clause to be inside if clause. Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Corentin Chary <corentincj@iksaif.net> Cc: Karol Kozimor <sziwan@users.sourceforge.net> Cc: Matthew Garrett <mjg@redhat.com> Cc: Len Brown <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* asus_acpi: fix a memory leak in asus_hotk_get_info()Axel Lin2010-08-031-2/+3
| | | | | | | | | | | | | | | | | | | In the case of no match ( hotk->model == END_MODEL ), model sholud be kfreed before return AE_OK. This patch includes below fixes: 1. adds a missing kfree(model) before return AE_OK. 2. asus_hotk_get_info should return int, thus return 0 instead of AE_OK. Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Corentin Chary <corentincj@iksaif.net> Cc: Karol Kozimor <sziwan@users.sourceforge.net> Cc: Matthew Garrett <mjg@redhat.com> Cc: Len Brown <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* compal-laptop/fujitsu-laptop/msi-laptop: make dmi_check_cb to return 1 ↵Axel Lin2010-08-033-5/+5
| | | | | | | | | | | | | | | | instead of 0 dmi_check_system() walks the table running matching functions until someone returns non zero or we hit the end. This patch makes dmi_check_cb to return 1 so dmi_check_system() return immediately when a match is found. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au> Cc: Matthew Garrett <mjg@redhat.com>a Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* compal-laptop: add JHL90, battery & hwmon interfaceRoald Frederickx2010-08-031-105/+822
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver now supports the Compal JHL90 (which I use) and it has some added features. The biggest novelties are a battery interface (power_supply) and a temperature and fan control interface (hmwon). It also adds a power-off feature to the backlight subsystem and it exports a few files that can enable/disable wake_on_XXX events. Much of the original code of the old features is still there, but I've changed some names to keep the naming more coherent with the added functionalities. (Sorry for the huge patch) Some technical stuff about the new driver: First of all, I'm not sure if the extra features also work on the other Compal boards. Currently they only get enabled if the DMI data indicates you are on a JHL90 board. Secondly, I've noticed a quirk in my fan controller. I have to re-send the wanted pwm-level to the controller every so often. If I don't do this, the fanspeed will slowly rise until after a couple of minutes it's at full speed. (Note that every normal userland application will probably update the pwm-level every so often anyway, based on temperature readings, so this might not be an issue in practice) If this turns out to be a problem with all the controllers, maybe we should implement a kernel timer and have the driver re-send the pwm level every XX seconds to make this transparent to userspace? (However, I couldn't immediately find a way to do this cleanly.) Additional information can be found in the source comments. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: add missing semicolon] Signed-off-by: Roald Frederickx <roald.frederickx@gmail.com> Cc: Matthew Garrett <mjg59@srcf.ucam.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* compal-laptop: uses hwmon interfaces, depends on HWMONRandy Dunlap2010-08-031-0/+1
| | | | | | | | | | | | | compal-laptop uses hwmon interfaces, so it should depend on HWMON. compal-laptop.c:(.devinit.text+0x4071f): undefined reference to `hwmon_device_register' compal-laptop.c:(.devexit.text+0x6ec0): undefined reference to `hwmon_device_unregister' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Roald Frederickx <roald.frederickx@gmail.com> Cc: Matthew Garrett <mjg59@srcf.ucam.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* fujitsu-laptop: remove unnecessary input_free_device callsAxel Lin2010-08-031-4/+2
| | | | | | | | | | | | | input_free_device() should only be used if input_register_device() was not called yet or if it failed. This patch removes unnecessary input_free_device calls. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au> Acked-by: Dmitry Torokhov <dtor@mail.ru> Cc: Matthew Garrett <mjg@redhat.com>a Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acerhdf: add AO531 and many BIOS versions for 1410, 1810xx and packard bell ↵Peter Feuerer2010-08-031-1/+28
| | | | | | | | | | | | netbooks Signed-off-by: Peter Feuerer <peter@piie.net> Cc: Borislav Petkov <petkovbb@gmail.com> Cc: Andreas Mohr <andi@lisas.de> Cc: Len Brown <lenb@kernel.org> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acerhdf: driver didn't verify the pointers in which it got product informationRahul Chaturvedi2010-08-031-0/+4
| | | | | | | | | | | | | | | Driver didn't verify the pointers in which it got product information back from DMI; on QEMU one of the pointers came back null, which made the driver crash and subsequently caused a kernel panic. Signed-off-by: Rahul Chaturvedi <rkc@chromium.org> Signed-off-by: Peter Feuerer <peter@piie.net> Cc: Borislav Petkov <petkovbb@gmail.com> Cc: Andreas Mohr <andi@lisas.de> Cc: Len Brown <lenb@kernel.org> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acerhdf: remove "chk_off" as it was only needed for T31 netbooksPeter Feuerer2010-08-031-47/+45
| | | | | | | | | | | | | | Remove "chk_off" as it was only needed for T31 netbooks. But those netbooks can also be handled just with "cmd_off" register (0x9e) for reading the state back. Signed-off-by: Peter Feuerer <peter@piie.net> Cc: Borislav Petkov <petkovbb@gmail.com> Cc: Andreas Mohr <andi@lisas.de> Cc: Len Brown <lenb@kernel.org> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acerhdf: add new BIOS versionsPeter Feuerer2010-08-031-3/+12
| | | | | | | | | | | | | | Add new BIOS versions for Acer 1410 and 1810xx and Packard Bell netbooks. Fixed registers of Acer AOA150 BIOS version v0.3114: Old registers caused Fan to spin up at every temperature check. Signed-off-by: Peter Feuerer <peter@piie.net> Cc: Borislav Petkov <petkovbb@gmail.com> Cc: Andreas Mohr <andi@lisas.de> Cc: Len Brown <lenb@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* hp-wmi: return -ENODEV if BIOS does not export any supported hp wmi guidThomas Renninger2010-08-031-2/+7
| | | | | | | | | Signed-off-by: Thomas Renninger <trenn@suse.de> Cc: Matthew Garrett <mjg@redhat.com> Cc: Len Brown <len.brown@intel.com> Cc: Axel Lin <axel.lin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* toshiba-acpi: Add an extra couple of keysMatthew Garrett2010-08-031-0/+2
| | | | | | | | Thomas Bächler reports that his machine generates two keycodes for zooming in and out. Add these to the default keymap. Signed-off-by: Matthew Garrett <mjg@redhat.com> Cc: Thomas Bächler <thomas@archlinux.org>
* sony-laptop: use platform_device_unregister in sony_pf_removeAxel Lin2010-08-031-2/+1
| | | | | | | | | | | | platform_device_unregister calls platform_device_del and platform_device_put, thus this change is logically equivalent to original code. I made this change because the documents in platform.c shows that: platform_device_del and platform_device_put must _only_ be externally called in error cases. All other usage is a bug. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* dell-wmi: fix a memory leakAxel Lin2010-08-031-1/+8
| | | | | | | | | | If dell_new_hk_type is true, dell_legacy_wmi_keymap will point to a memory allocated in setup_new_hk_map(). In this case, the memory is not freed in current implementation. This patch fixes the leak by kfree(dell_wmi_keymap) if dell_new_hk_type is true. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acer-wmi: make dmi_matched to return 1 instead of 0Axel Lin2010-08-031-1/+1
| | | | | | | | | | | dmi_check_system() walks the table running matching functions until someone returns non zero or we hit the end. This patch makes dmi_matched to return 1 so dmi_check_system() return immediately when a match is found. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acer-wmi: set permissions on interface file to S_IRUGOAxel Lin2010-08-031-2/+1
| | | | | | | The interface file is not writable, thus set permissions to S_IRUGO. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* asus-laptop: fix a memory leak in asus_laptop_get_info error pathAxel Lin2010-08-031-1/+3
| | | | | | | | | | | | The callers of write_acpi_int_ret() pass ACPI_ALLOCATE_BUFFER, the caller must kfree the returned buffer if AE_OK is returned. This patch adds a missing kfree(buffer.pointer) before return -ENOMEM if kstrdup fail. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* wmi: fix a memory leak in wmi_notify_debugAxel Lin2010-08-031-1/+7
| | | | | | | | | | | | | | | | 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_get_event_data() pass ACPI_ALLOCATE_BUFFER, and thus must check its return value before accessing or kfree() on the buffer. This patch adds return value checking for wmi_get_event_data() and adds a missing kfree(obj) in the end of wmi_notify_debug Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* dell-wmi: Add support for eject key on Dell Studio 1555Islam Amer2010-08-031-1/+1
| | | | | | | | | Fixes pressing the eject key on Dell Studio 1555 does not work and produces message : dell-wmi: Unknown key 0 pressed Signed-off-by: Islam Amer <pharon@gmail.com>
* rar: Move the RAR driver into the right place as its now cleanAlan Cox2010-08-039-43/+26
| | | | | | | | We exit staging rar! rar! rar!... Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Matthew Garrett <mjg@redhat.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
* acer-wmi/hp-wmi: use platform_device_unregister instead of ↵Axel Lin2010-08-032-2/+2
| | | | | | | | | platform_device_del in module_exit platform_device_unregister will also call platform_device_put() to drop reference count. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* wmi: fix memory leak in parse_wdgAxel Lin2010-08-031-5/+11
| | | | | | | This patch properly kfree out.pointer and gblock in error path. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* dell-laptop: Add another Dell laptop family to the DMI whitelistRezwanul Kabir2010-08-031-0/+7
| | | | | | | This is to support Precision M4500 and others. Signed-off-by: Rezwanul Kabir <Rezwanul_Kabir@dell.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* acer-wmi: fix resource reclaim in acer_wmi_init error pathAxel Lin2010-08-031-5/+22
| | | | | | | This patch fixes the resource reclaim in acer_wmi_init error path. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* X86: intel_ips, check for kzalloc properlyJiri Slaby2010-08-031-4/+5
| | | | | | | | | | | | | | | | | Stanse found that there are two NULL checks missing in ips_monitor. So check their value too and bail out appropriately if the allocation failed. While at it, add one more kfree to the fail path. It is not necessary now, but may be needed in the future when a new allocation is added. And for completeness. Also remove unneeded initialization of the variables. They are all set right after their declaration. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Matthew Garrett <mjg@redhat.com> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
* hp-wmi: add error handling for hp_wmi_initAxel Lin2010-08-031-6/+25
| | | | | | | | | Current implementation in hp_wmi_init does not check any error and always return success. This patch properly handles recource reclaim and return err in error path. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* intel_scu_ipc: add definitions for vRTC related commandFeng Tang2010-08-031-0/+6
| | | | | | Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* classmate-laptop: should check for NULL as retval for rfkill_allocThadeu Lima de Souza Cascardo2010-08-031-5/+6
| | | | | | | | | | | | | | | rfkill_alloc returns NULL when it fails if RFKILL is enabled. When RFKILL is disabled, its return value of ERR_PTR(-ENODEV) is OK to use as all rfkill functions will work with it, as they are simply empty stubs. Reported-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: platform-driver-x86@vger.kernel.org Cc: mjg@redhat.com Cc: don@syst.com.br Cc: rpurdie@rpsys.net Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* IPS driver: add GPU busy and turbo checkingJesse Barnes2010-08-031-13/+17
| | | | | | | | | Be sure to enable GPU turbo by default at load time and check GPU busy and MCP exceeded status correctly. Also fix up CPU power comparison and work around buggy MCH temp reporting. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* x86 platform driver: intelligent power sharing driverJesse Barnes2010-08-034-0/+1675
| | | | | | | | | | | | | | | | | | | Intel Core i3/5 platforms with integrated graphics support both CPU and GPU turbo mode. CPU turbo mode is opportunistic: the CPU will use any available power to increase core frequencies if thermal headroom is available. The GPU side is more manual however; the graphics driver must monitor GPU power and temperature and coordinate with a core thermal driver to take advantage of available thermal and power headroom in the package. The intelligent power sharing (IPS) driver is intended to coordinate this activity by monitoring MCP (multi-chip package) temperature and power, allowing the CPU and/or GPU to increase their power consumption, and thus performance, when possible. The goal is to maximize performance within a given platform's TDP (thermal design point). Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* timer: add on-stack deferrable timer interfacesJesse Barnes2010-08-032-0/+28
| | | | | | | | | In some cases (for instance with kernel threads) it may be desireable to use on-stack deferrable timers to get their power saving benefits. Add interfaces to support this for the IPS driver. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>