GitHub/MotorolaMobilityLLC/kernel-slsi.git
15 years agoMerge branch 'thinkpad-acpi' into release
Len Brown [Sun, 5 Apr 2009 05:42:09 +0000 (01:42 -0400)]
Merge branch 'thinkpad-acpi' into release

15 years agoMerge branch 'acer' into release
Len Brown [Sun, 5 Apr 2009 05:42:03 +0000 (01:42 -0400)]
Merge branch 'acer' into release

15 years agoMerge branch 'video' into release
Len Brown [Sun, 5 Apr 2009 05:40:06 +0000 (01:40 -0400)]
Merge branch 'video' into release

Conflicts:
drivers/acpi/video.c

Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoMerge branch 'psd' into release
Len Brown [Sun, 5 Apr 2009 05:39:33 +0000 (01:39 -0400)]
Merge branch 'psd' into release

15 years agoMerge branch 'battery' into release
Len Brown [Sun, 5 Apr 2009 05:39:26 +0000 (01:39 -0400)]
Merge branch 'battery' into release

15 years agoMerge branch 'hp-wmi' into release
Len Brown [Sun, 5 Apr 2009 05:39:20 +0000 (01:39 -0400)]
Merge branch 'hp-wmi' into release

15 years agoMerge branch 'thermal' into release
Len Brown [Sun, 5 Apr 2009 05:39:12 +0000 (01:39 -0400)]
Merge branch 'thermal' into release

15 years agoMerge branch 'pmtimer-overflow' into release
Len Brown [Sun, 5 Apr 2009 05:39:07 +0000 (01:39 -0400)]
Merge branch 'pmtimer-overflow' into release

15 years agoMerge branch 'dynamic-ssdt' into release
Len Brown [Sun, 5 Apr 2009 05:39:00 +0000 (01:39 -0400)]
Merge branch 'dynamic-ssdt' into release

15 years agoMerge branch 'driver-ops-cleanup' into release
Len Brown [Sun, 5 Apr 2009 05:38:51 +0000 (01:38 -0400)]
Merge branch 'driver-ops-cleanup' into release

15 years agoMerge branch 'bjorn-cleanups' into release
Len Brown [Sun, 5 Apr 2009 05:38:42 +0000 (01:38 -0400)]
Merge branch 'bjorn-cleanups' into release

15 years agoMerge branch 'bjorn-initcall-cleanup' into release
Len Brown [Sun, 5 Apr 2009 05:38:31 +0000 (01:38 -0400)]
Merge branch 'bjorn-initcall-cleanup' into release

15 years agoacer-wmi: Update copyright notice & documentation
Carlos Corbacho [Sat, 4 Apr 2009 08:33:39 +0000 (09:33 +0100)]
acer-wmi: Update copyright notice & documentation

Explicitly note in the documentation that the Acer Aspire One is not
supported.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoacer-wmi: Cleanup the failure cleanup handling
Andy Whitcroft [Sat, 4 Apr 2009 08:33:34 +0000 (09:33 +0100)]
acer-wmi: Cleanup the failure cleanup handling

Cleanup the failure cleanup handling for brightness and email led.

[cc: Split out from another patch]

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoacer-wmi: Blacklist Acer Aspire One
Carlos Corbacho [Sat, 4 Apr 2009 08:33:29 +0000 (09:33 +0100)]
acer-wmi: Blacklist Acer Aspire One

The Aspire One's ACPI-WMI interface is a placeholder that does nothing,
and the invalid results that we get from it are now causing userspace
problems as acer-wmi always returns that the rfkill is enabled (i.e. the
radio is off, when it isn't). As it's hardware controlled, acer-wmi
isn't needed on the Aspire One either.

Thanks to Andy Whitcroft at Canonical for tracking down Ubuntu's userspace
issues to this.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Reported-by: Andy Whitcroft <apw@canonical.com>
Cc: stable@kernel.org
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: rework brightness support
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:53 +0000 (04:25 +0000)]
thinkpad-acpi: rework brightness support

Refactor and redesign the brightness control backend...

In order to fix bugzilla #11750...

Add a new brightness control mode: support direct NVRAM checkpointing
of the backlight level (i.e. store directly to NVRAM without the need
for UCMS calls), and use that together with the EC-based control.
Disallow UCMS+EC, thus avoiding races with the SMM firmware.

Switch the models that define HBRV (EC Brightness Value) in the DSDT
to the new mode.  These are: T40-T43, R50-R52, R50e, R51e, X31-X41.

Change the default for all other IBM ThinkPads to UCMS-only.  The
Lenovo models already default to UCMS-only.

Reported-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: enhanced debugging messages for the fan subdriver
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:52 +0000 (04:25 +0000)]
thinkpad-acpi: enhanced debugging messages for the fan subdriver

Enhance debugging messages for the fan subdriver.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: enhanced debugging messages for the hotkey subdriver
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:51 +0000 (04:25 +0000)]
thinkpad-acpi: enhanced debugging messages for the hotkey subdriver

