12 Aug, 2010

1 commit

  • The ACPI_PREEMPTION_POINT() logic was introduced in commit 8bd108d
    (ACPICA: add preemption point after each opcode parse). The follow up
    commits abe1dfab6, 138d15692, c084ca70 tried to fix the preemption logic
    back and forth, but nobody noticed that the usage of
    in_atomic_preempt_off() in that context is wrong.

    The check which guards the call of cond_resched() is:

    if (!in_atomic_preempt_off() && !irqs_disabled())

    in_atomic_preempt_off() is not intended for general use as the comment
    above the macro definition clearly says:

    * Check whether we were atomic before we did preempt_disable():
    * (used by the scheduler, *after* releasing the kernel lock)

    On a CONFIG_PREEMPT=n kernel the usage of in_atomic_preempt_off() works by
    accident, but with CONFIG_PREEMPT=y it's just broken.

    The whole purpose of the ACPI_PREEMPTION_POINT() is to reduce the latency
    on a CONFIG_PREEMPT=n kernel, so make ACPI_PREEMPTION_POINT() depend on
    CONFIG_PREEMPT=n and remove the in_atomic_preempt_off() check.

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16210

    [akpm@linux-foundation.org: fix build]
    Signed-off-by: Thomas Gleixner
    Cc: Len Brown
    Cc: Francois Valenduc
    Cc: Lin Ming
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

23 Jan, 2010

2 commits

  • Add 2010 copyright to all module headers and signons, including
    the Linux header. This affects virtually every file in the ACPICA
    core subsystem, iASL compiler, and all utilities.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Added several new options for the gcc-4 generation, and updated
    the source accordingly. This includes some code restructuring to
    eliminate unreachable code, elimination of some gotos, elimination
    of unused return values, and some additional casting.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     

16 Jan, 2010

1 commit

  • commit 8bd108d adds preemption point after each opcode parse, then
    a sleeping function called from invalid context bug was founded
    during suspend/resume stage. this was fixed in commit abe1dfa by
    don't cond_resched when irq_disabled. But recent commit 138d156 changes
    the behaviour to don't cond_resched when in_atomic. This makes the
    sleeping function called from invalid context bug happen again, which
    is reported in http://lkml.org/lkml/2009/12/1/371.

    This patch also fixes http://bugzilla.kernel.org/show_bug.cgi?id=14483

    Reported-and-bisected-by: Larry Finger
    Reported-and-bisected-by: Justin P. Mattock
    Signed-off-by: Xiaotian Feng
    Acked-by: Alexey Starikovskiy
    Signed-off-by: Len Brown

    Xiaotian Feng
     

24 Sep, 2009

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (119 commits)
    ACPI: don't pass handle for fixed hardware notifications
    ACPI: remove null pointer checks in deferred execution path
    ACPI: simplify deferred execution path
    acerhdf: additional BIOS versions
    acerhdf: convert to dev_pm_ops
    acerhdf: fix fan control for AOA150 model
    thermal: add missing Kconfig dependency
    acpi: switch /proc/acpi/{debug_layer,debug_level} to seq_file
    hp-wmi: fix rfkill memory leak on unload
    ACPI: remove unnecessary #ifdef CONFIG_DMI
    ACPI: linux/acpi.h should not include linux/dmi.h
    hwmon driver for ACPI 4.0 power meters
    topstar-laptop: add new driver for hotkeys support on Topstar N01
    thinkpad_acpi: fix rfkill memory leak on unload
    thinkpad-acpi: report brightness events when required
    thinkpad-acpi: don't poll by default any of the reserved hotkeys
    thinkpad-acpi: Fix procfs hotkey reset command
    thinkpad-acpi: deprecate hotkey_bios_mask
    thinkpad-acpi: hotkey poll fixes
    thinkpad-acpi: be more strict when detecting a ThinkPad
    ...

    Linus Torvalds
     

21 Sep, 2009

1 commit


30 Aug, 2009

1 commit


27 May, 2009

2 commits


09 Jan, 2009

1 commit


31 Dec, 2008

3 commits

  • Used to specify whether the OSL mutex interfaces should be used,
    or binary semaphores instead.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • 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
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • 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
     

19 Dec, 2008

1 commit

  • The ACPI interpreter usually runs with irqs enabled.
    However, during suspend/resume it runs with
    irqs disabled to evaluate _GTS/_BFS, as well as
    by irqrouter_resume() which evaluates _CRS, _PRS, _SRS.

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

    Signed-off-by: Wu Fengguang
    Signed-off-by: Len Brown

    Wu Fengguang
     

