Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Keng-Yu Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=25922
On ideapad Y530, the brightness key notify will be blocked if the last notify
is not responsed by getting the brightness value. Read value when we get the
notify shall fix the problem and will not have any difference on other ideapads.
Signed-off-by: Ike Panhc <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Fix eeepc-wmi build when CONFIG_HOTPLUG_PCI is not enabled:
eeepc-wmi.c:(.text+0x3bc5e9): undefined reference to `pci_hp_deregister'
eeepc-wmi.c:(.text+0x3bcca4): undefined reference to `__pci_hp_register'
Signed-off-by: Randy Dunlap <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
I also found some leds ids (0x00020011-0x00020016 and 0x00040015),
but since they are not really present on the notebook,
I can't guess their name .
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Introduce a new driver for Asus Notebooks shipped with
a WMI device instead of the old ACPI device. The WMI
device is almost the same as the one present in Eee PC,
but the event guid and the keymap are different.
The keymap comes from asus-laptop module.
On Asus notebooks, when you call the WMI device, you always
need a 64bit buffer, even if you only want to get the state
of a device (tested on a G73).
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Also add some # format flags to debugfs output.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
INIT() call is needed to enable hotkeys on G73
SPEC() and SFUN() allow us to know more about
available features.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This is tricky, new WMI aware notebooks seems to use
0x53545344 while Eee PCs are using 0x53544344. But there
is no way to know if there is an Eee PC in that wild that is
using 0x53545344 or a notebook using 0x53544344. So the
driver try to guess the available DSTS method ... But most Eee PCs
never return 0xFFFFFFFE when a method is not available, they return
0 instead (and that's useless).
So, first, try 0x53544344 then 0x53545344. We will find
a better way when we got more data.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This patch create a single function to call the
WMI methods. This function handle inexistent methods (when
implemented by the WMI devices, and this is not the case on
Eee PCs), ACPI errors, etc..
Also pack struct bios_arg, and make sure that we always send
a 64bit buffer when calling a WMI method, because this is
needed on Asus notebooks.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
First, this allow use to remove the custom asusrfkill_wlan_query,
but this will also allow us to give struct asus_wmi * to
get_devstate/set_devstate later.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
New Asus notebooks are using a WMI device similar to
the one used in Eee PCs. Since we don't want to load
eeepc-wmi module on Asus notebooks, and we want to
keep the eeepc-wmi module for backward compatibility,
this patch introduce a new module, named asus-wmi, that
will be used by eeepc-wmi and the new Asus Notebook WMI
Driver.
eeepc-wmi's input device strings (device name and phys)
are kept, but rfkill and led names are changed (s/eeepc/asus/).
This should not break anything since rfkill are used by type or
index, not by name, and the eeepc::touchpad led wasn't working
correctly before 2.6.39 anyway.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
New Asus notebooks are using a WMI device similar to
the one used in Eee PCs. Since we don't want to load
a module named eeepc-laptop on Asus Notebooks, start by
copying all the code to asus-wmi.c.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This is the basic thermal sensor driver for Intel MID platform using the
Medfield chipset. It plugs in via the thermal drivers and provides sensor
readings for the device sensors.
Signed-off-by: Durgadoss R <[email protected]>
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Some recent HP laptops use a new wireless query command type 0x1b.
Add support for it. Tested on HP Mini 5102.
Signed-off-by: Anssi Hannula <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
hp_wmi_rfkill_setup cleans up after itself now, so failing completely is
no longer necessary.
Signed-off-by: Anssi Hannula <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
NULLify rfkill pointers during initialization. This prevents dereference
of invalid pointer in case the driver is rebound and some rfkill device
isn't detected anymore. Clear them also in hp_wmi_rfkill_setup failure
path so that an rfkill initialization failure doesn't need to be fatal
for the whole driver.
Signed-off-by: Anssi Hannula <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Split initialization of rfkill devices from hp_wmi_bios_setup() to
hp_wmi_rfkill_setup(). This makes the code somewhat cleaner, especially
with the future command 0x1b rfkill support.
Signed-off-by: Anssi Hannula <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Split buffersize parameter of hp_wmi_perform_query to insize and
outsize. Existing callers are changed to use the same value for insize
and outsize to avoid any regressions, with the exception of
hp_wmi_set_block where the output buffer is unused and therefore outsize
is set to 0 (this change is not seen by BIOS code).
The maximum input buffer size is kept at 4 bytes as per struct
bios_args. Some commands exist that take longer buffers, but they
haven't been implemented. The data portion of bios_args can be trivially
made dynamically allocated later when such larger buffers become needed.
Signed-off-by: Anssi Hannula <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Remove the status variable from hp_wmi_perform_query which holds the
return value from wmi_evaluate_method(). It is never checked as the
function bails out if the output buffer hasn't been allocated which
indicates the call failed.
Signed-off-by: Anssi Hannula <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Check BIOS provided return value code in hp_wmi_perform_query and print
a warning on error. Printing is suppressed for HPWMI_RET_UNKNOWN_CMDTYPE
which is returned when the command type is unsupported.
Signed-off-by: Anssi Hannula <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Reasonably recent Vaios have a 0x12f or 0x137 handler that exposes a
fine lid backlight regulation with values ranging from 0 to 255.
The patch is based on findings and code from Javier Achirica
<[email protected]> and Marco Chiappero <[email protected]>
Signed-off-by: Mattia Dongili <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Recent Vaios have the opportunity to control the keyboard backlight via
ACPI calls to the SNC device.
Introduce two module parameters to control how keyboard backlight should
be set at module loading (default to on and with 10 seconds timeout).
Tested-by: Marco Chiappero <[email protected]>
Signed-off-by: Mattia Dongili <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Avoid calling into acpi each time we need to lookup a method handle
and report the available handles to ease collection of information when
debugging issues. Also move initialization of the platform driver
earlier to allow adding files from other setup functions.
Signed-off-by: Mattia Dongili <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Mattia Dongili <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Mattia Dongili <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
There is not much use for these events in userspace and handling the
events themselves seems to get in the way of the actual activation of
the rf devices. The SNC device doesn't expose them already.
https://bugzilla.kernel.org/show_bug.cgi?id=15303
Signed-off-by: Mattia Dongili <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Mattia Dongili <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Mattia Dongili <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
intel_mid_powerbtn.c uses input interfaces, so it should depend
on INPUT to fix build errors when CONFIG_INPUT is not enabled:
intel_mid_powerbtn.c:(.text+0x56ca8f): undefined reference to `input_event'
intel_mid_powerbtn.c:(.devinit.text+0x2e7b4): undefined reference to `input_allocate_device'
intel_mid_powerbtn.c:(.devinit.text+0x2e7ff): undefined reference to `input_set_capability'
intel_mid_powerbtn.c:(.devinit.text+0x2e84a): undefined reference to `input_register_device'
intel_mid_powerbtn.c:(.devinit.text+0x2e88b): undefined reference to `input_free_device'
intel_mid_powerbtn.c:(.devexit.text+0x42f0): undefined reference to `input_unregister_device'
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Hong Liu <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Enable volume up and down hotkeys on WMI events
GUID 284A0E6B-380E-472A-921F-E52786257FB4 and
GUID 02314822-307C-4F66-bf0E-48AEAEB26CC8.
Also works around a firmware bug where the _WED method
should return an integer containing the key code and in fact
the method returns the key code in element zero of a buffer.
BugLink: http://bugs.launchpad.net/bugs/701530
BugLink: http://bugs.launchpad.net/bugs/676997
Signed-off-by: Colin Ian King <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
The power button is connected to MSIC on Medfield, we will get two
interrupts from IOAPIC when pressing or releasing the power button.
Signed-off-by: Hong Liu <[email protected]>
[Minor fixes as noted by Dmitry]
Signed-off-by: Alan Cox <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
These keys are supposed to be handled by any software
using the camera (like webKam or cheese...). They can
also be used to actually move the camera when possible.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Each device seems to be in a "group" (devid >> 16 & 0xFF).
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
I should have done that one year ago, so it's more than
time to do it.
These two features use non-standard interfaces. There are the
only features that really need multiple path to guess what's
the right method name on a specific laptop.
Removing them allow to remove a lot of code an significantly
clean the driver.
This will affect the backlight code which won't be able to know
if the backlight is on or off.
The platform display file will also be write only (like the one
in eeepc-laptop).
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Asus took the DSDT from another model (L84F), made some change
to make it work, but forgot to remove WLED method (the laptop
doesn't have a wireless card). They even didn't change the model
name.
ref: https://bugzilla.kernel.org/show_bug.cgi?id=25712
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Found while checking PDF manuals...
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This key should power off the backlight, not the display,
it is also used in acpi/video.c to do the same thing.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
I checked some more DSDT, and it seems that I wasn't
totally right about the meaning of DSTS return value.
Bit 0 is clearly the status of the device, and I discovered
that bit 16 is set when the device is present.
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|