Enhance debugging messages for the hotkey subdriver.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: enhanced debugging messages for rfkill subdrivers
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:50 +0000 (04:25 +0000)]
thinkpad-acpi: enhanced debugging messages for rfkill subdrivers

Enhance debugging messages for all rfkill subdrivers in thinkpad-acpi.

Also, log a warning if the deprecated sysfs attributes are in use.
These attributes are going to be removed sometime in 2010.

There is an user-visible side-effect: we now coalesce attempts to
enable/disable bluetooth or WWAN in the procfs interface, instead of
hammering the firmware with multiple requests.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: restrict access to some firmware LEDs
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:49 +0000 (04:25 +0000)]
thinkpad-acpi: restrict access to some firmware LEDs

Some of the ThinkPad LEDs indicate critical conditions that can cause
data loss or cause hardware damage when ignored (e.g. force-ejecting
a powered up bay; ignoring a failing battery, or empty battery; force-
undocking with the dock buses still active, etc).

On almost all ThinkPads, LED access is write-only, and the firmware
usually does fire-and-forget signaling on them, so you effectively
lose whatever message the firmware was trying to convey to the user
when you override the LED state, without any chance to restore it.

Restrict access to all LEDs that can convey important alarms, or that
could mislead the user into incorrectly operating the hardware.  This
will make the Lenovo engineers less unhappy about the whole issue.

Allow users that really want it to still control all LEDs, it is the
unaware user that we have to worry about.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: remove HKEY disable functionality
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:48 +0000 (04:25 +0000)]
thinkpad-acpi: remove HKEY disable functionality

The HKEY disable functionality basically cripples the entire event
model of the ThinkPad firmware and of the thinkpad-acpi driver.
Remove this functionality from the driver.  HKEY must be enabled at
all times while thinkpad-acpi is loaded, and disabled otherwise.

For sysfs, according to the sysfs ABI and the thinkpad-acpi sysfs
rules of engagement, we will just remove the attributes.  This will be
done in two stages: disable their function now, after two kernel
releases, remove the attributes.

For procfs, we call WARN().  If nothing triggers it, I will simply
remove the enable/disable commands entirely in the future along with
the sysfs attributes.

I don't expect much, if any fallout from this.  There really isn't any
reason to mess with hotkey_enable or with the enable/disable commands
to /proc/acpi/ibm/hotkey, and this has been true for years...

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: add new debug helpers and warn of deprecated atts
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:47 +0000 (04:25 +0000)]
thinkpad-acpi: add new debug helpers and warn of deprecated atts

Add a debug helper that discloses the TGID of the userspace task
attempting to access the driver.  This is highly useful when dealing
with bug reports, since often the user has no idea that some userspace
application is accessing thinkpad-acpi...

Also add a helper to log warnings about sysfs attributes that are
deprecated.

Use the new helpers to issue deprecation warnings for bluetooth_enable
and wwan_enabled, that have been deprecated for a while, now.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: add missing log levels
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:46 +0000 (04:25 +0000)]
thinkpad-acpi: add missing log levels

Add missing log levels in a standalone commit, to avoid dependencies in
future unrelated changes, just because they wanted to use one of the
missing log levels.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: cleanup debug helpers
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:45 +0000 (04:25 +0000)]
thinkpad-acpi: cleanup debug helpers

Fix the vdbg_printk macro definition to be sane when
CONFIG_THINKPAD_ACPI_DEBUG is undefined, and move the mess into a file
section of its own.

This doesn't change anything in the current code, but future code will
need the proper behaviour.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: documentation cleanup
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:44 +0000 (04:25 +0000)]
thinkpad-acpi: documentation cleanup

Some cleanups to the documentation of the driver.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: drop ibm-acpi alias
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:43 +0000 (04:25 +0000)]
thinkpad-acpi: drop ibm-acpi alias

The driver was renamed two years ago, on 2.6.21.  Drop the old
compatibility alias, we have given everybody quite enough time
to update their configs to the new name.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: update copyright notices
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:42 +0000 (04:25 +0000)]
thinkpad-acpi: update copyright notices

It is that time of the year again...

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: Remove R40e c-state blacklist
Thomas Renninger [Thu, 2 Apr 2009 12:11:20 +0000 (14:11 +0200)]
ACPI: Remove R40e c-state blacklist

The recent ACPICA patch
(ACPICA: FADT: Favor 32-bit register addresses for compatibility)
makes machine to use the right FADT HW addresses
and C-states now work fine.

http://bugzilla.kernel.org/show_bug.cgi?id=8246

Signed-off-by: Thomas Renninger <trenn@suse.de>
Tested-by: Mark Doughty <me@markdoughty.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: fix CONFIG_ACPI=n build
Len Brown [Sat, 28 Mar 2009 05:41:14 +0000 (01:41 -0400)]
ACPI: fix CONFIG_ACPI=n build