23 Oct, 2008

2 commits


17 Oct, 2008

1 commit


24 Apr, 2008

1 commit


03 Jul, 2007

1 commit


10 May, 2007

1 commit


03 Feb, 2007

1 commit

  • Added 2007 copyright to all module headers and signons. This affects
    virtually every file in the ACPICA core subsystem, iASL compiler,
    and the utilities.

    Signed-off-by: Alexey Starikovskiy
    Signed-off-by: Len Brown

    Bob Moore
     

08 Dec, 2006

1 commit

  • Replace all uses of kmem_cache_t with struct kmem_cache.

    The patch was generated using the following script:

    #!/bin/sh
    #
    # Replace one string by another in all the kernel sources.
    #

    set -e

    for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do
    quilt add $file
    sed -e "1,\$s/$1/$2/g" $file >/tmp/$$
    mv /tmp/$$ $file
    quilt refresh
    done

    The script was run like this

    sh replace kmem_cache_t "struct kmem_cache"

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

10 Jul, 2006

3 commits

  • Len Brown
     
  • 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
     
  • 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
     

28 Jun, 2006

1 commit

  • Implemented a new acpi_spinlock type for the OSL lock
    interfaces. This allows the type to be customized to
    the host OS for improved efficiency (since a spinlock is
    usually a very small object.)

    Implemented support for "ignored" bits in the ACPI
    registers. According to the ACPI specification, these
    bits should be preserved when writing the registers via
    a read/modify/write cycle. There are 3 bits preserved
    in this manner: PM1_CONTROL[0] (SCI_EN), PM1_CONTROL[9],
    and PM1_STATUS[11].
    http://bugzilla.kernel.org/show_bug.cgi?id=3691

    Implemented the initial deployment of new OSL mutex
    interfaces. Since some host operating systems have
    separate mutex and semaphore objects, this feature was
    requested. The base code now uses mutexes (and the new
    mutex interfaces) wherever a binary semaphore was used
    previously. However, for the current release, the mutex
    interfaces are defined as macros to map them to the
    existing semaphore interfaces.

    Fixed several problems with the support for the control
    method SyncLevel parameter. The SyncLevel now works
    according to the ACPI specification and in concert with the
    Mutex SyncLevel parameter, since the current SyncLevel is
    a property of the executing thread. Mutual exclusion for
    control methods is now implemented with a mutex instead
    of a semaphore.

    Fixed three instances of the use of the C shift operator
    in the bitfield support code (exfldio.c) to avoid the use
    of a shift value larger than the target data width. The
    behavior of C compilers is undefined in this case and can
    cause unpredictable results, and therefore the case must
    be detected and avoided. (Fiodor Suietov)

    Added an info message whenever an SSDT or OEM table
    is loaded dynamically via the Load() or LoadTable()
    ASL operators. This should improve debugging capability
    since it will show exactly what tables have been loaded
    (beyond the tables present in the RSDT/XSDT.)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

23 Jun, 2006

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (65 commits)
    ACPI: suppress power button event on S3 resume
    ACPI: resolve merge conflict between sem2mutex and processor_perflib.c
    ACPI: use for_each_possible_cpu() instead of for_each_cpu()
    ACPI: delete newly added debugging macros in processor_perflib.c
    ACPI: UP build fix for bugzilla-5737
    Enable P-state software coordination via _PDC
    P-state software coordination for speedstep-centrino
    P-state software coordination for acpi-cpufreq
    P-state software coordination for ACPI core
    ACPI: create acpi_thermal_resume()
    ACPI: create acpi_fan_suspend()/acpi_fan_resume()
    ACPI: pass pm_message_t from acpi_device_suspend() to root_suspend()
    ACPI: create acpi_device_suspend()/acpi_device_resume()
    ACPI: replace spin_lock_irq with mutex for ec poll mode
    ACPI: Allow a WAN module enable/disable on a Thinkpad X60.
    sem2mutex: acpi, acpi_link_lock
    ACPI: delete unused acpi_bus_drivers_lock
    sem2mutex: drivers/acpi/processor_perflib.c
    ACPI add ia64 exports to build acpi_memhotplug as a module
    ACPI: asus_acpi_init(): propagate correct return value
    ...

    Manual resolve of conflicts in:

    arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
    arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
    include/acpi/processor.h

    Linus Torvalds
     

14 Jun, 2006

