20 May, 2010
14 commits
-
Found the N014, N051 and CR620 are must the same with N034 there are
load scm serial model. So, this patch move N014, N051 and CR620 dmi
information to right dmi table: msi_load_scm_models_dmi_table[]Signed-off-by: Lee, Chun-Yi
-
drivers/platform/x86/eeepc-wmi.c: In function ‘eeepc_wmi_notify’:
drivers/platform/x86/eeepc-wmi.c:209: warning: ‘new’ may be used uninitialized in this function
drivers/platform/x86/eeepc-wmi.c:209: note: ‘new’ was declared hereSigned-off-by: Daniel Mack
Cc: Matthew Garrett
Cc: Yong Wang
Cc: Corentin Chary
Cc: Dmitry Torokhov
Cc: Tejun Heo
Cc: platform-driver-x86@vger.kernel.org
Acked-By: Corentin Chary
Signed-off-by: Matthew Garrett -
Signed-off-by: Thomas Renninger
CC: platform-driver-x86@vger.kernel.org
CC: mjg59@srcf.ucam.org
CC: corentin.chary@gmail.com
Signed-off-by: Carlos Corbacho
Signed-off-by: Matthew Garrett -
Output in log with debug=1:
ACPI: WMI: DEBUG Event INTEGER_TYPE - 65535
ACPI: WMI: DEBUG Event GUID: CC1A61AC-4256-41A3-B9E0-05A445ADE2F5Signed-off-by: Thomas Renninger
CC: platform-driver-x86@vger.kernel.org
CC: mjg59@srcf.ucam.org
CC: corentin.chary@gmail.com
Signed-off-by: Carlos Corbacho
Signed-off-by: Matthew Garrett -
To give people easily an idea what could be WMI driven on their system.
Introduces:
wmi.debug=[01]Tested on an acer:
ACPI: WMI: DEBUG Event INTEGER_TYPE - 65535Situation where a driver registers for specific event and debug
handler gets overridden and set again if the registering driver gets
unloaded again is untested, but should work.Signed-off-by: Thomas Renninger
CC: platform-driver-x86@vger.kernel.org
CC: mjg59@srcf.ucam.org
CC: corentin.chary@gmail.com
Signed-off-by: Carlos Corbacho
Signed-off-by: Matthew Garrett -
Clean up i8042 filter, rfkill and cancel delayed work when msi-laptop driver initial fail or exit on MSI scm model.
Signed-off-by: Lee, Chun-Yi
-
Cc: Lee, Chun-Yi
Signed-off-by: Greg Kroah-Hartman -
There have some MSI netbook change devices state by EC when user press
wlan/bluetooth/wwan function keys. So, add a i8042 filter to sync sw
state with BIOS when function keys pressed.Signed-off-by: Lee, Chun-Yi
Signed-off-by: Greg Kroah-Hartman -
Setup Wlan/Bluetooth/3G rfkill initial state to sync with the hardware
state from EC 0x2e address.Signed-off-by: Lee, Chun-Yi
Signed-off-by: Greg Kroah-Hartman -
Add new MSI notebook CR620 dmi information to scm models table.
Signed-off-by: Lee, Chun-Yi
Signed-off-by: Greg Kroah-Hartman -
Add new MSI netbook N014 and N051 dmi information to scm models table.
Signed-off-by: Lee, Chun-Yi
Signed-off-by: Greg Kroah-Hartman -
Use kmemdup when some other buffer is immediately copied into the
allocated region.A simplified version of the semantic patch that makes this change is as
follows: (http://coccinelle.lip6.fr/)//
@@
expression from,to,size,flag;
statement S;
@@- to = \(kmalloc\|kzalloc\)(size,flag);
+ to = kmemdup(from,size,flag);
if (to==NULL || ...) S
- memcpy(to, from, size);
//Signed-off-by: Julia Lawall
-
Use kzalloc rather than the combination of kmalloc and memset.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)//
@@
expression x,size,flags;
statement S;
@@-x = kmalloc(size,flags);
+x = kzalloc(size,flags);
if (x == NULL) S
-memset(x, 0, size);
//Signed-off-by: Julia Lawall
-
…nux-acpi-2.6/ibm-acpi-2.6 into x86-platform
18 May, 2010
4 commits
-
Make it clear that this driver is only needed for embedded hardware,
not PCs.Signed-off-by: Matthew Garrett
-
eeepc-wmi uses backlight*() interfaces so it should depend on
BACKLIGHT_CLASS_DEVICE.eeepc-wmi.c:(.text+0x2d7f54): undefined reference to `backlight_force_update'
eeepc-wmi.c:(.text+0x2d8012): undefined reference to `backlight_device_register'
eeepc-wmi.c:(.devinit.text+0x1c31c): undefined reference to `backlight_device_unregister'
eeepc-wmi.c:(.devexit.text+0x2f8b): undefined reference to `backlight_device_unregister'Signed-off-by: Randy Dunlap
Cc: stable@kernel.org -
The IPC (inter processor communications) is used to provide the
communications between kernel and system control units on some embedded
Intel x86 platforms.(Various bits of clean up and restructuring by Alan Cox)
Signed-off-by: Sreedhara DS
Signed-off-by: Alan Cox -
The RFKILL device shares the same ACPI device used for backlight. So, it
required a new struct sharing both a backlight_device and a rfkill
device.Signed-off-by: Thadeu Lima de Souza Cascardo
17 May, 2010
13 commits
-
Document this, it is no fun to try to second guess why this sort of
stuff is in place years after it was added...Signed-off-by: Henrique de Moraes Holschuh
-
1. Remove _path, as its only user was already removed in
a previous commit2. Move all handle initialization, as well as _parent and
_paths to __init.* sections. This reduces the driver's
runtime footprint nicely.Signed-off-by: Henrique de Moraes Holschuh
-
Don't depend on the contents of led_path to know which LED interface
the firmware wants.This removes the only user of *_path for the thinkpad-acpi ACPI
handlers, which will simplify future code.Signed-off-by: Henrique de Moraes Holschuh
-
Log more human-friendly errors instead of numeric values when
setup_acpi_notify() fails to install a notification handler.Signed-off-by: Henrique de Moraes Holschuh
-
Use acpi_format_exception() in acpi_evalf() instead of logging numeric
errors.Also, when ACPICA returns an error, we should not be touching the return
object, as it is invalid. In debug mode, acpi_evalf() callers would
printk the returned crap (but fortunately, not use it).Signed-off-by: Henrique de Moraes Holschuh
-
Use the EC HID (PNP0C09) to locate its main node, instead of a static
list.Suggested-by: Matthew Garrett
Signed-off-by: Henrique de Moraes Holschuh
Cc: Matthew Garrett -
Disclose the user task doing ALSA access when requested by
the debug bitmask.Signed-off-by: Henrique de Moraes Holschuh
-
Handle multiple brightness hotkey presses between two polling cycles.
Signed-off-by: Henrique de Moraes Holschuh
-
Extract the backlight level range size detection from the brightness
subdriver, and allow the other subdrivers access to that information.This also allows us to relocate some code to a more convenient place.
The moved code was largerly unmodified, except for the return type of
tpacpi_check_std_acpi_brightness_support(), which now is correctly
marked as returning "unsigned int", and and two cosmetic fixes to make
checkpatch.pl happy.Fixes for the NVRAM polling mode for the brightness hotkeys will need
this.Signed-off-by: Henrique de Moraes Holschuh
-
Move the driver initial greetings out of the first subdriver, as we do a
lot of other initialization before that point, and the initial greetings
should go as soon as the driver decides that it should load.These greetings are not cosmetic, they make my life easier when users
report bugs.Signed-off-by: Henrique de Moraes Holschuh
-
The hotkey polling code is supposed to generate hotkey messages as
close to the way the IBM event-based volume hotkey firmware does as
possible, i.e:* Pressing MUTE issues a mute hotkey event, even if already mute;
* Pressing Volume up/down issues a volume up/down hotkey event,
even if already at maximum or minumum volume;* The act of unmuting issues a volume up/down event, depending on
which hotkey was used to unmute.Fix the code to do just that (mute handling was incorrect), and handle
multiple hotkey presses between two polling cycles.The new code uses the volume_toggle bit in NVRAM only to detect
repeated presses of the mute key and multiple presses of the volume
keys trying to go past the end of the volume scale. This will work
around a bug in recent Lenovo firmware (e.g. T400), which causes the
firmware to not update the volume_toggle bit in certain situations.Reported-by: Yang Zhe
Signed-off-by: Henrique de Moraes Holschuh -
The X100e needs some quick fixes to work semi-right with this driver.
There are much better ways to do this, but we can start with a quick
update and do it properly later.Signed-off-by: Henrique de Moraes Holschuh
-
Lenovo is playing around with its ACPI BIOS, and will end up reusing
method names. Their memory is not nearly as long as thinkpad-acpi's...Secure most of the old IBM codepaths against running in a non-IBM box.
This would happen on the Lenovo X100e in video_init(), for example. We
would misdetect it as an ancient model 570 firmware.Also, refuse to load the driver if we cannot identify the vendor. No
ACPI ThinkPad in existence lacks this information, AFAIK.Signed-off-by: Henrique de Moraes Holschuh
24 Apr, 2010
1 commit
-
Also remove legacy keymap which was not used since
we use sparse_keymap.Signed-off-by: Corentin Chary
13 Apr, 2010
6 commits
-
-tip testing found:
eeepc-wmi.c:(.text+0x36673c): undefined reference to `sparse_keymap_report_event'
drivers/built-in.o: In function `eeepc_wmi_init':
eeepc-wmi.c:(.init.text+0x19cd0): undefined reference to `sparse_keymap_setup'
eeepc-wmi.c:(.init.text+0x19cf0): undefined reference to `sparse_keymap_free'
eeepc-wmi.c:(.init.text+0x19d0b): undefined reference to `sparse_keymap_free'
drivers/built-in.o: In function `eeepc_wmi_exit':
eeepc-wmi.c:(.exit.text+0x2e87): undefined reference to `sparse_keymap_free'To fix this select INPUT_SPARSEKMAP, like the ASUS driver does.
Signed-off-by: Ingo Molnar
Signed-off-by: Matthew Garrett -
We were storing -1 as an unsigned int and as a result the effect of
passing -1 was the same as using 1.Signed-off-by: Dan Carpenter
Signed-off-by: Matthew Garrett
Acked-by: Corentin Chary -
The output of wmi_get_event_data shall be freed before return.
Signed-off-by: Matthew Garrett
Signed-off-by: Yong Wang -
Add backlight support for WMI based Eee PC laptops.
Signed-off-by: Yong Wang
Signed-off-by: Matthew Garrett
Reviewed-by: Corentin Chary -
Add a platform device and use it as the parent device of all sub-devices.
Signed-off-by: Yong Wang
Signed-off-by: Matthew Garrett
Reviewed-by: Corentin Chary -
Add an eeepc_wmi context structure to manage all the sub-devices
that will be implemented later on. Put input device into it first.Signed-off-by: Yong Wang
Signed-off-by: Matthew Garrett
Reviewed-by: Corentin Chary
07 Apr, 2010
1 commit
-
Made necessary by 6992f5334995af474c2b58d010d08bc597f0f2fe ("sysfs: Use
one lockdep class per sysfs attribute").Prevents further "key xxx not in .data" bug-reports. Although some
attributes could probably be converted to static ones, this is left for
people having hardware to test.Found by this semantic patch:
@ init @
type T;
identifier A;
@@T {
...
struct device_attribute A;
...
};@ main extends init @
expression E;
statement S;
identifier err;
T *name;
@@... when != sysfs_attr_init(&name->A.attr);
(
+ sysfs_attr_init(&name->A.attr);
if (device_create_file(E, &name->A))
S
|
+ sysfs_attr_init(&name->A.attr);
err = device_create_file(E, &name->A);
)While reviewing, I put the initialization to apropriate places.
Signed-off-by: Wolfram Sang
Cc: Eric W. Biederman
Cc: Greg KH
Cc: Benjamin Herrenschmidt
Cc: Grant Likely
Cc: Mike Isely
Cc: Mauro Carvalho Chehab
Cc: Sujith Thomas
Cc: Matthew Garrett
Cc: Len Brown
Cc: Krzysztof Helt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
05 Apr, 2010
1 commit
-
eeepc-wmi uses kfree() but doesn't include slab.h. Include it.
Signed-off-by: Tejun Heo
Cc: Yong Wang