drivers/gpu/drm/i915/i915_drv.c:102: error: too many arguments to
function â€˜intel_opregion_init’

Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI video: add a warning message if _BQC is not found
Zhang Rui [Thu, 12 Mar 2009 08:57:11 +0000 (16:57 +0800)]
ACPI video: add a warning message if _BQC is not found

ACPI backlight control w/o _BQC support is kinda firmware bug.
Add a warning if _BQC is not implemented.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: battery: add power_{now,avg} properties to power_class
Alexey Starikovskiy [Sat, 28 Mar 2009 02:23:52 +0000 (22:23 -0400)]
ACPI: battery: add power_{now,avg} properties to power_class

ACPI has smart batteries, which work in units of energy and measure
rate of (dis)charge as power, thus it is not appropriate to export it
as a current_now. Current_now will still be exported to allow
for userland applications to match.

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: Populate DIDL before registering ACPI video device on Intel
Matthew Garrett [Thu, 19 Mar 2009 21:35:39 +0000 (21:35 +0000)]
ACPI: Populate DIDL before registering ACPI video device on Intel

Intel graphics hardware that implements the ACPI IGD OpRegion spec
requires that the list of display devices be populated before any ACPI
video methods are called. Detect when this is the case and defer
registration until the opregion code calls it. Fixes crashes on HP
laptops.

http://bugzilla.kernel.org/show_bug.cgi?id=11259

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI video: support buggy BIOSes with _BCQ implemented
Zhang Rui [Wed, 18 Mar 2009 08:27:18 +0000 (16:27 +0800)]
ACPI video: support buggy BIOSes with _BCQ implemented

Some buggy BIOSes implements _BCQ instead of _BQC.
Male ACPI video driver support these buggy BIOS.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI video: support _BQC/_BCL/_BCM methods that use index values
Zhang Rui [Wed, 18 Mar 2009 08:27:16 +0000 (16:27 +0800)]
ACPI video: support _BQC/_BCL/_BCM methods that use index values

The input/output of _BQC/_BCL/_BCM control methods should be represented
by a number between 0 and 100, and can be thought of as a percentage.
But some buggy _BQC/_BCL/_BCM methods use the index values instead.
http://bugzilla.kernel.org/show_bug.cgi?id=12302
http://bugzilla.kernel.org/show_bug.cgi?id=12249
http://bugzilla.kernel.org/show_bug.cgi?id=12037

Add the functionality to support such kind of BIOSes in ACPI video driver.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI video: support reversed _BCL method in ACPI video driver
Zhang Rui [Wed, 18 Mar 2009 08:27:14 +0000 (16:27 +0800)]
ACPI video: support reversed _BCL method in  ACPI video driver

The brightness levels returned by _BCL package are in a reversed order
on some laptops.
http://bugzilla.kernel.org/show_bug.cgi?id=12037
http://bugzilla.kernel.org/show_bug.cgi?id=12302
http://bugzilla.kernel.org/show_bug.cgi?id=12235

sort the _BCL packge in case it's reversed.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI video: support _BCL packages that don't export brightness levels when machine...
Zhang Rui [Wed, 18 Mar 2009 08:27:12 +0000 (16:27 +0800)]
ACPI video: support _BCL packages that don't export brightness levels when machine is on AC/Battery

Many buggy BIOSes don't export the brightness levels when machine
is on AC/Battery in the _BCL method.

Reformat the _BCL package for these laptops:
now the elements in device->brightness->levels[] are like:
levels[0]: brightness level when on AC power.
levels[1]: brightness level when on Battery power.
levels[2]: supported brightness level 1.
levels[3]: supported brightness level 2.
...
levels[n]: supported brightness level n-1.
levels[n + 1]: supported brightness level n.
So if there are n supported brightness levels on this laptop,
we will have n+2 entries in device->brightnes->levels[].

level[0] and level[1] are invalid on the laptops that don't
export the brightness levels on AC/Battery.
Fortunately, we never use these two values at all, even for the
valid ones.

http://bugzilla.kernel.org/show_bug.cgi?id=12249

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI video: check the return value of acpi_video_device_lcd_set_level
Zhang Rui [Wed, 18 Mar 2009 08:27:10 +0000 (16:27 +0800)]
ACPI video: check the return value of acpi_video_device_lcd_set_level

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI video: check the return value of acpi_video_device_lcd_get_level_current
Zhang Rui [Wed, 18 Mar 2009 08:27:08 +0000 (16:27 +0800)]
ACPI video: check the return value of acpi_video_device_lcd_get_level_current

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: Avoid wiping out pr->performance during preregistering
Stanislaw Gruszka [Tue, 24 Mar 2009 12:41:59 +0000 (13:41 +0100)]
ACPI: Avoid wiping out pr->performance during preregistering

When cpufreq driver call acpi_processor_preregister_performance() , function
will clean up pr->performance even if there is possibly already registered
other cpufreq driver. The patch fix this potential problem. It also remove
double checks in P domain basic validity code and move these checks to function
where _PSD data is captured.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: remove unused acpi_bus_ops flags
Bjorn Helgaas [Tue, 24 Mar 2009 16:55:33 +0000 (10:55 -0600)]
ACPI: remove unused acpi_bus_ops flags

