<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/acpi/osl.c, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-06-01T19:16:59Z</updated>
<entry>
<title>ACPI / osi: Fix an issue that acpi_osi=!* cannot disable ACPICA internal strings</title>
<updated>2016-06-01T19:16:59Z</updated>
<author>
<name>Lv Zheng</name>
</author>
<published>2016-05-03T08:48:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d5a41e4b3aa0f91c4f216c1bdec5c7a35455397'/>
<id>urn:sha1:3d5a41e4b3aa0f91c4f216c1bdec5c7a35455397</id>
<content type='text'>
commit 30c9bb0d7603e7b3f4d6a0ea231e1cddae020c32 upstream.

The order of the _OSI related functionalities is as follows:

  acpi_blacklisted()
    acpi_dmi_osi_linux()
      acpi_osi_setup()
    acpi_osi_setup()
      acpi_update_interfaces() if "!*"
      &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;
  parse_args()
    __setup("acpi_osi=")
      acpi_osi_setup_linux()
        acpi_update_interfaces() if "!*"
        &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;
  acpi_early_init()
    acpi_initialize_subsystem()
      acpi_ut_initialize_interfaces()
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  acpi_bus_init()
    acpi_os_initialize1()
      acpi_install_interface_handler(acpi_osi_handler)
      acpi_osi_setup_late()
        acpi_update_interfaces() for "!"
        &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
  acpi_osi_handler()

Since acpi_osi_setup_linux() can override acpi_dmi_osi_linux(), the command
line setting can override the DMI detection. That's why acpi_blacklisted()
is put before __setup("acpi_osi=").

Then we can notice the following wrong invocation order. There are
acpi_update_interfaces() (marked by &lt;&lt;&lt;&lt;) calls invoked before
acpi_ut_initialize_interfaces() (marked by ^^^^). This makes it impossible
to use acpi_osi=!* correctly from OSI DMI table or from the command line.
The use of acpi_osi=!* is meant to disable both ACPICA
(acpi_gbl_supported_interfaces) and Linux specific strings
(osi_setup_entries) while the ACPICA part should have stopped working
because of the order issue.

This patch fixes this issue by moving acpi_update_interfaces() to where
it is invoked for acpi_osi=! (marked by &gt;&gt;&gt;&gt;) as this is ensured to be
invoked after acpi_ut_initialize_interfaces() (marked by ^^^^). Linux
specific strings are still handled in the original place in order to make
the following command line working: acpi_osi=!* acpi_osi="Module Device".

Note that since acpi_osi=!* is meant to further disable linux specific
string comparing to the acpi_osi=!, there is no such use case in our bug
fixing work and hence there is no one using acpi_osi=!* either from the
command line or from the DMI quirks, this issue is just a theoretical
issue.

Fixes: 741d81280ad2 (ACPI: Add facility to remove all _OSI strings)
Tested-by: Lukas Wunner &lt;lukas@wunner.de&gt;
Tested-by: Chen Yu &lt;yu.c.chen@intel.com&gt;
Signed-off-by: Lv Zheng &lt;lv.zheng@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branches 'acpi-scan', 'acpi-bus', 'acpi-osl' and 'acpi-pm'</title>
<updated>2016-01-12T00:10:03Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2016-01-12T00:10:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=42d287d1a1e805ec98b5bdc4cca2660a56720ebd'/>
<id>urn:sha1:42d287d1a1e805ec98b5bdc4cca2660a56720ebd</id>
<content type='text'>
* acpi-scan:
  ACPI: Fix white space in a structure definition
  ACPI / utils: Add acpi_dev_present()
  ACPI / scan: Fix acpi_bus_id_list bookkeeping
  ACPI / scan: set status to 0 if _STA failed

* acpi-bus:
  ACPI / bus: Show _OSC UUID when _OSC fails
  ACPI / bus: Tidy up _OSC error spacing

* acpi-osl:
  ACPI / OSL: Add kerneldoc comments to memory mapping functions

* acpi-pm:
  ACPI / PM: Support D3 COLD device in old BIOS for ZPODD
