aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
Commit message (Collapse)AuthorAge
*-----. Merge trivial low-risk suspend hotkey bugzilla-5918 into releaseLen Brown2006-08-20
|\ \ \ \
| | | * | ACPI: hotkey.c fixes, fix for potential crash of hotkey.cHandle X2006-08-16
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While going through the code, I found out some memory leaks and potential crashes in drivers/acpi/hotkey.c Please find the patch to fix them. This patch does the following, 1. Fixes memory leaks in error paths of hotkey_write_config 2. Fixes freeing unallocated pointers in the error paths of hotkey_write_config 3. Uses a loop instead of linear searching for parsing the userspace input in get_params 4. Uses array of char * instead of passing 4 pointer parameters explicitly into the init_{poll_}hotkey_* static functions Signed-off-by: Andrew Morton <akpm@osdl.org> Acked-by: Luming Yu <luming.yu@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | ACPI: avoid irqrouter_resume might_sleep oops on resume from S4Len Brown2006-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __might_sleep+0x8e/0x93 acpi_os_wait_semaphore+0x50/0xa3 acpi_ut_acquire_mutex+0x28/0x6a acpi_ns_get_node+0x46/0x88 acpi_ns_evaluate+0x2d/0xfc acpi_rs_set_srs_method_data+0xc5/0xe1 acpi_set_current_resources+0x31/0x3f acpi_pci_link_set+0xfc/0x1a5 irqrouter_resume+0x48/0x5f and __might_sleep+0x8e/0x93 kmem_cache_alloc+0x2a/0x8f acpi_evaluate_integer+0x32/0x96 acpi_bus_get_status+0x30/0x84 acpi_pci_link_set+0x12a/0x1a5 irqrouter_resume+0x48/0x5f http://bugzilla.kernel.org/show_bug.cgi?id=6810 Signed-off-by: Len Brown <len.brown@intel.com>
| | * | ACPI: memory hotplug: remove useless message at boot timeYasunori Goto2006-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to remove noisy useless message at boot. The message is a ton of "ACPI Exception (acpi_memory-0492): AE_ERROR, handle is no memory device" In my emulation, number of memory devices are not so many (only 6), but, this messages are displayed 114 times. It is showed by acpi_memory_register_notify_handler() which is called by acpi_walk_namespace(). acpi_walk_namespace() parses all of ACPI's namespace and execute acpi_memory_register_notify_handler(). So, it is called for all of the device which is defined in namespace. If the parsing device is not memory, acpi_memhotplug ignores it due to "no match" and will parse next device. This is normal route, not an exception. Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | ACPI: verbose on kset/kobject_register errorsRandy Dunlap2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | ACPI: add message if firmware_register() init failsRandy Dunlap2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | ACPI: skip smart battery init when acpi=offLen Brown2006-08-15
| | | | | | | | | | | | | | | | Signed-off-by: Len Brown <len.brown@intel.com>
| | * | ACPI: fix boot with acpi=offPavel Machek2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix acpi_ac/battery boot with acpi=off Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | ACPI: fix kfree in i2c_ec error pathJean Delvare2006-08-11
| |/ / |/| | | | | | | | | | | Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Len Brown <len.brown@intel.com>
| * | ACPI: restore some dmesg to DEBUG-only, ala 2.6.17Len Brown2006-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ACPI_EXCEPTION() patch enabled a bunch of messages to print even in the non-DEBUG kernel. Need to change a couple back, and note that ACPI_EXCEPTION takes no \n, but ACPI_DEBUG_PRINT does. No context for object [%p]\n Device `[%s]' is not power manageable\n Signed-off-by: Len Brown <len.brown@intel.com>
| * | ACPI: scan: handle kset/kobject errorsRandy Dunlap2006-07-12
| | | | | | | | | | | | | | | | | | | | | Check and handle kset_register() and kobject_register() init errors. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Len Brown <len.brown@intel.com>
| * | ACPI: handle firmware_register init errorsRandy Dunlap2006-07-12
| | | | | | | | | | | | | | | Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Len Brown <len.brown@intel.com>
* | | [PATCH] memory hotadd fixes: avoid registering res twiceKAMEZAWA Hiroyuki2006-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | both of acpi_memory_enable_device() and acpi_memory_add_device() may evaluate _CRS method. We should avoid evaluate device's resource twice if we could get it successfully in past. Signed-off-by: KAMEZWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Keith Mannthey <kmannth@gmail.com> Cc: Yasunori Goto <y-goto@jp.fujitsu.com> Cc: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] memory hotadd fixes: avoid check in acpiKAMEZAWA Hiroyuki2006-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add_memory() does all necessary check to avoid collision. then, acpi layer doesn't have to check region by itself. (*) pfn_valid() just returns page struct is valid or not. It returns 0 if a section has been already added even is ioresource is not added. ioresource collision check in mm/memory_hotplug.c can do more precise collistion check. added enabled bit check just for sanity check.. Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Keith Mannthey <kmannth@gmail.com> Cc: Yasunori Goto <y-goto@jp.fujitsu.com> Cc: Dave Hansen <haveblue@us.ibm.com> Cc: "Brown, Len" <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | PCI: docking station: remove dock ueventsKristen Carlson Accardi2006-08-03
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | Remove uevent dock notifications. There are no consumers of these events at present, and uevents are likely not the correct way to send this type of event anyway. Until I get some kind of idea if anyone in userspace cares about dock events, I will just not send any. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | [PATCH] Revert "ACPI: execute Notify() handlers on new thread"Len Brown2006-07-13
|/ | | | | | | | | | | | | | | | | | | | This effectively reverts commit b8d35192c55fb055792ff0641408eaaec7c88988 by reverts acpi_os_queue_for_execution() to what it was before that, except it changes the name to acpi_os_execute() to match ACPICA 20060512. Signed-off-by: Len Brown <len.brown@intel.com> [ The thread execution doesn't actually solve the bug it set out to solve (see http://bugzilla.kernel.org/show_bug.cgi?id=5534 for more details) because the new events can get caught behind the AML semaphore or other serialization. And when that happens, the notify threads keep on piling up until the system dies. ] Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge branch 'release' of ↵Linus Torvalds2006-07-10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: ACPI_DOCK: Initialize the atomic notifier list ACPI: acpi_os_allocate() fixes ACPI: SBS: fix initialization, sem2mutex ACPI: add 'const' to several ACPI file_operations ACPI: delete some defaults from ACPI Kconfig ACPI: "Device `[%s]' is not power manageable" make message debug only ACPI: ACPI_DOCK Kconfig Revert "Revert "ACPI: dock driver"" ACPI: acpi_os_get_thread_id() returns current ACPI: ACPICA 20060707
| * Pull dock into release branchLen Brown2006-07-10
| |\
| | * ACPI: ACPI_DOCK: Initialize the atomic notifier listKristen Accardi2006-07-10
| | | | | | | | | | | | | | | | | | Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
| * | Pull acpi_os_allocate into test branchLen Brown2006-07-10
| |\ \
| | * | ACPI: acpi_os_allocate() fixesLen Brown2006-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace acpi_in_resume with a more general hack to check irqs_disabled() on any kmalloc() from ACPI. While setting (system_state != SYSTEM_RUNNING) on resume seemed more general, Andrew Morton preferred this approach. http://bugzilla.kernel.org/show_bug.cgi?id=3469 Make acpi_os_allocate() into an inline function to allow /proc/slab_allocators to work. Delete some memset() that could fault on allocation failure. Signed-off-by: Len Brown <len.brown@intel.com>
| * | | Pull acpica-20060707 into test branchLen Brown2006-07-10
| |\ \ \
| | * | | ACPI: ACPICA 20060707Bob Moore2006-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the ACPI_PACKED_POINTERS_NOT_SUPPORTED macro to support C compilers that do not allow the initialization of address pointers within packed structures - even though the hardware itself may support misaligned transfers. Some of the debug data structures are packed by default to minimize size. Added an error message for the case where acpi_os_get_thread_id() returns zero. A non-zero value is required by the core ACPICA code to ensure the proper operation of AML mutexes and recursive control methods. The DSDT is now the only ACPI table that determines whether the AML interpreter is in 32-bit or 64-bit mode. Not really a functional change, but the hooks for per-table 32/64 switching have been removed from the code. A clarification to the ACPI specification is forthcoming in ACPI 3.0B. Fixed a possible leak of an Owner ID in the error path of tbinstal.c acpi_tb_init_table_descriptor() and migrated all table OwnerID deletion to a single place in acpi_tb_uninstall_table() to correct possible leaks when using the acpi_tb_delete_tables_by_type() interface (with assistance from Lance Ortiz.) Fixed a problem with Serialized control methods where the semaphore associated with the method could be over-signaled after multiple method invocations. Fixed two issues with the locking of the internal namespace data structure. Both the Unload() operator and acpi_unload_table() interface now lock the namespace during the namespace deletion associated with the table unload (with assistance from Linn Crosetto.) Fixed problem reports (Valery Podrezov) integrated: - Eliminate unnecessary memory allocation for CreateXxxxField http://bugzilla.kernel.org/show_bug.cgi?id=5426 Fixed problem reports (Fiodor Suietov) integrated: - Incomplete cleanup branches in AcpiTbGetTableRsdt (BZ 369) - On Address Space handler deletion, needless deactivation call (BZ 374) - AcpiRemoveAddressSpaceHandler: validate Device handle parameter (BZ 375) - Possible memory leak, Notify sub-objects of Processor, Power, ThermalZone (BZ 376) - AcpiRemoveAddressSpaceHandler: validate Handler parameter (BZ 378) - Minimum Length of RSDT should be validated (BZ 379) - AcpiRemoveNotifyHandler: return AE_NOT_EXIST if Processor Obj has no Handler (BZ (380) - AcpiUnloadTable: return AE_NOT_EXIST if no table of specified type loaded (BZ 381) Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | Pull bugzilla-6687 into test branchLen Brown2006-07-10
| |\ \ \ \
| | * | | | ACPI: acpi_os_get_thread_id() returns currentLen Brown2006-07-09
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux mutexes and the debug code that that reference acpi_os_get_thread_id() are happy with 0. But the AML mutexes in exmutex.c expect a unique non-zero number for each thread - as they track this thread_id to permit the mutex re-entrancy defined by the ACPI spec. http://bugzilla.kernel.org/show_bug.cgi?id=6687 Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | Pull dock into test branchLen Brown2006-07-10
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | ACPI: ACPI_DOCK KconfigLen Brown2006-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HOTPLUG_PCI_ACPI depends on ACPI_DOCK ACPI_IBM_DOCK depends on ACPI_DOCK=n ACPI_DOCK is EXPERIMENTAL, though that doesn't seem to mean much Signed-off-by: Len Brown <len.brown@intel.com>
| | * | | Revert "Revert "ACPI: dock driver""Len Brown2006-07-09
| | | |/ | | |/| | | | | | | | | This reverts 953969ddf5b049361ed1e8471cc43dc4134d2a6f commit.
| * | | Pull trivial into test branchLen Brown2006-07-10
| |\ \ \
| | * | | ACPI: add 'const' to several ACPI file_operationsArjan van de Ven2006-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | | ACPI: delete some defaults from ACPI KconfigAndi Kleen2006-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No need for video to be always in No need for ACPI dock driver to be always in No need for smart battery driver to be always in Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | | ACPI: "Device `[%s]' is not power manageable" make message debug onlyLen Brown2006-07-09
| | |/ / | | | | | | | | | | | | Signed-off-by: Len Brown <len.brown@intel.com>
| * / / ACPI: SBS: fix initialization, sem2mutexAndrew Morton2006-07-10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cm_sbs_sem is being downed (via acpi_ac_init->acpi_lock_ac_dir) before it is initialised, with grave results. - Make it a mutex - Initialise it - Make it static - Clean other stuff up. Thanks to Paul Drynoff <pauldrynoff@gmail.com> for reporting and testing. Cc: Rich Townsend <rhdt@bartol.udel.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
* | | [PATCH] x86_64: Fix up bogus defaults in ACPI KconfigAndi Kleen2006-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No need for video to be always in No need for smart battery driver to be always in Acked-by: Len Brown <len.brown@intel.com> Cc: linux-acpi@vger.kernel.org Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] ACPI: fix fan/thermal resumeKonstantin Karasyov2006-07-10
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Daniel Ritz <daniel.ritz-ml@swissonline.ch> says: The acpi driver suspend/resume patches that went in recently caused a regression on my box (toshiba tecra 8000 laptop): after resume from swsusp the fan turns on keeping blowing cold air out of my notebook. before the patches, the fan was off and would only make noise when required. it's the same thing described in bugzilla.kernel.org #5000. the acpi suspend/resume patches or at least parts of them originate in this bug. now the last patch in the report (attach id 8438) actually fixes the problem - for me and the reporter. this is a trimmed down version of that patch. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Cc: Len Brown <len.brown@intel.com> Cc: Sanjoy Mahajan <sanjoy@mrao.cam.ac.uk> Cc: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* / Revert "ACPI: dock driver"Linus Torvalds2006-07-09
|/ | | | | | | | | This reverts commit a5e1b94008f2a96abf4a0c0371a55a56b320c13e. Adrian Bunk points out that it has build errors, and apparently no maintenance. Throw it out. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge branch 'release' of ↵Linus Torvalds2006-07-04
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (44 commits) ACPI: remove function tracing macros from drivers/acpi/*.c ACPI: add support for Smart Battery ACPI: handle battery notify event on broken BIOS ACPI: handle AC notify event on broken BIOS ACPI: asus_acpi: add S1N WLED control ACPI: asus_acpi: correct M6N/M6R display nodes ACPI: asus_acpi: add S1N WLED control ACPI: asus_acpi: rework model detection ACPI: asus_acpi: support L5D ACPI: asus_acpi: handle internal Bluetooth / support W5A ACPI: asus_acpi: support A4G ACPI: asus_acpi: support W3400N ACPI: asus_acpi: LED display support ACPI: asus_acpi: support A3G ACPI: asus_acpi: misc cleanups ACPI: video: Remove unneeded acpi_handle from driver. ACPI: thermal: Remove unneeded acpi_handle from driver. ACPI: power: Remove unneeded acpi_handle from driver. ACPI: pci_root: Remove unneeded acpi_handle from driver. ACPI: pci_link: Remove unneeded acpi_handle from driver. ...
| * Pull smart-battery into release branchLen Brown2006-07-01
| |\
| | * ACPI: remove function tracing macros from drivers/acpi/*.cLen Brown2006-07-01
| | | | | | | | | | | | | | | | | | a few invocations appeared due to the SBS and other patches. Signed-off-by: Len Brown <len.brown@intel.com>
| | * ACPI: add support for Smart BatteryRich Townsend2006-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most batteries today are ACPI "Control Method" batteries, but some models ship with the older "Smart Battery" that requires this code. Rich Townsend and Bruno Ducrot were the original authors. Vladimir Lebedev updated to run on latest kernel. http://bugzilla.kernel.org/show_bug.cgi?id=3734 Signed-off-by: Len Brown <len.brown@intel.com>
| * | Pull bugzilla-3241 into release branchLen Brown2006-07-01
| |\ \
| | * | ACPI: handle battery notify event on broken BIOSVladimir Lebedev2006-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | http://bugzilla.kernel.org/show_bug.cgi?id=3241 Signed-off-by: Vladimir Lebedev <vladimir.p.lebedev@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | ACPI: handle AC notify event on broken BIOSChristian Lupien2006-07-01
| | |/ | | | | | | | | | | | | | | | | | | | | | http://bugzilla.kernel.org/show_bug.cgi?id=3241 updated by Vladimir Lebedev Signed-off-by: Len Brown <len.brown@intel.com>
| | * Pull asus_acpi-0.30 into release branchLen Brown2006-07-01
| | |\
| | | * ACPI: asus_acpi: add S1N WLED controlKarol Kozimor2006-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch switches back the display nodes for M6R and M6N -- this happened a while ago when a patch was misapplied (only the in-tree version was affected). Signed-off-by: Karol Kozimor <sziwan@hell.org.pl> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | Pull acpi_device_handle_cleanup into release branchLen Brown2006-07-01
| | |\ \
| * | \ \ Pull asus_acpi-0.30 into release branchLen Brown2006-07-01
| |\ \ \ \
| | * | | | ACPI: asus_acpi: correct M6N/M6R display nodesKarol Kozimor2006-07-01
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch switches back the display nodes for M6R and M6N -- this happened a while ago when a patch was misapplied (only the in-tree version was affected). Signed-off-by: Karol Kozimor <sziwan@hell.org.pl> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | | ACPI: asus_acpi: add S1N WLED controlKarol Kozimor2006-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This small patch adds back WLED control for S1N models, this was accidentally removed a while ago. Signed-off-by: Karol Kozimor <sziwan@hell.org.pl> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | | ACPI: asus_acpi: rework model detectionKarol Kozimor2006-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch reworks laptop model detection. This addresses the Samsung P30 issue, where the INIT method would return no object, but the implicit return in the AML interpreter would confuse the driver. It also accounts for a newer batch of Asus models whose INIT returns ACPI_TYPE_BUFFER instead of STRING. The handling is now much leaner, if we get a buffer or a string, we check against known values, in every other case we use a different path (currently DSDT signatures). The bulk of this patch is separating the string matching from asus_hotk_get_info() into a separate function. This patch properly fixes http://bugme.osdl.org/show_bug.cgi?id=5067 and http://bugme.osdl.org/show_bug.cgi?id=5092 and makes the driver fully functional again with acpi=strict on all machines. Signed-off-by: Karol Kozimor <sziwan@hell.org.pl> Signed-off-by: Len Brown <len.brown@intel.com>