In acpi_bus_ops, only the acpi_op_add and acpi_op_start flags are used,
so remove all the rest.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: remove unused acpi_device_ops .shutdown method
Bjorn Helgaas [Tue, 24 Mar 2009 16:55:27 +0000 (10:55 -0600)]
ACPI: remove unused acpi_device_ops .shutdown method

No drivers use the .shutdown method, so remove it.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: remove unused acpi_device_ops .lock and .scan methods
Bjorn Helgaas [Tue, 24 Mar 2009 16:55:22 +0000 (10:55 -0600)]
ACPI: remove unused acpi_device_ops .lock and .scan methods

No drivers use the .lock and .scan methods, and the Linux/ACPI
code doesn't even provide a way to invoke them, so remove them.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothermal: support forcing support for passive cooling
Matthew Garrett [Wed, 3 Dec 2008 18:00:38 +0000 (18:00 +0000)]
thermal: support forcing support for passive cooling

Due to poor thermal design or Linux driving hardware outside its thermal
envelope, some systems will reach critical temperature and shut down
under high load. This patch adds support for forcing a polling-based
passive trip point if the firmware doesn't provide one. The assumption
is made that the processor is the most practical means to reduce the
dynamic heat generation, so hitting the passive thermal limit will cause
the CPU to be throttled until the temperature stabalises around the
defined value.

UI is provided via a "passive" sysfs entry in the thermal zone
directory. It accepts a decimal value in millidegrees celsius, or "0" to
disable the functionality. Default behaviour is for this functionality
to be disabled.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: update thermal for bus_id removal
Stephen Rothwell [Tue, 3 Mar 2009 01:47:17 +0000 (12:47 +1100)]
ACPI: update thermal for bus_id removal

> drivers/acpi/thermal.c: In function 'thermal_notify':
> drivers/acpi/thermal.c:768: error: 'struct device' has no member named 'bus_id'
>
> Caused by commit b1569e99c795bf83b4ddf41c4f1c42761ab7f75e ("ACPI: move
> thermal trip handling to generic thermal layer") interacting with commit
d4a078fca590911cdf87a8eaffee1b6e643c2558 ("driver core: get rid of struct
> device's bus_id string array").
>

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: cpufreq: use new bit register access function
Lin Ming [Wed, 18 Mar 2009 01:09:01 +0000 (09:09 +0800)]
ACPI: cpufreq: use new bit register access function

> arch/x86/kernel/cpu/cpufreq/longhaul.c: In function 'longhaul_setstate':
> arch/x86/kernel/cpu/cpufreq/longhaul.c:308: error: implicit declaration of function 'acpi_set_register'

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Compile-tested-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: tidy up makefile
Bjorn Helgaas [Tue, 24 Mar 2009 22:50:24 +0000 (16:50 -0600)]
ACPI: tidy up makefile

This patch removes the suggestion that ec.o link order is important,
because it doesn't matter since acpi_ec_init() is no longer an initcall.
And it puts together most of the core modules that are not configurable.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: call acpi_wakeup_device_init() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:50:19 +0000 (16:50 -0600)]
ACPI: call acpi_wakeup_device_init() explicitly rather than as initcall

This patch makes acpi_init() call acpi_wakeup_device_init() directly.
Previously, acpi_wakeup_device_init() was a late_initcall (sequence 7).

acpi_wakeup_device_init() depends on acpi_wakeup_device_list, which
is populated when ACPI devices are enumerated by acpi_init() ->
acpi_scan_init().  Using late_initcall is certainly enough to make
sure acpi_wakeup_device_list is populated, but it is more than
necessary.  We can just as easily call acpi_wakeup_device_init()
directly from acpi_init(), which avoids the initcall magic.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
CC: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: call acpi_sleep_proc_init() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:50:14 +0000 (16:50 -0600)]
ACPI: call acpi_sleep_proc_init() explicitly rather than as initcall

This patch makes acpi_init() call acpi_sleep_proc_init() directly.
Previously, acpi_sleep_proc_init() was a late_initcall (sequence 7),
apparently to make sure that the /proc hierarchy already exists:

    2003/02/13 12:38:03-06:00 mochel
    acpi sleep: demote sleep proc file creation.

    - Make acpi_sleep_proc_init() a late_initcall(), and not called from
      acpi_sleep_init(). This guarantees that the acpi proc hierarchy is at
      least there when we create the dang file.

This should no longer be an issue because acpi_bus_init() (called early
in acpi_init()) creates acpi_root_dir (/proc/acpi).

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: call init_acpi_device_notify() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:50:09 +0000 (16:50 -0600)]
ACPI: call init_acpi_device_notify() explicitly rather than as initcall

This patch makes acpi_init() call init_acpi_device_notify() directly.
Previously, init_acpi_device_notify() was an arch_initcall (sequence 3),
so it was called before acpi_init() (a subsys_initcall at sequence 4).