3 commits

  • Removed a device initialization optimization introduced in
    20051216 where the _STA method was not run unless an _INI
    was also present for the same device. This optimization
    could cause problems because it could allow _INI methods
    to be run within a not-present device subtree (If a
    not-present device had no _INI, _STA would not be run,
    the not-present status would not be discovered, and the
    children of the device would be incorrectly traversed.)

    Implemented a new _STA optimization where namespace
    subtrees that do not contain _INI are identified and
    ignored during device initialization. Selectively running
    _STA can significantly improve boot time on large machines
    (with assistance from Len Brown.)

    Implemented support for the device initialization case
    where the returned _STA flags indicate a device not-present
    but functioning. In this case, _INI is not run, but the
    device children are examined for presence, as per the
    ACPI specification.

    Implemented an additional change to the IndexField support
    in order to conform to MS behavior. The value written to
    the Index Register is not simply a byte offset, it is a
    byte offset in units of the access width of the parent
    Index Field. (Fiodor Suietov)

    Defined and deployed a new OSL interface,
    acpi_os_validate_address(). This interface is called during
    the creation of all AML operation regions, and allows
    the host OS to exert control over what addresses it will
    allow the AML code to access. Operation Regions whose
    addresses are disallowed will cause a runtime exception
    when they are actually accessed (will not affect or abort
    table loading.)

    Defined and deployed a new OSL interface,
    acpi_os_validate_interface(). This interface allows the host OS
    to match the various "optional" interface/behavior strings
    for the _OSI predefined control method as appropriate
    (with assistance from Bjorn Helgaas.)

    Restructured and corrected various problems in the
    exception handling code paths within DsCallControlMethod
    and DsTerminateControlMethod in dsmethod (with assistance
    from Takayoshi Kochi.)

    Modified the Linux source converter to ignore quoted string
    literals while converting identifiers from mixed to lower
    case. This will correct problems with the disassembler
    and other areas where such strings must not be modified.

    The ACPI_FUNCTION_* macros no longer require quotes around
    the function name. This allows the Linux source converter
    to convert the names, now that the converter ignores
    quoted strings.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Implemented header file support for the following
    additional ACPI tables: ASF!, BOOT, CPEP, DBGP, MCFG, SPCR,
    SPMI, TCPA, and WDRT. With this support, all current and
    known ACPI tables are now defined in the ACPICA headers and
    are available for use by device drivers and other software.

    Implemented support to allow tables that contain ACPI
    names with invalid characters to be loaded. Previously,
    this would cause the table load to fail, but since
    there are several known cases of such tables on
    existing machines, this change was made to enable
    ACPI support for them. Also, this matches the
    behavior of the Microsoft ACPI implementation.
    https://bugzilla.novell.com/show_bug.cgi?id=147621

    Fixed a couple regressions introduced during the memory
    optimization in the 20060317 release. The namespace
    node definition required additional reorganization and
    an internal datatype that had been changed to 8-bit was
    restored to 32-bit. (Valery Podrezov)

    Fixed a problem where a null pointer passed to
    acpi_ut_delete_generic_state() could be passed through
    to acpi_os_release_object which is unexpected. Such
    null pointers are now trapped and ignored, matching
    the behavior of the previous implementation before the
    deployment of acpi_os_release_object(). (Valery Podrezov,
    Fiodor Suietov)

    Fixed a memory mapping leak during the deletion of
    a SystemMemory operation region where a cached memory
    mapping was not deleted. This became a noticeable problem
    for operation regions that are defined within frequently
    used control methods. (Dana Meyers)

    Reorganized the ACPI table header files into two main
    files: one for the ACPI tables consumed by the ACPICA core,
    and another for the miscellaneous ACPI tables that are
    consumed by the drivers and other software. The various
    FADT definitions were merged into one common section and
    three different tables (ACPI 1.0, 1.0+, and 2.0)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Implemented the use of a cache object for all internal
    namespace nodes. Since there are about 1000 static nodes
    in a typical system, this will decrease memory use for
    cache implementations that minimize per-allocation overhead
    (such as a slab allocator.)

    Removed the reference count mechanism for internal
    namespace nodes, since it was deemed unnecessary. This
    reduces the size of each namespace node by about 5%-10%
    on all platforms. Nodes are now 20 bytes for the 32-bit
    case, and 32 bytes for the 64-bit case.

    Optimized several internal data structures to reduce
    object size on 64-bit platforms by packing data within
    the 64-bit alignment. This includes the frequently used
    ACPI_OPERAND_OBJECT, of which there can be ~1000 static
    instances corresponding to the namespace objects.

    Added two new strings for the predefined _OSI method:
    "Windows 2001.1 SP1" and "Windows 2006".

    Split the allocation tracking mechanism out to a separate
    file, from utalloc.c to uttrack.c. This mechanism appears
    to be only useful for application-level code. Kernels may
    wish to not include uttrack.c in distributions.

    Removed all remnants of the obsolete ACPI_REPORT_* macros
    and the associated code. (These macros have been replaced
    by the ACPI_ERROR and ACPI_WARNING macros.)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

