aboutsummaryrefslogtreecommitdiff
path: root/drivers/platform
AgeCommit message (Collapse)Author
2010-02-28asus-laptop: leds, remove dead code and fix asus_led_exit()/asus_led_init()Corentin Chary
These bug where introduced in "asus-laptop: code movement". Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
2010-02-28asus-laptop: add backlight changes notificationsCorentin Chary
We don't want to send KEY_BRIGHTNESSDOWN or KEY_BRIGHTNESSUP because it would be a lie to tell userspace that we want to change the brightness while it's actually done by the firmware. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: add bluetooth keys found on M9VCorentin Chary
Reported by Andrey F. Ilchuk Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: switch to sparse keymap libraryCorentin Chary
This patch is based on Dmitry Torokhov's patch with some modifications and cleanups. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: rename wireless_status to wlan_status to avoid confusionCorentin Chary
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: add error check for write_acpi_int callsCorentin Chary
Also add to helpers for bluetooth and wlan. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: stop using ASUS_HANDLE and use relative methods insteadCorentin Chary
Stop using ASUS_HANDLE because most of the time it is not needed. This macro was introduced to display_get and lcd_switch which are not part of the interface provided by Asus, and are scheduled for removal. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: rename function talking directly to acpi with asus_xxx schemeCorentin Chary
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: removing read_status/store_status/write_status and asus->statusCorentin Chary
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: stop using read_status for lcdCorentin Chary
(anyway lcd code is scheduled for removal) Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: stop using read_status and store_status for GPSCorentin Chary
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: stop using read_status for bluetooth and wlanCorentin Chary
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: code movementCorentin Chary
The asus-laptop driver implements a number of interfaces like the backlight class driver. This change makes it easier to examine the implementation of one interface at at a time, without having to search through the file to find init() and exit() functions etc. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: callbacks should use "driver data" parameter or fieldCorentin Chary
(Changelog stolen from Alan's patch for eeepc-laptop, but this patch does the same thing for asus-laptop) Callback methods should not refer to a variable like "asus" (formally "hotk"). Instead, they should extract the data they need either from a "driver data" parameter, or the "driver data" field of the object which they operate on. The "asus" variable can then be removed. In practice, drivers under "drivers/platform" can get away without using driver data, because it doesn't make sense to have more than one instance of them. However this makes it harder to review them for correctness. This is especially true for core ACPI developers who have not previously been exposed to this anti-pattern :-). This will serve as an example of best practice for new driver writers (whether they find it themselves, or have it pointed out during review :-). Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: move backlight and dsdt info inside asus_laptop structCorentin Chary
Prepare the use of "driver data" for callbacks. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: revise namesCorentin Chary
asus-laptop now does a lot more than just hotkeys. Replace the "hotk" names used throughout the driver with some slightly more appropriate names. The actual strings used in kernel messages and sysfs are left unchanged. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: change initialization orderCorentin Chary
Clean asus-laptop initialization to match new eeepc-laptop code. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: remove unecessary hotk != NULL checkCorentin Chary
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: use tabs to indent macros and remove unused onesCorentin Chary
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: simplify write_acpi_intCorentin Chary
We only need a buffer for "INIT". Adds write_acpi_init_ret for it. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: no need to check argument of set_brightness()Corentin Chary
We already tell the backlight class our maximum brightness value; it will validate the user requested values for us. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-28asus-laptop: add wireless and bluetooth status parameterCorentin Chary
These to parameter allow to set the status of wlan and bluetooth device when the module load. On some models, the device will always be down on boot, so the default behavior is to always enable these devices. Signed-off-by: Corentin Chary <corentincj@iksaif.net>
2010-02-19acer-wmi: Respect current backlight level when loadingCarlos Corbacho
Set the backlight to use the current brightness when loaded, rather than always resetting the backlight to maximum brightness. Fixes kernel bugzilla #14207 Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Reported-by: Denis Mukhin <denis_mukhin@yahoo.com> Signed-off-by: Len Brown <len.brown@intel.com>
2010-02-16thinkpad-acpi: wrong thermal attribute_group removed in thermal_exit()Roel Kluin
sysfs_remove_group() removed the wrong attribute_group for thermal_read_mode TPEC_8, ACPI_TMP07 and ACPI_UPDT Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Acked-by: Henrique de Moraes Holschuh <ibm-acpi@hmh.eng.br> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Len Brown <len.brown@intel.com>
2010-01-20Merge branch 'misc' into releaseLen Brown
2010-01-16sony-laptop - fix using of uninitialized variableDmitry Torokhov
CC [M] drivers/platform/x86/sony-laptop.o drivers/platform/x86/sony-laptop.c: In function 'sony_nc_rfkill_setup': drivers/platform/x86/sony-laptop.c:1162: warning: 'i' may be used uninitialized in this function Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Acked-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
2010-01-16eeepc-laptop: disable wireless hotplug for 1201NCorentin Chary
Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Len Brown <len.brown@intel.com>
2010-01-16eeepc-laptop: add hotplug_disable parameterCorentin Chary
Some new models need to disable wireless hotplug. For the moment, we don't know excactly what models need that, except 1005HA. Users will be able to use that param as a workaround. Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Len Brown <len.brown@intel.com>
2010-01-16eeepc-laptop: switch to using sparse keymap libraryDmitry Torokhov
Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Tested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Acked-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Len Brown <len.brown@intel.com>
2010-01-16eeepc-laptop: dmi blacklist to disable pci hotplug codeCorentin Chary
This is a short term workaround for Eeepc 1005HA. refs: <http://bugzilla.kernel.org/show_bug.cgi?id=14570> Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Len Brown <len.brown@intel.com>
2010-01-16eeepc-laptop: disable cpu speed control on EeePC 701Alan Jenkins
The EeePC 4G ("701") implements CFVS, but it is not supported by the pre-installed OS, and the original option to change it in the BIOS setup screen was removed in later versions. Judging by the lack of "Super Hybrid Engine" on Asus product pages, this applies to all "701" models (4G/4G Surf/2G Surf). So Asus made a deliberate decision not to support it on this model. We have several reports that using it can cause the system to hang [1]. That said, it does not happen all the time. Some users do not experience it at all (and apparently wish to continue "right-clocking"). Check for the EeePC 701 using DMI. If met, then disable writes to the "cpufv" sysfs attribute and log an explanatory message. Add a "cpufv_disabled" attribute which allow users to override this policy. Writing to this attribute will log a second message. The sysfs attribute is more useful than a module option, because it makes it easier for userspace scripts to provide consistent behaviour (according to user configuration), regardless of whether the kernel includes this change. [1] <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559578> Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Len Brown <len.brown@intel.com>
2010-01-01hp-wmi: remove double free caused by merge conflictAnisse Astier
Commit 3e9b988e4edf065d39c1343937f717319b1c1065 "wmi: Free the allocated acpi objects through wmi_get_event_data" had the same purpose as commit 44ef00e6482e755f36629773abc2aee83a6f53e3 "hp-wmi: Fix two memleaks" This should solve this regression: http://bugzilla.kernel.org/show_bug.cgi?id=14890 Signed-off-by: Anisse Astier <anisse@astier.eu> Reported-by: Sedat Dilek <sedat.dilek@googlemail.com> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-30Merge branch 'thinkpad' into releaseLen Brown
2009-12-30ACPI: WMI: Survive BIOS with duplicate GUIDsCarlos Corbacho
It would appear that in BIOS's with nVidia hooks, the GUID 05901221-D566-11D1-B2F0-00A0C9062910 is duplicated. For now, the simplest solution is to just ignore any duplicate GUIDs. These particular hooks are not currently supported/ used in the kernel, so whoever does that can figure out what the 'right' solution should be (if there's a better one). http://bugzilla.kernel.org/show_bug.cgi?id=14846 Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Reported-by: Larry Finger <Larry.Finger@lwfinger.net> Reported-by: Oldřich Jedlička <oldium.pro@seznam.cz> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-30dell-wmi - fix condition to abort driver loadingDmitry Torokhov
From: Dmitry Torokhov <dmitry.torokhov@gmail.com> The commit 1fdd407f4e3f2ecb453954cbebb6c22491c61853 incorrectly made driver abort loading when known GUID is present when it should have done exactly the opposite. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-30wmi: check find_guid() return value to prevent oopsPaul Rolland
Signed-off-by: Paul Rolland <rol@as2917.net> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-30dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return valueLen Brown
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. Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-30ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an ↵Len Brown
acpi_status Emphasize that that wmi_install_notify_handler() returns an acpi_status rather than -errno by by testing ACPI_SUCCESS(), ACPI_FAILURE(). No functional change in this patch, but this confusion caused a bug in dell-wmi. Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-30dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it shouldLen Brown
follow 0/-E convention wmi_install_notify_handler() returns an acpi_error, but dell_wmi_init() needs return a -errno style error. Tested-by: Paul Rolland <rol@as2917.net> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-26thinkpad-acpi: improve Kconfig help textHenrique de Moraes Holschuh
Document that rfkill and ALSA functionality exists, but requires the subsystems to be available, and not modular if thinkpad-acpi is not modular. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-26thinkpad-acpi: make volume subdriver optionalHenrique de Moraes Holschuh
Allow the user to choose through Kconfig if the Console Audio Control interface (aka "volume subdriver") should be available or not. This not only saves some memory, but also allows the thinkpad-acpi driver to be built-in even if ALSA is modular when the console audio control interface is not wanted. This change fixes a build problem that is causing some annoyances, in a way that doesn't disable the entire driver on kernels without ALSA support. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Cc: Ingo Molnar <mingo@elte.hu> Cc: Amerigo Wang <amwang@redhat.com> Cc: Helight Xu <helight.xu@gmail.com> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-26thinkpad-acpi: don't fail to load the entire module due to ALSA problemsHenrique de Moraes Holschuh
If we cannot create the ALSA mixer, it is a good reason to fail to load the volume subdriver, and not to fail to load the entire module. While at it, add more debugging messages, as the error paths are being used a lot more than I'd expect, and it is failing to set up the ALSA mixer on a number of ThinkPads. Reported-by: Peter Jordan <usernetwork@gmx.info> Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-26thinkpad-acpi: don't take the first ALSA slot by defaultHenrique de Moraes Holschuh
We don't want to be the first soundcard. We don't want to shift other soundcards out of the way either, even if they load much later. Ask ALSA to (by default) load us in one of the last three slots. This can be overriden at will using the "index" parameter. Reported-by: Whoopie <whoopie79@gmx.net> Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-24Merge branch 'misc-2.6.33' into releaseLen Brown
2009-12-24Merge branch 'tc1100-wmi' into releaseLen Brown
2009-12-24Merge branch 'sony' into releaseLen Brown
2009-12-24Merge branch 'classmate' into releaseLen Brown
2009-12-24classmate-laptop: add support for Classmate PC ACPI devicesThadeu Lima de Souza Cascardo
This add supports for devices like keyboard, backlight, tablet and accelerometer. This work is supported by International Syst S/A. [randy.dunlap@oracle.com: cmpc_acpi: depends on ACPI] [akpm@linux-foundation.org: readability tweaks] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-24hp-wmi: Fix two memleaksThomas Renninger
Signed-off-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-24acer-wmi, msi-wmi: Remove needless DMI MODULE_ALIASThomas Renninger
Now that we have WMI autoloading the DMI matching is not needed anymore. Signed-off-by: Thomas Renninger <trenn@suse.de> Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Acked-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Len Brown <len.brown@intel.com>