init_acpi_device_notify() sets the platform_notify and
platform_notify_remove function pointers.  These pointers
are not used until acpi_init() enumerates ACPI devices in
this path:

    acpi_init()
    acpi_scan_init()
acpi_bus_scan()
    acpi_add_single_object()
acpi_device_register()
    device_add()
<use platform_notify>

So it is sufficient to have acpi_init() call init_acpi_device_notify()
directly before it enumerates devices.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: call acpi_debug_init() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:50:03 +0000 (16:50 -0600)]
ACPI: call acpi_debug_init() explicitly rather than as initcall

This patch makes acpi_init() call acpi_debug_init() directly.
Previously, both were subsys_initcalls.  acpi_debug_init()
must happen after acpi_init(), and it's better to call it
explicitly rather than rely on link ordering.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: call acpi_system_init() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:49:58 +0000 (16:49 -0600)]
ACPI: call acpi_system_init() explicitly rather than as initcall

This patch makes acpi_init() call acpi_system_init() directly.
Previously, both were subsys_initcalls.  acpi_system_init()
must happen after acpi_init(), and it's better to call it
explicitly rather than rely on link ordering.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: call acpi_power_init() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:49:53 +0000 (16:49 -0600)]
ACPI: call acpi_power_init() explicitly rather than as initcall

This patch makes acpi_init() call acpi_power_init() directly.
Previously, both were subsys_initcalls.  acpi_power_init()
must happen after acpi_init(), and it's better to call it
explicitly rather than rely on link ordering.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
CC: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: call acpi_ec_init() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:49:48 +0000 (16:49 -0600)]
ACPI: call acpi_ec_init() explicitly rather than as initcall

This patch makes acpi_init() call acpi_ec_init() directly.
Previously, both were subsys_initcalls.  acpi_ec_init()
must happen after acpi_init(), and it's better to call it
explicitly rather than rely on link ordering.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
CC: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: call acpi_scan_init() explicitly rather than as initcall
Bjorn Helgaas [Tue, 24 Mar 2009 22:49:43 +0000 (16:49 -0600)]
ACPI: call acpi_scan_init() explicitly rather than as initcall

This patch makes acpi_init() call acpi_scan_init() directly.

Previously, both acpi_init() and acpi_scan_init() were subsys_initcalls,
and acpi_init() was called first based on the link order from the
makefile (bus.o before scan.o).

acpi_scan_init() registers the ACPI bus type, creates the root device,
and enumerates fixed-feature and namespace devices.  All of this must
be done after acpi_init(), and it's better to call acpi_scan_init()
explicitly rather than rely on the link ordering.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: skip DMI power state check when ACPI disabled
Bjorn Helgaas [Tue, 24 Mar 2009 22:49:38 +0000 (16:49 -0600)]
ACPI: skip DMI power state check when ACPI disabled

This patch makes acpi_init() exit early when ACPI is disabled.
This skips a DMI check that affects ACPI power management.   The
DMI check prints a notice that is misleading when ACPI is disabled.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Update version to 20090320
Bob Moore [Mon, 23 Mar 2009 01:30:27 +0000 (09:30 +0800)]
ACPICA: Update version to 20090320

Version 20090320.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Fix index value in package warning message
Bob Moore [Thu, 19 Mar 2009 02:14:45 +0000 (10:14 +0800)]
ACPICA: Fix index value in package warning message

For predefined method validation. Index value in warning message
could be off by one.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: FADT: Favor 32-bit FACS and DSDT addresses
Bob Moore [Thu, 19 Mar 2009 02:13:40 +0000 (10:13 +0800)]
ACPICA: FADT: Favor 32-bit FACS and DSDT addresses

If both the 32-bit and 64-bit addresses are non-null, use the
32-bit address. Provides Windows compatibility.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: FADT: Favor 32-bit register addresses for compatibility
Bob Moore [Thu, 19 Mar 2009 02:12:13 +0000 (10:12 +0800)]
ACPICA: FADT: Favor 32-bit register addresses for compatibility

Use the 32-bit register addresses whenever they are non-zero. This
means that the 32-bit addresses are favored over the 64-bit
(GAS) addresses. The 64-bit addresses are only used if the 32-bit
addresses are zero. This change provides compatibility with all
versions of Windows. The worst case that this solves is when both
the 32-bit and 64-bit addresses are non-zero, but only the 32-bit
addresses are actually valid. This appears to happen in some
BIOSes because in this case, Windows uses the 32-bit addresses.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Fix PCI configuration space port address range
Bob Moore [Thu, 19 Mar 2009 01:54:31 +0000 (09:54 +0800)]
ACPICA: Fix PCI configuration space port address range

Microsoft website uses 0xCF8-0xD00. Should be 0xCF8-0xCFF (Two
32-bit registers.)

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Condense some protected ports
Bob Moore [Thu, 19 Mar 2009 01:53:35 +0000 (09:53 +0800)]
ACPICA: Condense some protected ports

