Commit graph

130400 commits

Author SHA1 Message Date
Artem Bityutskiy
79807d075a UBIFS: fix constants initialization
The c->min_idx_lebs constant depends on c->old_idx_sz, which
is read from the master node. This means that we have to
initialize c->min_idx_lebs only after we have read the master
node.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2008-12-31 14:13:23 +02:00
Thomas Gleixner
1c5745aa38 sched_clock: prevent scd->clock from moving backwards, take #2
Redo:

  5b7dba4: sched_clock: prevent scd->clock from moving backwards

which had to be reverted due to s2ram hangs:

  ca7e716: Revert "sched_clock: prevent scd->clock from moving backwards"

... this time with resume restoring GTOD later in the sequence
taken into account as well.

The "timekeeping_suspended" flag is not very nice but we cannot call into
GTOD before it has been properly resumed and the scheduler will run very
early in the resume sequence.

Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-12-31 09:53:21 +01:00
robert.moore@intel.com
e8443c358c ACPICA: Update version to 20081204.
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>
2008-12-31 01:18:26 -05:00
Bob Moore
40774f7aca ACPICA: FADT: Update error msgs for consistency
Update all messages so they look consistent.

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>
2008-12-31 01:18:12 -05:00
robert.moore@intel.com
4b67a0e467 ACPICA: FADT: set acpi_gbl_use_default_register_widths to TRUE by default
This returns the FADT support to the original behavior, which is
to use default register widths. However, now check each register
definition and report a warning if it differs from the default.
This is a first step to moving away from the default widths,
rather than outright believing the widths in all FADTs for all
machines, considered rather dangerous until more data is obtained.

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>
2008-12-31 01:17:56 -05:00
Bob Moore
06f5541960 ACPICA: FADT parsing changes and fixes
1) Update the register lengths for the PM1 event blocks. The
length must be divided by two in order to use these to access
the status registers.
2) Add run-time option to use default register lengths to override a
faulty FADT.
3) Add warning message if any of the X64 address structures contain a length
that does not match the legacy length earlier in the FADT.
4) Move all FADT warning messages into the ValidateFadt function.

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>
2008-12-31 01:17:09 -05:00
Bob Moore
1685bd404d ACPICA: Add ACPI_MUTEX_TYPE configuration option
Used to specify whether the OSL mutex interfaces should be used,
or binary semaphores instead.

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>
2008-12-31 01:16:39 -05:00
Bob Moore
7488c8d511 ACPICA: Fixes for various ACPI data tables
Eliminate extraneous "zero length subtable" messages.
Fix subtable output for ERST, MCFG, EINJ tables.
Implement all subtables for HEST.

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>
2008-12-31 01:16:09 -05:00
Bob Moore
50df4d8b0f ACPICA: Restructure includes into public/private
acpi.h now includes only the "public" acpica headers. All other
acpica headers are "private" and should not be included by acpica
users. One new file, accommon.h is used to include the commonly
used private headers for acpica code generation. Future plans
are to move all private headers to a new subdirectory.

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>
2008-12-31 01:15:40 -05:00
Lin Ming
ea7e96e0f2 ACPI: remove private acpica headers from driver files
External driver files should not include any private acpica headers.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:15:22 -05:00
Lin Ming
2ee6261248 ACPI: reboot.c: use new acpi_reset interface
Use new acpi_reset interface to write to reset register

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:15:00 -05:00
Bob Moore
d3fd902d1e ACPICA: New: acpi_reset interface - write to reset register
Uses the FADT-defined reset register and reset value. Checks the
FADT flags for the reset register supported bit. Supports reset
register in memory or I/O space, but not in PCI config space
since the host has the information to do it.

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>
2008-12-31 01:14:32 -05:00
Bob Moore
7db5d82d02 ACPICA: Move all public H/W interfaces to new hwxface
Move public interfaces from hwregs.c to new file, hwxface.c -
similar to the structure of the other ACPICA components.

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>
2008-12-31 01:14:08 -05:00
Bob Moore
ecfbbc7b46 ACPICA: New: acpi_read and acpi_write public interfaces
Changed the acpi_hw_low_level_read and acpi_hw_low_level_write functions to
the public acpi_read and acpi_write to allow direct access to
ACPI registers.  Removed the "width" parameter since the width
can be obtained from the input GAS structure. Updated the FADT
initialization to setup the GAS structures with the proper
widths. Some widths are still hardcoded because many FADTs have
incorrect register lengths.

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>
2008-12-31 01:12:56 -05:00
Lin Ming
385c4d98d8 ACPI: io_common.c: call acpi_get_table to avoid using ACPI_SIG_DSDT
ACPI_SIG_DSDT is acpica internal used only.
call acpi_get_table to avoid using ACPI_SIG_DSDT.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:12:41 -05:00
Lin Ming
a8ce4471fe ACPI: io_acpi_init.c: call acpi_get_name to get node fullname
acpi_ns_print_node_pathname is internal used only
use acpi_get_name instead to get node fullname

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:12:26 -05:00
Lin Ming
46422814f9 ACPI: panasonic-laptop.c: remove ACPI_FUNCTION_TRACE
ACPI_FUNCTION_TRACE is an internal acpica function.
remove ACPI_FUNCTION_TRACE from driver file

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:12:08 -05:00
Lin Ming
60a4ce7f41 ACPI: power.c: call acpi_get_name to get node name
acpi_ut_get_node_name is an internal acpica function.
use acpi_get_name to get node ascii name

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:11:51 -05:00
Lin Ming
3082373616 ACPI: sony-laptop.c: call acpi_get_object_info to get node info
Avoid using internal acpica structures acpi_namespace_node and acpi_operand_object
Call acpi_get_object_info to get node ascii name and method arg count

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:11:35 -05:00
Lin Ming
3d97e426aa ACPI: main.c: use new public GPE group enable/disable interfaces
Avoid using internal functions: acpi_hw_disable_all_gpes and acpi_hw_enable_all_runtime_gpes
Use new public GPE group enable/disable interfaces: acpi_disable_all_gpes and acpi_enable_all_runtime_gpes

