aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Pull bugzilla-7122 into release branchLen Brown2007-02-16
|\
| * ACPI: update acpi_power_resume() per new acpi_op_resumeLen Brown2007-02-16
| | | | | | | | | | | | drivers/acpi/power.c:69: warning: initialization from incompatible pointer type Signed-off-by: Len Brown <len.brown@intel.com>
| * ACPI: Thermal issues on HP nx6325Konstantin Karasyov2007-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | The previous reference counting scheme to enable power resources got confused when multiple devices were present that might repeatedly enable or disable the resource and throw off the count. The new code simply lists the referencing devices which are requesting the resource to be enabled. When there are none, then it is off. Signed-off-by: Konstantin Karasyov <konstantin.a.karasyov@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
* | Pull bugzilla-5534 into release branchLen Brown2007-02-16
|\ \
| * | Execute AML Notify() requests on stack.Alexey Starikovskiy2007-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HP nx6125/nx6325/... machines have a _GPE handler with an infinite loop sending Notify() events to different ACPI subsystems. The notify handler in the ACPI thermal driver is a C-routine, which may invoke the ACPI interpreter again to get access to some ACPI variables such as temperature. (acpi_evaluate_xxx) On these HP machines such an evaluation changes state of an ASL variable and lets the loop above break. In the current ACPI implementation, Notify requests are being deferred to the same kacpid workqueue on which the above GPE handler with infinite loop is executing. Thus we have a deadlock -- loop will continue to spin, sending notify events, and at the same time preventing these notify events from being run on a workqueue. All notify events are deferred, thus we see explosion in memory consumption. Also as GPE handling is blocked, machines overheat because ACPI-based fan control is stalled. Eventually by external poll of the same acpi_evaluate, kacpid is released and all the queued notify events are free to run, thus 100% CPU utilization by kacpid for several seconds or more. To prevent this failure, Linux must not send notify events to the kacpid workqueue -- either executing them immediately or putting them on some other thread. The first attempt to create a new thread was done by Peter Wainwright He created a bunch of threads, which were stealing work from a kacpid workqueue. This patch appeared in 2.6.15-based kernel shipped with Ubuntu 6.06 LTS. Second attempt was done by Alexey Starikovskiy, who created a new thread for each Notify event. This worked OK on HP nx machines, but broke Linus' Compaq n620c, by producing threads with a speed what they stopped the machine completely. Thus this patch was reverted from 2.6.18-rc2. Alexey re-made the patch to create second workqueue just for notify events, thus hopping it will not break Linus' machine. Patch was tested on the same HP nx machines in #5534 and #7122, but this broke Linus' machine also and was reverted from 2.6.19-rc with much fanfair. The 4th patch inserted schedule_timeout(1) into deferred execution of kacpid, if we had any notify requests pending, but Linus decided that it was too complex (involved either changes to workqueue to see if it's empty or atomic inc/dec). Then a 5th attempt did a yield() to every GPE execution. Finally, this 6th generation patch simply executes the notify handler on the stack. Previous attempts to do this simple solution failed because of issues in AML mutex re-entrancy which are now fixed by the previous patch in this series. http://bugzilla.kernel.org/show_bug.cgi?id=5534 Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | ACPICA: fix AML mutex re-entrancyAlexey Starikovskiy2007-02-15
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ACPI AML supports "serialized" methods which are protected by an implicit mutex. The mutex is re-entrant for that AML thread to allow recursion. However, Linux implements notify() by creating a new AML thread. So for systems where notify() re-enters a serialized method, deadlock results. The fix is to use the Linux thread_id as the key to allowing re-entrancy, not the AML thread pointer. http://bugzilla.kernel.org/show_bug.cgi?id=5534 Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
* | Pull remove-hotkey into release branchLen Brown2007-02-16
|\ \
| * | ACPI: hotkey: remove driver, per feature-removal-schedule.txtLen Brown2007-02-16
| | | | | | | | | | | | Signed-off-by: Len Brown <len.brown@intel.com>
* | | Pull sony into release branchLen Brown2007-02-16
|\ \ \
| * | | sony-laptop: allow complex per-value input/output validationMattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace sony_acpi_value.{min,max} with a callback function that allows more complex reasoning in accepting input and presenting output. This allows consistency between the sony-laptop specific 'brightness_default' and the backlight subsystem 0-based 'brightness'. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony-laptop: add to MAINTAINERSMattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony-laptop: Update docsMattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update documentation to be consistent with current implementation (backlight subsys and platform_device). Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony-laptop: LindentLen Brown2007-02-13
| | | | | | | | | | | | | | | | Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony-laptop: Group functions and structures to better draw subsytems usageMattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony-laptop: Small update to the Kconfig help to make people believe this ↵Mattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | driver is useful. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony-laptop: Remove /proc/acpi/sony interface and implement platform_device.Mattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework method names list to allow an easier management of multiple values. Add myself as author/maintainer and bump the version number. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony-laptop: create from sony_acpiMattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move drivers/acpi/sony_acpi.c to drivers/misc/sony-laptop.c with all the necessary configuration. The SONY_LAPTOP config option substitutes the old ACPI_SONY and is 'default n' now. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Fix sony_acpi backlight registration and unregistrationMattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initialize the current brightness if the driver registration was successful and unregister the driver in the error exit path. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Allow multiple sony_acpi_values for the same .nameMattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The acpi handles are kept _only_ if both the requested .acpiget and .acpiset are available in the DSDT. Currently only the SCDP/CDPW dualism is known. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Add lanpower and audiopower controlsMattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | audiopower works well on my SZ72B so it's not marked has "debug" while lanpower has at least one report of not resuming power happily so morked as "debug" Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Allow easier debugging for the unknown SNC methods.Mattia Dongili2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the existence of a setter method without a getter and viceversa, additionaly set /proc file permissions reflecting it. Fix also the error exit path. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Add acpi_bus_generate eventStelian Pop2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi subsystem, and made correspondent necessary changes for this to work. Signed-off-by: Nilton Volpato <nilton.volpato@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Video sysfs support take 2Andrew Morton2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add dev argument for backlight_device_register Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Add backlight support to the sony_acpi v2Alessandro Guido2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable the sony_acpi driver to use the backlight subsysyem for adjusting the monitor brightness. Old way of changing the brightness will be still available for compatibility with existing tools. Signed-off-by: Alessandro Guido <alessandro.guido@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Add backlight support to the sony_acpiAlessandro Guido2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the sony_acpi use the backlight subsystem to adjust brightness value instead of using the /proc/sony/brightness file. (Other settings will still have a /proc/sony/... entry) Signed-off-by: Alessandro Guido <alessandro.guido@gmail.com> Cc: Stelian Pop <stelian@popies.net> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Fix sony_acpi_resume callAndrew Morton2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: Avoid dimness on resume.Andrew Morton2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doesn't work. Cc: Stelian Pop <stelian@popies.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | sony_acpi: SNC device support for Sony VaiosStelian Pop2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Bjorn Helgaas <bjorn.helgaas@hp.com> Even though the devices claimed by sony_acpi.c can not be hot-plugged, the driver registration infrastructure allows the .add() and .remove() methods to be called at any time while the driver is registered. So remove __init and __exit from them. From: Matthew Garrett <mjg59@srcf.ucam.org> [UBUNTU:acpi/sony] Add FN hotkey support Source URL of Patch: http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=7a9b49cba4919e8506604629db03add8e0b85767 Signed-off-by: Ben Collins <bcollins@ubuntu.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
* | | | Pull fluff into release branchLen Brown2007-02-16
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/x86_64/pci/mmconfig.c drivers/acpi/bay.c Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | ACPI: IA64: react to acpi_table_parse() return value changeJohn Keller2007-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | acpi_boot_init() is making a bad check on the return status from acpi_table_parse(). acpi_table_parse() now returns zero on success, one on failure. Signed-off-by: Aaron Young <ayoung@sgi.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | ACPI: acpi_table_parse_madt_family() is not MADT specificLen Brown2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | acpi_table_parse_madt_family() is also used to parse SRAT entries. So re-name it to acpi_table_parse_entries(), and re-name the madt-specific variables within it accordingly. cosmetic only. Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | ACPI: acpi_madt_entry_handler() is not MADT specificLen Brown2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | acpi_madt_entry_handler() is also used for the SRAT, so re-name it acpi_table_entry_handler(). cosmetic only. Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | ACPI: acpi_table_parse() now returns success/fail, not countLen Brown2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Returning count for tables that are supposed to be unique was useless and confusing. Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | ACPI: delete extra #defines in /drivers/acpi/ driversLen Brown2007-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cosmetic only. Except in a single case, #define ACPI_*_DRIVER_NAME were invoked 0 or 1 times. Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | ACPI: fix acpi_driver.name usageLen Brown2007-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was erroneously used as a description rather than a name. ie. turn this: lenb@se7525gp2:/sys> ls bus/acpi/drivers ACPI AC Adapter Driver ACPI Embedded Controller Driver ACPI Power Resource Driver ACPI Battery Driver ACPI Fan Driver ACPI Processor Driver ACPI Button Driver ACPI PCI Interrupt Link Driver ACPI Thermal Zone Driver ACPI container driver ACPI PCI Root Bridge Driver hpet into this: lenb@se7525gp2:~> ls /sys/bus/acpi/drivers ac battery button container ec fan hpet pci_link pci_root power processor thermal Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | ACPI: clean up ACPI_MODULE_NAME() useLen Brown2007-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cosmetic only Make "module name" actually match the file name. Invoke with ';' as leaving it off confuses Lindent and gcc doesn't care. Fix indentation where Lindent did get confused. Signed-off-by: Len Brown <len.brown@intel.com>
* | | | | Pull misc-for-upstream into release branchLen Brown2007-02-16
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/usb/misc/appledisplay.c Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: bay: use IS_ERR for return of register_platform_device_simpleHenrique de Moraes Holschuh2007-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | register_platform_device_simple returns ERR_PTR(foo), so test it with IS_ERR(foo). Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: acpi_unload_table_id() always returns errorJohn Keller2007-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | acpi_unload_table_id() is always returning an error status. Also, once the matching table is found, don't bother looking for another match. Signed-off-by: John Keller <jpk@sgi.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: ec: add unlock in error pathAlexey Starikovskiy2007-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: thermal: fix units in debug outputSanjoy Mahajan2007-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://bugzilla.kernel.org/show_bug.cgi?id=4972 Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: include apic.h in processor driver for benefit of UP kernelsThomas Gleixner2007-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | apic.h does not get included on UP compiles. That way the APICTIMER_STOPS_ON_C3 is not there and UP boxen have no support for timer broadcasting. This was never noticed, because the lapic timer is only used for profiling on UP. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: john stultz <johnstul@us.ibm.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: remove non-PNPACPI version of get_rtc_dev()Len Brown2007-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It isn't needed in ACPI code anymore because now ACPI always includes PNPACPI. Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: always enable CONFIG_PNPACPI on CONFIG_ACPI kernelsLen Brown2007-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We removed the ACPI motherboard driver which handled the ACPI=y, PNP=n case, so now we need to enforce that PNP & PNPACPI are always enabled for ACPI kernels. Most major distros ship this way this already. Cc: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: remove acpi_os_readable(), acpi_os_writable()Len Brown2007-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...which are now unused Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: Fix sparse warningsRandy Dunlap2007-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use NULL for pointers drivers/acpi/osl.c:208:10: warning: Using plain integer as NULL pointer drivers/acpi/tables/tbxface.c:411:49: warning: Using plain integer as NULL pointer drivers/acpi/processor_core.c:1008:10: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: Disable wake GPEs only once.Alexey Starikovskiy2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes Suspend/Resume regressions due to recent ACPICA update. Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: cleanup: make disable_acpi() valid w/o CONFIG_ACPIRusty Russell2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Len Brown <lenb@kernel.org> said: > Okay, but better to use disable_acpi() > indeed, since this would be the first code not already inside CONFIG_ACPI > to invoke disable_acpi(), we could define the inline as empty and you could > then scratch the #ifdef too. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: IA64: fix calculation of apic_idAlexey Starikovskiy2007-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix regression from recent table re-write Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | | | | ACPI: add video driver MAINTAINERLen Brown2007-02-10
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Len Brown <len.brown@intel.com>