One entry in the protected port table eliminated. Added extra
comments to describe each table entry.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Remove unused code, no functional change
Bob Moore [Thu, 19 Mar 2009 01:52:34 +0000 (09:52 +0800)]
ACPICA: Remove unused code, no functional change

Removed unused code for dump of args and locals. General cleanup
and splitting of long lines.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Clear PM register write-only bits on reading
Lin Ming [Thu, 19 Mar 2009 01:51:01 +0000 (09:51 +0800)]
ACPICA: Clear PM register write-only bits on reading

Affects PM1 Control register only. When reading the register, zero
the write-only bits as per the ACPI spec.  ACPICA BZ 443. Lin Ming.

http://www.acpica.org/bugzilla/show_bug.cgi?id=443

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Remove obsolete acpi_os_validate_address interface
Bob Moore [Thu, 19 Mar 2009 01:47:16 +0000 (09:47 +0800)]
ACPICA: Remove obsolete acpi_os_validate_address interface

This interface is no longer necessary. Requests should be validated
on a per-field basis, not on the entire operation region.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: New: I/O port protection
Bob Moore [Thu, 19 Mar 2009 01:37:47 +0000 (09:37 +0800)]
ACPICA: New: I/O port protection

Protect certain I/O ports from reads/writes. Provides MS
compatibility. New module, hwvalid.c

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Preserve all PM control reserved and ignored bits
Bob Moore [Fri, 13 Mar 2009 01:10:46 +0000 (09:10 +0800)]
ACPICA: Preserve all PM control reserved and ignored bits

As per the ACPI specification, preserve (read/modify/write) all
bits that are defined as either reserved or ignored (PM control
control registers only.)

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Change handling of PM1 Status register ignored bit
Bob Moore [Mon, 9 Mar 2009 08:32:20 +0000 (16:32 +0800)]
ACPICA: Change handling of PM1 Status register ignored bit

Ignored bits must be preserved according to the ACPI spec.
Usually this means a read/modify/write when writing to the
register.  However, for status registers, writing a one means
clear the event.  Writing a zero means preserve the event (do not
clear.) This behavior is clarified in the ACPI 4.0 spec, and the
ACPICA code now simply always writes a zero to the ignored bit.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Fix AcpiWalkNamespace race condition with table unload
Bob Moore [Mon, 9 Mar 2009 08:31:04 +0000 (16:31 +0800)]
ACPICA: Fix AcpiWalkNamespace race condition with table unload

Added a reader/writer locking mechanism to allow multiple
concurrent namespace walks (readers), but a dynamic table unload
will have exclusive access to the namespace. This fixes a problem
where a table unload could delete the portion of the namespace that
is currently being examined by a walk.  Adds a new file, utlock.c
that implements the reader/writer lock mechanism. ACPICA BZ 749.

http://www.acpica.org/bugzilla/show_bug.cgi?id=749

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: FADT: Fix extraneous length mismatch warning
Bob Moore [Fri, 6 Mar 2009 02:09:00 +0000 (10:09 +0800)]
ACPICA: FADT: Fix extraneous length mismatch warning

Incorrect register length mismatch between the 32 and 64 bit
registers in some cases. Code was was checking the wrong pointer
for non-zero, should be looking at the address within the GAS
structure.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Formatting update - no functional changes
Bob Moore [Fri, 6 Mar 2009 02:05:18 +0000 (10:05 +0800)]
ACPICA: Formatting update - no functional changes

Split long lines, update comments.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Add manifest constants for bit register values
Bob Moore [Fri, 6 Mar 2009 01:49:25 +0000 (09:49 +0800)]
ACPICA: Add manifest constants for bit register values

Add and deploy constants for the PM status/enable/control
registers.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Update version to 20090220
Bob Moore [Mon, 23 Feb 2009 02:27:07 +0000 (10:27 +0800)]
ACPICA: Update version to 20090220

Version 20090220.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Update table header print function
Bob Moore [Mon, 23 Feb 2009 02:26:19 +0000 (10:26 +0800)]
ACPICA: Update table header print function

Cleanup table header output.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Restructure bit register access functions
Bob Moore [Wed, 18 Feb 2009 08:01:04 +0000 (16:01 +0800)]
ACPICA: Restructure bit register access functions

Update code for acpi_read_bit_register and acpi_write_bit_register.
Simplified code path, condensed duplicate code.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Rename ACPI bit register access functions
Bob Moore [Mon, 23 Feb 2009 07:02:07 +0000 (15:02 +0800)]
ACPICA: Rename ACPI bit register access functions

Rename acpi_get_register and acpi_set_register to clarify the
purpose of these functions. New names are acpi_read_bit_register
and acpi_write_bit_register.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Optimize ACPI register locking
Bob Moore [Wed, 18 Feb 2009 07:10:07 +0000 (15:10 +0800)]
ACPICA: Optimize ACPI register locking