26 Apr, 2006

1 commit


01 Apr, 2006

2 commits

  • acpi_os_get_thread_id() is used only for debugging
    code that is not enabled on Linux, so stub it out.

    Signed-off-by: Len Brown

    Len Brown
     
  • Tagged all external interfaces to the subsystem with the
    new ACPI_EXPORT_SYMBOL macro. This macro can be defined
    as necessary to assist kernel integration. For Linux,
    the macro resolves to the EXPORT_SYMBOL macro. The default
    definition is NULL.

    Added the ACPI_THREAD_ID type for the return value from
    acpi_os_get_thread_id(). This allows the host to define this
    as necessary to simplify kernel integration. The default
    definition is ACPI_NATIVE_UINT.

    Valery Podrezov fixed two interpreter problems related
    to error processing, the deletion of objects, and placing
    invalid pointers onto the internal operator result stack.
    http://bugzilla.kernel.org/show_bug.cgi?id=6028
    http://bugzilla.kernel.org/show_bug.cgi?id=6151

    Increased the reference count threshold where a warning is
    emitted for large reference counts in order to eliminate
    unnecessary warnings on systems with large namespaces
    (especially 64-bit.) Increased the value from 0x400
    to 0x800.

    Due to universal disagreement as to the meaning of the
    'c' in the calloc() function, the ACPI_MEM_CALLOCATE
    macro has been renamed to ACPI_ALLOCATE_ZEROED so that the
    purpose of the interface is 'clear'. ACPI_MEM_ALLOCATE and
    ACPI_MEM_FREE are renamed to ACPI_ALLOCATE and ACPI_FREE.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

31 Jan, 2006

1 commit

  • Implemented support in the Resource Manager to allow
    unresolved namestring references within resource package
    objects for the _PRT method. This support is in addition
    to the previously implemented unresolved reference
    support within the AML parser. If the interpreter slack
    mode is enabled (true on Linux unless acpi=strict),
    these unresolved references will be passed through
    to the caller as a NULL package entry.
    http://bugzilla.kernel.org/show_bug.cgi?id=5741

    Implemented and deployed new macros and functions for
    error and warning messages across the subsystem. These
    macros are simpler and generate less code than their
    predecessors. The new macros ACPI_ERROR, ACPI_EXCEPTION,
    ACPI_WARNING, and ACPI_INFO replace the ACPI_REPORT_*
    macros.

    Implemented the acpi_cpu_flags type to simplify host OS
    integration of the Acquire/Release Lock OSL interfaces.
    Suggested by Steven Rostedt and Andrew Morton.

    Fixed a problem where Alias ASL operators are sometimes
    not correctly resolved. causing AE_AML_INTERNAL
    http://bugzilla.kernel.org/show_bug.cgi?id=5189
    http://bugzilla.kernel.org/show_bug.cgi?id=5674

    Fixed several problems with the implementation of the
    ConcatenateResTemplate ASL operator. As per the ACPI
    specification, zero length buffers are now treated as a
    single EndTag. One-length buffers always cause a fatal
    exception. Non-zero length buffers that do not end with
    a full 2-byte EndTag cause a fatal exception.

    Fixed a possible structure overwrite in the
    AcpiGetObjectInfo external interface. (With assistance
    from Thomas Renninger)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

20 Jan, 2006

1 commit

  • Added 2006 copyright.

    At SuSE's suggestion, enabled all error messages
    without enabling function tracing, ie with CONFIG_ACPI_DEBUG=n

    Replaced all instances of the ACPI_DEBUG_PRINT macro invoked at
    the ACPI_DB_ERROR and ACPI_DB_WARN debug levels with
    the ACPI_REPORT_ERROR and ACPI_REPORT_WARNING macros,
    respectively. This preserves all error and warning messages
    in the non-debug version of the ACPICA code (this has been
    referred to as the "debug lite" option.) Over 200 cases
    were converted to create a total of over 380 error/warning
    messages across the ACPICA code. This increases the code
    and data size of the default non-debug version by about 13K.
    Added ACPI_NO_ERROR_MESSAGES flag to enable deleting all messages.
    The size of the debug version remains about the same.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