</content>
</entry>
<entry>
<title>ACPI / OSL: Add kerneldoc comments to memory mapping functions</title>
<updated>2016-01-03T00:01:44Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2016-01-02T02:10:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d128ed17c672b1dffde4a328e9b3ee26d87a8f0'/>
<id>urn:sha1:9d128ed17c672b1dffde4a328e9b3ee26d87a8f0</id>
<content type='text'>
Add kerneldoc comments to acpi_os_map_iomem() and acpi_os_unmap_iomem()
and explain why the latter needs the __ref annotation in one of them
(as suggested by Mathias Krause).

Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Acked-by: Mathias Krause &lt;minipli@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ACPI / debugger: Add module support for ACPI debugger</title>
<updated>2015-12-14T23:17:44Z</updated>
<author>
<name>Lv Zheng</name>
</author>
<published>2015-12-03T02:43:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=836d0830188a97d5c73e8eb514f346a857c086b9'/>
<id>urn:sha1:836d0830188a97d5c73e8eb514f346a857c086b9</id>
<content type='text'>
This patch converts AML debugger into a loadable module.

Note that, it implements driver unloading at the level dependent on the
module reference count. Which means if ACPI debugger is being used by a
userspace program, "rmmod acpi_dbg" should result in failure.

Signed-off-by: Lv Zheng &lt;lv.zheng@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / debugger: Add IO interface to access debugger functionalities</title>
<updated>2015-12-14T23:17:44Z</updated>
<author>
<name>Lv Zheng</name>
</author>
<published>2015-12-03T02:43:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8cfb0cdf07e2c260c4d1a102bfec35183907834f'/>
<id>urn:sha1:8cfb0cdf07e2c260c4d1a102bfec35183907834f</id>
<content type='text'>
This patch adds /sys/kernel/debug/acpi/acpidbg, which can be used by
userspace programs to access ACPICA debugger functionalities.

Known issue:
1. IO flush support
   acpi_os_notify_command_complete() and acpi_os_wait_command_ready() can
   be used by acpi_dbg module to implement .flush() filesystem operation.
   While this patch doesn't go that far. It then becomes userspace tool's
   duty now to flush old commands before executing new batch mode commands.

Signed-off-by: Lv Zheng &lt;lv.zheng@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic</title>
<updated>2015-11-06T22:22:15Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-11-06T22:22:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9cf5c095b65da63c08b928a7d0015d5d5dca8a66'/>
<id>urn:sha1:9cf5c095b65da63c08b928a7d0015d5d5dca8a66</id>
<content type='text'>
Pull asm-generic cleanups from Arnd Bergmann:
 "The asm-generic changes for 4.4 are mostly a series from Christoph
  Hellwig to clean up various abuses of headers in there.  The patch to
  rename the io-64-nonatomic-*.h headers caused some conflicts with new
  users, so I added a workaround that we can remove in the next merge
  window.

  The only other patch is a warning fix from Marek Vasut"

* tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
  asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h
  asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
  gpio-mxc: stop including &lt;asm-generic/bug&gt;
  n_tracesink: stop including &lt;asm-generic/bug&gt;
  n_tracerouter: stop including &lt;asm-generic/bug&gt;
  mlx5: stop including &lt;asm-generic/kmap_types.h&gt;
  hifn_795x: stop including &lt;asm-generic/kmap_types.h&gt;
  drbd: stop including &lt;asm-generic/kmap_types.h&gt;
  move count_zeroes.h out of asm-generic
  move io-64-nonatomic*.h out of asm-generic
</content>
</entry>
<entry>
<title>Merge branches 'acpi-osl', 'acpi-pad', 'acpi-video' and 'acpi-assorted'</title>
<updated>2015-11-01T23:51:46Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2015-11-01T23:51:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=66c44877242d37873df2abb10e4fce26ff4fc9f9'/>
<id>urn:sha1:66c44877242d37873df2abb10e4fce26ff4fc9f9</id>
<content type='text'>
* acpi-osl:
  ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle
  ACPI: Using correct irq when waiting for events
  ACPI: Use correct IRQ when uninstalling ACPI interrupt handler

* acpi-pad:
  ACPI / PAD: power_saving_thread() is not freezable

* acpi-video:
  ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405