Removed locking for reads from the ACPI bit registers in PM1
Status, Enable, Control, and PM2 Control. The lock is not required
when reading the single-bit registers. The acpi_get_register_unlocked
function is no longer needed and has been removed. This will
improve performance for reads on these registers.  ACPICA BZ 760.

http://www.acpica.org/bugzilla/show_bug.cgi?id=760

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Formatting update - no functional changes
Bob Moore [Wed, 18 Feb 2009 07:03:30 +0000 (15:03 +0800)]
ACPICA: Formatting update - no functional changes

Split some long lines.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Debug output: decrease verbosity of DB_INFO debug level
Bob Moore [Wed, 18 Feb 2009 06:58:08 +0000 (14:58 +0800)]
ACPICA: Debug output: decrease verbosity of DB_INFO debug level

Removed some of the extraneous debug prints using the DB_INFO
level.  This should make the DB_INFO more useful.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Debug output: print result of _OSI invocations
Bob Moore [Mon, 23 Feb 2009 03:00:00 +0000 (11:00 +0800)]
ACPICA: Debug output: print result of _OSI invocations

Print input strings and the result (supported or not supported)
for invocations of the _OSI method.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Conditionally compile acpi_set_firmware_waking_vector64
Bob Moore [Wed, 18 Feb 2009 06:52:43 +0000 (14:52 +0800)]
ACPICA: Conditionally compile acpi_set_firmware_waking_vector64

This function is only needed on 64-bit host operating systems.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Remove ACPI_GET_OBJECT_TYPE macro
Bob Moore [Wed, 18 Feb 2009 06:44:03 +0000 (14:44 +0800)]
ACPICA: Remove ACPI_GET_OBJECT_TYPE macro

Remove all instances of this obsolete macro, since it is now a
simple reference to ->common.type. There were about 150 invocations
of the macro across 41 files. ACPICA BZ 755.

http://www.acpica.org/bugzilla/show_bug.cgi?id=755

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Add function to handle PM1 control registers
Bob Moore [Wed, 18 Feb 2009 06:36:05 +0000 (14:36 +0800)]
ACPICA: Add function to handle PM1 control registers

Added acpi_hw_write_pm1_control. This function writes both of the PM1
control registers (A/B). These registers are different than than
the PM1 A/B status and enable registers in that different values
can be written to the A/B registers.  Most notably, the SLP_TYP
bits can be different, as per the values returned from the _Sx
predefined methods.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Remove redundant ACPI_BITREG_SLEEP_TYPE_B
Bob Moore [Wed, 18 Feb 2009 06:31:05 +0000 (14:31 +0800)]
ACPICA: Remove redundant ACPI_BITREG_SLEEP_TYPE_B

This type is the same as TYPE_A. Removed this and all related
instances.  Renamed SLEEP_TYPE_A to simply SLEEP_TYPE.
ACPICA BZ 754.

http://www.acpica.org/bugzilla/show_bug.cgi?id=754

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Fix parameter validation for acpi_read/write
Bob Moore [Wed, 18 Feb 2009 06:28:02 +0000 (14:28 +0800)]
ACPICA: Fix parameter validation for acpi_read/write

Now return AE_BAD_PARAMETER if the input register pointer is
null, and AE_BAD_ADDRESS if the register has an address of zero.
Previously, these cases simply returned AE_OK. For optional
registers such as PM1B status/enable/control, the caller should
check for a valid register address before calling.  ACPICA BZ 748.

http://www.acpica.org/bugzilla/show_bug.cgi?id=748

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: For PM1B registers, do not shift value read or written
Bob Moore [Wed, 18 Feb 2009 06:26:02 +0000 (14:26 +0800)]
ACPICA: For PM1B registers, do not shift value read or written

The PM1B registers are mirrors of the PM1A registers with
different bits actually implemented. From the ACPI specification:
"Although the bits can be split between the two register blocks
(each register block has a unique pointer within the FADT), the bit
positions are maintained. The register block with unimplemented
bits (that is, those implemented in the other register block)
always returns zeros, and writes have no side effects"

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Remove extra write for acpi_hw_clear_acpi_status
Bob Moore [Wed, 18 Feb 2009 06:24:50 +0000 (14:24 +0800)]
ACPICA: Remove extra write for acpi_hw_clear_acpi_status

This function was writing an optional PM1B status register
twice.  The existing call to the low-level acpi_hw_register_write
automatically handles a possibly split PM1 A/B register.
ACPICA BZ 751.

http://www.acpica.org/bugzilla/show_bug.cgi?id=751

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Fix writes to optional PM1B registers
Bob Moore [Wed, 18 Feb 2009 06:20:12 +0000 (14:20 +0800)]
ACPICA: Fix writes to optional PM1B registers

On read, shift B register bits above the A bits. On write,
shift B bits down to zero before writing the B register. New:
acpi_hw_read_multiple, acpi_hw_write_multiple. These two functions now
transparently handle the (possible) split registers for PM1 Status,
Enable, and Control.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Update comments in module header
Bob Moore [Wed, 18 Feb 2009 06:07:58 +0000 (14:07 +0800)]
ACPICA: Update comments in module header