10 Dec, 2005

2 commits

  • Fixed a problem in the AML parser where the method thread
    count could be decremented below zero if any errors
    occurred during the method parse phase. This should
    eliminate AE_AML_METHOD_LIMIT exceptions seen on some
    machines. This also fixed a related regression with the
    mechanism that detects and corrects methods that cannot
    properly handle reentrancy (related to the deployment of
    the new OwnerId mechanism.)

    Eliminated the pre-parsing of control methods (to detect
    errors) during table load. Related to the problem above,
    this was causing unwind issues if any errors occurred
    during the parse, and it seemed to be overkill. A table
    load should not be aborted if there are problems with
    any single control method, thus rendering this feature
    rather pointless.

    Fixed a problem with the new table-driven resource manager
    where an internal buffer overflow could occur for small
    resource templates.

    Implemented a new external interface, acpi_get_vendor_resource()
    This interface will find and return a vendor-defined
    resource descriptor within a _CRS or _PRS
    method via an ACPI 3.0 UUID match. (from Bjorn Helgaas)

    Removed the length limit (200) on string objects as
    per the upcoming ACPI 3.0A specification. This affects
    the following areas of the interpreter: 1) any implicit
    conversion of a Buffer to a String, 2) a String object
    result of the ASL Concatentate operator, 3) the String
    object result of the ASL ToString operator.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Implemented support for the EM64T and other x86_64
    processors. This essentially entails recognizing
    that these processors support non-aligned memory
    transfers. Previously, all 64-bit processors were assumed
    to lack hardware support for non-aligned transfers.

    Completed conversion of the Resource Manager to nearly
    full table-driven operation. Specifically, the resource
    conversion code (convert AML to internal format and the
    reverse) and the debug code to dump internal resource
    descriptors are fully table-driven, reducing code and data
    size and improving maintainability.

    The OSL interfaces for Acquire and Release Lock now use a
    64-bit flag word on 64-bit processors instead of a fixed
    32-bit word. (Alexey Starikovskiy)

    Implemented support within the resource conversion code
    for the Type-Specific byte within the various ACPI 3.0
    *WordSpace macros.

    Fixed some issues within the resource conversion code for
    the type-specific flags for both Memory and I/O address
    resource descriptors. For Memory, implemented support
    for the MTP and TTP flags. For I/O, split the TRS and TTP
    flags into two separate fields.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

22 Sep, 2005

1 commit

  • Fixed a problem within the Resource Manager where
    support for the Generic Register descriptor was not fully
    implemented. This descriptor is now fully recognized,
    parsed, disassembled, and displayed.

    Restructured the Resource Manager code to utilize
    table-driven dispatch and lookup, eliminating many of the
    large switch() statements. This reduces overall subsystem
    code size and code complexity. Affects the resource parsing
    and construction, disassembly, and debug dump output.

    Cleaned up and restructured the debug dump output for all
    resource descriptors. Improved readability of the output
    and reduced code size.

    Fixed a problem where changes to internal data structures
    caused the optional ACPI_MUTEX_DEBUG code to fail
    compilation if specified.

    Signed-off-by: Robert Moore
    Signed-off-by: Len Brown

    Robert Moore
     

05 Aug, 2005

1 commit


30 Jul, 2005

1 commit

  • Implemented support to ignore an attempt to install/load
    a particular ACPI table more than once. Apparently there
    exists BIOS code that repeatedly attempts to load the same
    SSDT upon certain events. Thanks to Venkatesh Pallipadi.

    Restructured the main interface to the AML parser in
    order to correctly handle all exceptional conditions. This
    will prevent leakage of the OwnerId resource and should
    eliminate the AE_OWNER_ID_LIMIT exceptions seen on some
    machines. Thanks to Alexey Starikovskiy.

    Support for "module level code" has been disabled in this
    version due to a number of issues that have appeared
    on various machines. The support can be enabled by
    defining ACPI_ENABLE_MODULE_LEVEL_CODE during subsystem
    compilation. When the issues are fully resolved, the code
    will be enabled by default again.

    Modified the internal functions for debug print support
    to define the FunctionName parameter as a (const char *)
    for compatibility with compiler built-in macros such as
    __FUNCTION__, etc.

    Linted the entire ACPICA source tree for both 32-bit
    and 64-bit.

    Signed-off-by: Robert Moore
    Signed-off-by: Len Brown

    Robert Moore