Age | Commit message (Collapse) | Author | Files | Lines |
|
The .add function must not be declared __init.
Signed-off-by: Thomas Renninger <[email protected]>
CC: Alexey Starikovskiy <[email protected]>
CC: Len Brown <[email protected]>
CC: [email protected]
CC: [email protected]
CC: [email protected]
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
CC: Alexey Starikovskiy <[email protected]>
CC: Len Brown <[email protected]>
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: Henrique de Moraes Holschuh <[email protected]>
CC: [email protected]
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
CC: Alexey Starikovskiy <[email protected]>
CC: Len Brown <[email protected]>
CC: [email protected]
CC: [email protected]
CC: [email protected]
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Corentin Chary <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Alan Jenkins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Corentin Chary <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Alan Jenkins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Remove non-used acer_quirks struct definition.
Signed-off-by: Axel Lin <[email protected]>
Cc: Carlos Corbacho <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Thomas Renninger <[email protected]>
Cc: Alan Jenkins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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.
[[email protected]: avoid multiple return points, remove unneeded cast, remove unneeded initialisation of `status']
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Carlos Corbacho <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Thomas Renninger <[email protected]>
Cc: Alan Jenkins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Acked-by: Carlos Corbacho <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Márton Németh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Add error checking and return -ENOMEM if input_allocate_device() fail.
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Thomas Renninger <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Márton Németh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Acked-by: Peter Feuerer <[email protected]>
Cc: Matthew Garrett <[email protected]>
Acked-by: Borislav Petkov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Corentin Chary <[email protected]>
Cc: Alan Jenkins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Corentin Chary <[email protected]>
Cc: Alan Jenkins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
rfkill uses a const struct rfkill_ops pointer.
Signed-off-by: Axel Lin <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Lennart Poettering <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
The following symbols are needlessly defined global:
logolamp_led
kblamps_led
This patch makes the symbols static.
Signed-off-by: Axel Lin <[email protected]>
Cc: Matthew Garrett <[email protected]>
Acked-by: Jonathan Woithe <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
cmpc_accel_sensitivity_attr is needlessly defined global.
This patch makes the symbol static.
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Thadeu Lima de Souza Cascardo <[email protected]>
Cc: Daniel Oliveira Nascimento <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Acked-by: Borislav Petkov <[email protected]>
Acked-by: Peter Feuerer <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Corentin Chary <[email protected]>
Cc: Karol Kozimor <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Len Brown <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Corentin Chary <[email protected]>
Cc: Karol Kozimor <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Len Brown <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Acked-by: Jonathan Woithe <[email protected]>
Cc: Matthew Garrett <[email protected]>a
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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.
[[email protected]: coding-style fixes]
[[email protected]: add missing semicolon]
Signed-off-by: Roald Frederickx <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Roald Frederickx <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Acked-by: Jonathan Woithe <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
Cc: Matthew Garrett <[email protected]>a
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
netbooks
Signed-off-by: Peter Feuerer <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andreas Mohr <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Peter Feuerer <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andreas Mohr <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andreas Mohr <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andreas Mohr <[email protected]>
Cc: Len Brown <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Thomas Renninger <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Axel Lin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Thomas Bächler <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
The interface file is not writable, thus set permissions to S_IRUGO.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Acked-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Acked-by: Thomas Renninger <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
|
|
We exit staging rar! rar! rar!...
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
Acked-by: Greg Kroah-Hartman <[email protected]>
|
|
platform_device_del in module_exit
platform_device_unregister will also call platform_device_put() to drop reference count.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This patch properly kfree out.pointer and gblock in error path.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This is to support Precision M4500 and others.
Signed-off-by: Rezwanul Kabir <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This patch fixes the resource reclaim in acer_wmi_init error path.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
Acked-by: Jesse Barnes <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Feng Tang <[email protected]>
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Cc: Johannes Berg <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|