Also avoid using internal symbol ACPI_TABLE_INDEX_FACS, call acpi_get_table.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:11:19 -05:00
Bob Moore
08ac07b826 ACPICA: New: Public GPE group enable/disable interfaces
Added acpi_disable_all_gpes and acpi_enable_all_runtime_gpes for
public use.

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>
2008-12-31 01:10:46 -05:00
Bob Moore
e97d6bf1a0 ACPICA: New: acpi_get_gpe_device interface
This function maps an input GPE index to a GPE block device. Also
Added acpi_current_gpe_count to track the current number of GPEs
that are being managed by the ACPICA core (both FADT-based GPEs
and the GPEs contained in GPE block devices.)

Modify drivers/acpi/system.c to use these 2 new interfaces

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>
2008-12-31 01:10:24 -05:00
Lin Ming
c1e3523ccb ACPI: wakeup.c: remove ACPI_FUNCTION_TRACE
ACPI_FUNCTION_TRACE is an internal acpica function.
remove ACPI_FUNCTION_TRACE

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:08:13 -05:00
Lin Ming
95d9a7a828 ACPI: proc.c: remove ACPI_FUNCTION_TRACE
ACPI_FUNCTION_TRACE and return_VALUE are internal acpica functions.
remove ACPI_FUNCTION_TRACE
replace return_VALUE with return

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:07:38 -05:00
Lin Ming
0175d562a2 ACPI: ec.c: call acpi_get_name to get node name
acpi_namespace_node is internal struct, it should not be used outside of ACPICA
call acpi_get_name to get node ascii name

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:06:55 -05:00
Lin Ming
889c78be9e ACPI: osl.c: replace return_ACPI_STATUS with return
return_ACPI_STATUS is an internal acpica function, replace it with return.
acpi_gbl_permanent_mmap moved from acglobal.h to acpixf.h for external use

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-31 01:02:05 -05:00
Zhang Rui
9e6dada9d2 video: always update the brightness when poking "brightness"
always update props.brightness no matter the backlight is changed
via procfs, hotkeys or sysfs.

Sighed-off-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 23:39:43 -05:00
Linus Torvalds
ec270e59a7 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:
  fat: make sure to set d_ops in fat_get_parent
  fat: fix duplicate addition of ->llseek handler
  fat: drop negative dentry on rename() path
2008-12-30 20:33:34 -08:00
Roel Kluin
8a383ef0be ACPI: ec.c, pci_link.c, video_detec.c: static
Sparse asked whether these could be static.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 23:27:04 -05:00
Len Brown
087da3b4e2 ACPI: simplify buffer management for acpi_pci_bind() etc.
use ACPI_ALLOCATE_BUFFER to remove the allocations
within acpi_pci_bind(), acpi_pci_unbind() and acpi_pci_bind_root().
While there, delete some unnecessary param inits from those routines.

Delete concept of ACPI_PATHNAME_MAX, since this was the last use.

Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 22:52:26 -05:00
Ian Molton
e1c4a2d7b3 [ARM] pxa: add e750 MFP config
Adds MFP configuration for supported e750 hardware.