Enhance the explanations of the various package return types
for clarity.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Check for non-zero address before being converted to GAS
Lin Ming [Wed, 4 Mar 2009 06:31:25 +0000 (14:31 +0800)]
ACPICA: Check for non-zero address before being converted to GAS

Reported-by: FreeBSD community
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Split out PM1 status registers from the FADT
Bob Moore [Wed, 18 Feb 2009 06:06:12 +0000 (14:06 +0800)]
ACPICA: Split out PM1 status registers from the FADT

Add new globals for the PM1 status registers (A/B), similar to the
way the PM1 enable registers are handled. Instead of overloading
the FADT Event Register blocks. This makes the code clearer and
less prone to error.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Update version to 20090123
Bob Moore [Tue, 3 Feb 2009 07:16:51 +0000 (15:16 +0800)]
ACPICA: Update version to 20090123

Update version to 20090123.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Update FADT flag definitions
Bob Moore [Tue, 3 Feb 2009 07:14:33 +0000 (15:14 +0800)]
ACPICA: Update FADT flag definitions

Add new flags in the Boot Architecture flags field. Update comments
for all FADT flags. Add FADT version when each flag was defined.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Add override for dynamic tables
Bob Moore [Tue, 3 Feb 2009 06:43:04 +0000 (14:43 +0800)]
ACPICA: Add override for dynamic tables

Add a call to acpi_os_table_override during the installation of a
dynamic table (loaded via the Load or LoadTable AML operators).

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Remove extraneous parameter in table manager
Bob Moore [Tue, 3 Feb 2009 06:41:03 +0000 (14:41 +0800)]
ACPICA: Remove extraneous parameter in table manager

Removed the Flags parameter from several internal functions since
it was not being used.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Allow OS override of all ACPI tables
Bob Moore [Tue, 3 Feb 2009 06:35:25 +0000 (14:35 +0800)]
ACPICA: Allow OS override of all ACPI tables

Previously, the table override mechanism was implemented for the
DSDT only. Now, any table in the RSDT/XSDT can be replaced by
the host OS. (including the DSDT).

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPICA: Add error check to debug object dump routine
Bob Moore [Tue, 3 Feb 2009 06:17:29 +0000 (14:17 +0800)]
ACPICA: Add error check to debug object dump routine

Add check for invalid handle in acpi_ns_dump_one_object.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoLinux 2.6.29
Linus Torvalds [Mon, 23 Mar 2009 23:12:14 +0000 (16:12 -0700)]
Linux 2.6.29

15 years agoBuild with -fno-dwarf2-cfi-asm
Kyle McMartin [Mon, 23 Mar 2009 19:25:49 +0000 (15:25 -0400)]
Build with -fno-dwarf2-cfi-asm

With a sufficiently new compiler and binutils, code which wasn't
previously generating .eh_frame sections has begun to.  Certain
architectures (powerpc, in this case) may generate unexpected relocation
formats in response to this, preventing modules from loading.

While the new relocation types should probably be handled, revert to the
previous behaviour with regards to generation of .eh_frame sections.

(This was reported against Fedora, which appears to be the only distro
doing any building against gcc-4.4 at present: RH bz#486545.)

Signed-off-by: Kyle McMartin <kyle@redhat.com>
Acked-by: Roland McGrath <roland@redhat.com>
Cc: Alexandre Oliva <aoliva@redhat.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agotrivial: fix orphan dates in ext2 documentation
Jody McIntyre [Mon, 23 Mar 2009 17:13:34 +0000 (13:13 -0400)]
trivial: fix orphan dates in ext2 documentation

Revert the change to the orphan dates of Windows 95, DOS, compression.
Add a new orphan date for OS/2.

Signed-off-by: Jody McIntyre <scjody@sun.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 23 Mar 2009 16:25:58 +0000 (09:25 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits)
  ucc_geth: Fix oops when using fixed-link support
  dm9000: locking bugfix
  net: update dnet.c for bus_id removal
  dnet: DNET should depend on HAS_IOMEM
  dca: add missing copyright/license headers
  nl80211: Check that function pointer != NULL before using it
  sungem: missing net_device_ops
  be2net: fix to restore vlan ids into BE2 during a IF DOWN->UP cycle
  be2net: replenish when posting to rx-queue is starved in out of mem conditions
  bas_gigaset: correctly allocate USB interrupt transfer buffer
  smsc911x: reset last known duplex and carrier on open
  sh_eth: Fix mistake of the address of SH7763
  sh_eth: Change handling of IRQ
  netns: oops in ip[6]_frag_reasm incrementing stats
  net: kfree(napi->skb) => kfree_skb
  net: fix sctp breakage
  ipv6: fix display of local and remote sit endpoints
  net: Document /proc/sys/net/core/netdev_budget
  tulip: fix crash on iface up with shirq debug
  virtio_net: Make virtio_net support carrier detection
  ...