* acpi-assorted:
  ACPI / Documentation: add copy_dsdt to ACPI format options
  ACPI / sysfs: correctly check failing memory allocation
</content>
</entry>
<entry>
<title>ACPI: Using correct irq when waiting for events</title>
<updated>2015-10-26T03:39:25Z</updated>
<author>
<name>Chen Yu</name>
</author>
<published>2015-10-24T17:02:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=efb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686'/>
<id>urn:sha1:efb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686</id>
<content type='text'>
When the system is waiting for GPE/fixed event handler to finish,
it uses acpi_gbl_FADT.sci_interrupt directly as the IRQ number.
However, the remapped IRQ returned by acpi_gsi_to_irq() should be
passed to synchronize_hardirq() instead of it.

Cc: 3.19+ &lt;stable@vger.kernel.org&gt; # 3.19+
Acked-by: Lv Zheng &lt;lv.zheng@intel.com&gt;
Signed-off-by: Chen Yu &lt;yu.c.chen@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: Use correct IRQ when uninstalling ACPI interrupt handler</title>
<updated>2015-10-26T03:39:25Z</updated>
<author>
<name>Chen Yu</name>
</author>
<published>2015-10-24T17:02:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=49e4b84333f338d4f183f28f1f3c1131b9fb2b5a'/>
<id>urn:sha1:49e4b84333f338d4f183f28f1f3c1131b9fb2b5a</id>
<content type='text'>
Currently when the system is trying to uninstall the ACPI interrupt
handler, it uses acpi_gbl_FADT.sci_interrupt as the IRQ number.
However, the IRQ number that the ACPI interrupt handled is installed
for comes from acpi_gsi_to_irq() and that is the number that should
be used for the handler removal.

Fix this problem by using the mapped IRQ returned from acpi_gsi_to_irq()
as appropriate.

Cc: All applicable &lt;stable@vger.kernel.org&gt;
Acked-by: Lv Zheng &lt;lv.zheng@intel.com&gt;
Signed-off-by: Chen Yu &lt;yu.c.chen@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: Enable build of AML interpreter debugger</title>
<updated>2015-10-22T00:05:05Z</updated>
<author>
<name>Lv Zheng</name>
</author>
<published>2015-10-19T02:25:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d946f7970e51d80f8358e0a619dfb17d89e0920'/>
<id>urn:sha1:4d946f7970e51d80f8358e0a619dfb17d89e0920</id>
<content type='text'>
This patch enables ACPICA debugger files using a configurable
CONFIG_ACPI_DEBUGGER configuration item. Those debugger related code that
was originally masked as ACPI_FUTURE_USAGE now gets unmasked.

Necessary OSL stubs are also added in this patch:
1. acpi_os_readable(): This should be arch specific in Linux, while this
    patch doesn't introduce real implementation and a complex mechanism to
    allow architecture specific acpi_os_readable() to be implemented to
    validate the address. It may be done by future commits.
2. acpi_os_get_line(): This is used to obtain debugger command input. This
    patch only introduces a simple KDB concept example in it and the
    example should be co-working with the code implemented in
    acpi_os_printf(). Since this KDB example won't be compiled unless
    ENABLE_DEBUGGER is defined and it seems Linux has already stopped to
    use ENABLE_DEBUGGER, thus do not expect it can work properly.

This patch also cleans up all other ACPI_FUTURE_USAGE surroundings
accordingly.
1. Since linkage error can be automatically detected, declaration in the
   headers needn't be surrounded by ACPI_FUTURE_USAGE.
   So only the following separate exported fuction bodies are masked by
   this macro (other exported fucntions may have already been masked at
   entire module level via drivers/acpi/acpica/Makefile):
     acpi_install_exception_handler()
     acpi_subsystem_status()
     acpi_get_system_info()
     acpi_get_statistics()
     acpi_install_initialization_handler()
2. Since strip can automatically zap the no-user functions, functions that
   are not marked with ACPI_EXPORT_SYMBOL() needn't get surrounded by
   ACPI_FUTURE_USAGE.
   So the following function which is not used by Linux kernel now won't
   get surrounded by this macro:
     acpi_ps_get_name()

Signed-off-by: Lv Zheng &lt;lv.zheng@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