Signed-off-by: Ian Molton <ian@mnementh.co.uk>
2008-12-31 03:06:57 +00:00
Bjorn Helgaas
39488b041e ACPI: PCI: add HP copyright
Add HP copyright to pci_irq.c.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:50:01 -05:00
Bjorn Helgaas
3f0f3c27be ACPI: PCI: whitespace and useless initialization cleanup
This patch makes function declarations consistent throughout
the file and removes some unnecessary initializations.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:49:38 -05:00
Bjorn Helgaas
74f82af1ed ACPI: PCI: expand acpi_pci_allocate_irq() and acpi_pci_free_irq() inline
acpi_pci_allocate_irq() and acpi_pci_free_irq() are trivial and
only used once, so just open-code them.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:47:30 -05:00
Bjorn Helgaas
4eaf6db3ea ACPI: PCI: simplify struct acpi_prt_entry
Remove unused "irq" field, remove unnecessary struct,
rename "handle" to "link".

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:44:52 -05:00
Bjorn Helgaas
3604a9f445 ACPI: PCI: simplify list of _PRT entries
We don't need a struct containing a count and a list_head; a simple
list_head is sufficient.  The list iterators handle empty lists
fine.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:42:15 -05:00
Bjorn Helgaas
5697b7ca40 ACPI: PCI: combine lookup and derive
This folds acpi_pci_irq_derive() into acpi_pci_irq_lookup() so it
can be easily used by both acpi_pci_irq_enable() and acpi_pci_irq_disable().

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:40:35 -05:00
Bjorn Helgaas
ee40136313 ACPI: PCI: follow typical PCI INTx swizzling pattern
No functional change; this just uses the typical pattern of
PCI INTx swizzling done on other architectures.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:39:22 -05:00
Bjorn Helgaas
3b1ea18d3b ACPI: PCI: use positive logic to simplify code
This doesn't change anything functionally; it just changes tests
so we test for success instead of failure.  This makes the code
read more easily and allows us to remove the "!entry" in the while
loop condition.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:34:53 -05:00
Bjorn Helgaas
beba8a643d ACPI: PCI: remove callback from acpi_pci_irq_lookup & acpi_pci_irq_derive
We currently pass a callback function (either acpi_pci_allocate_irq() or
acpi_pci_free_irq()) to acpi_pci_irq_lookup() and acpi_pci_irq_derive().

I think it's simpler to remove the callback and just have the enable/
disable functions make the calls directly.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:33:40 -05:00
Bjorn Helgaas
1350487eeb ACPI: PCI: tweak _PRT lookup debug
Print one message (either "found" or "not found") for every _PRT
search.  And add pin information to the INTx swizzling debug.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:29:37 -05:00
Bjorn Helgaas
063563b4b8 ACPI: PCI: lookup _PRT entry by PCI dev and pin, not segment/bus/dev/pin
There's no reason to pass around segment, bus, and device independently
when we can just pass the pci_dev pointer, which carries all those
already.

The pci_dev contains an interrupt pin, too, but we still have to pass both
the pci_dev and the pin because when we use a bridge to derive an IRQ, we
need the pin from the downstream device, not the bridge.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:28:19 -05:00
Bjorn Helgaas
c458033c9b ACPI: PCI: use 1-based encoding for _PRT quirks
Use the PCI INTx pin encoding (1=INTA, 2=INTB, etc) for _PRT quirks.
Then we can simply compare "entry->pin == quirk->pin".

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:26:07 -05:00
Bjorn Helgaas
e64e9db53a ACPI: PCI: always use the PCI INTx pin values, not the _PRT ones
This patch changes pci_irq.c to always use PCI INTx pin encodings
instead of a mix of PCI and _PRT encodings.

The PCI INTx pin numbers from the PCI_INTERRUPT_PIN config register
are 0=device doesn't use interrupts, 1=INTA, ..., 4=INTD.  But the
_PRT table uses 0=INTA, ..., 3=INTD.

This patch converts the _PRT encoding to the PCI encoding immediately
when we add a _PRT entry to the global list.  All the rest of the
code can then use the PCI encoding consistently.

The point of this is to make the interrupt swizzling look the same
as on other architectures, so someday we can unify them.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:24:29 -05:00
Bjorn Helgaas
cf68b80b0e ACPI: PCI: add a helper to convert _PRT INTx pin number to name
This adds a helper function to convert INTx pin numbers from the _PRT
(0, 1, 2, 3) to the pin name ('A', 'B', 'C', 'D').

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:22:07 -05:00
Bjorn Helgaas
f748bafa3c ACPI: PCI: move struct acpi_prt_entry declaration out of public header file
The struct acpi_prt_entry is used only in pci_irq.c, so there's no
need for the declaration to be public.  This patch moves it into
pci_irq.c.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:20:23 -05:00
Bjorn Helgaas
c13f889a24 ACPI: PCI: fix GSI/IRQ naming confusion
The interrupt numbers from _PRT entries are GSIs, not Linux IRQs.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:19:31 -05:00
Bjorn Helgaas
b52b3f4af8 ACPI: PCI: ignore _PRT function information
_PRT entries don't contain any useful PCI function information (the
function part of the PCI address is supposed to be 0xffff), and we
don't ever look at it, so this patch just removes the reference to
it.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:17:48 -05:00
Bjorn Helgaas
2320ac6cb0 ACPI: PCI: simplify buffer management for evaluating _PRT
Previously, acpi_pci_irq_add_prt() did all its own buffer management.
But now that we have ACPI_ALLOCATE_BUFFER, we no longer need to do
that management.  And we don't have to call acpi_get_irq_routing_table()
twice (once to learn the size of the buffer needed, and again to
actually get the table).

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:14:42 -05:00
Bjorn Helgaas
3b8249de43 ACPI: PCI: remove unnecessary null pointer checks
Better to oops and learn about a bug than to silently cover it up.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-12-30 21:10:17 -05:00