<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/pnp, branch v4.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-02-03T00:00:29Z</updated>
<entry>
<title>PNP: Add Haswell-ULT to Intel MCH size workaround</title>
<updated>2016-02-03T00:00:29Z</updated>
<author>
<name>Josh Boyer</name>
<email>jwboyer@fedoraproject.org</email>
</author>
<published>2016-02-03T00:00:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ed1f0eeebaeeb7f790e9e7642116a208581e5bfc'/>
<id>urn:sha1:ed1f0eeebaeeb7f790e9e7642116a208581e5bfc</id>
<content type='text'>
Add device ID 0x0a04 for Haswell-ULT to the list of devices with MCH
problems.

From a Lenovo ThinkPad T440S:
[    0.188604] pnp: PnP ACPI init
[    0.189044] system 00:00: [mem 0x00000000-0x0009ffff] could not be reserved
[    0.189048] system 00:00: [mem 0x000c0000-0x000c3fff] could not be reserved
[    0.189050] system 00:00: [mem 0x000c4000-0x000c7fff] could not be reserved
[    0.189052] system 00:00: [mem 0x000c8000-0x000cbfff] could not be reserved
[    0.189054] system 00:00: [mem 0x000cc000-0x000cffff] could not be reserved
[    0.189056] system 00:00: [mem 0x000d0000-0x000d3fff] has been reserved
[    0.189058] system 00:00: [mem 0x000d4000-0x000d7fff] has been reserved
[    0.189060] system 00:00: [mem 0x000d8000-0x000dbfff] has been reserved
[    0.189061] system 00:00: [mem 0x000dc000-0x000dffff] has been reserved
[    0.189063] system 00:00: [mem 0x000e0000-0x000e3fff] could not be reserved
[    0.189065] system 00:00: [mem 0x000e4000-0x000e7fff] could not be reserved
[    0.189067] system 00:00: [mem 0x000e8000-0x000ebfff] could not be reserved
[    0.189069] system 00:00: [mem 0x000ec000-0x000effff] could not be reserved
[    0.189071] system 00:00: [mem 0x000f0000-0x000fffff] could not be reserved
[    0.189073] system 00:00: [mem 0x00100000-0xdf9fffff] could not be reserved
[    0.189075] system 00:00: [mem 0xfec00000-0xfed3ffff] could not be reserved
[    0.189078] system 00:00: [mem 0xfed4c000-0xffffffff] could not be reserved
[    0.189082] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.189216] system 00:01: [io  0x1800-0x189f] could not be reserved
[    0.189220] system 00:01: [io  0x0800-0x087f] has been reserved
[    0.189222] system 00:01: [io  0x0880-0x08ff] has been reserved
[    0.189224] system 00:01: [io  0x0900-0x097f] has been reserved
[    0.189226] system 00:01: [io  0x0980-0x09ff] has been reserved
[    0.189229] system 00:01: [io  0x0a00-0x0a7f] has been reserved
[    0.189231] system 00:01: [io  0x0a80-0x0aff] has been reserved
[    0.189233] system 00:01: [io  0x0b00-0x0b7f] has been reserved
[    0.189235] system 00:01: [io  0x0b80-0x0bff] has been reserved
[    0.189238] system 00:01: [io  0x15e0-0x15ef] has been reserved
[    0.189240] system 00:01: [io  0x1600-0x167f] has been reserved
[    0.189242] system 00:01: [io  0x1640-0x165f] has been reserved
[    0.189246] system 00:01: [mem 0xf8000000-0xfbffffff] could not be reserved
[    0.189249] system 00:01: [mem 0x00000000-0x00000fff] could not be reserved
[    0.189251] system 00:01: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    0.189254] system 00:01: [mem 0xfed10000-0xfed13fff] has been reserved
[    0.189256] system 00:01: [mem 0xfed18000-0xfed18fff] has been reserved
[    0.189258] system 00:01: [mem 0xfed19000-0xfed19fff] has been reserved
[    0.189261] system 00:01: [mem 0xfed45000-0xfed4bfff] has been reserved
[    0.189264] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[....]
[    0.583653] resource sanity check: requesting [mem 0xfed10000-0xfed15fff], which spans more than pnp 00:01 [mem 0xfed10000-0xfed13fff]
[    0.583654] ------------[ cut here ]------------
[    0.583660] WARNING: CPU: 0 PID: 1 at arch/x86/mm/ioremap.c:198 __ioremap_caller+0x2c5/0x380()
[    0.583661] Info: mapping multiple BARs. Your kernel is fine.
[    0.583662] Modules linked in:

[    0.583666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.3-303.fc23.x86_64 #1
[    0.583668] Hardware name: LENOVO 20AR001GXS/20AR001GXS, BIOS GJET86WW (2.36 ) 12/04/2015
[    0.583670]  0000000000000000 0000000014cf7e59 ffff880214a1baf8 ffffffff813a625f
[    0.583673]  ffff880214a1bb40 ffff880214a1bb30 ffffffff810a07c2 00000000fed10000
[    0.583675]  ffffc90000cb8000 0000000000006000 0000000000000000 ffff8800d6381040
[    0.583678] Call Trace:
[    0.583683]  [&lt;ffffffff813a625f&gt;] dump_stack+0x44/0x55
[    0.583686]  [&lt;ffffffff810a07c2&gt;] warn_slowpath_common+0x82/0xc0
[    0.583688]  [&lt;ffffffff810a085c&gt;] warn_slowpath_fmt+0x5c/0x80
[    0.583692]  [&lt;ffffffff810a6fba&gt;] ? iomem_map_sanity_check+0xba/0xd0
[    0.583695]  [&lt;ffffffff81065835&gt;] __ioremap_caller+0x2c5/0x380
[    0.583698]  [&lt;ffffffff81065907&gt;] ioremap_nocache+0x17/0x20
[    0.583701]  [&lt;ffffffff8103a119&gt;] snb_uncore_imc_init_box+0x79/0xb0
[    0.583705]  [&lt;ffffffff81038900&gt;] uncore_pci_probe+0xd0/0x1b0
[    0.583707]  [&lt;ffffffff813efda5&gt;] local_pci_probe+0x45/0xa0
[    0.583710]  [&lt;ffffffff813f118d&gt;] pci_device_probe+0xfd/0x140
[    0.583713]  [&lt;ffffffff814d9b52&gt;] driver_probe_device+0x222/0x480
[    0.583715]  [&lt;ffffffff814d9e34&gt;] __driver_attach+0x84/0x90
[    0.583717]  [&lt;ffffffff814d9db0&gt;] ? driver_probe_device+0x480/0x480
[    0.583720]  [&lt;ffffffff814d762c&gt;] bus_for_each_dev+0x6c/0xc0
[    0.583722]  [&lt;ffffffff814d930e&gt;] driver_attach+0x1e/0x20
[    0.583724]  [&lt;ffffffff814d8e4b&gt;] bus_add_driver+0x1eb/0x280
[    0.583727]  [&lt;ffffffff81d6af1a&gt;] ? uncore_cpu_setup+0x12/0x12
[    0.583729]  [&lt;ffffffff814da680&gt;] driver_register+0x60/0xe0
[    0.583733]  [&lt;ffffffff813ef78c&gt;] __pci_register_driver+0x4c/0x50
[    0.583736]  [&lt;ffffffff81d6affc&gt;] intel_uncore_init+0xe2/0x2e6
[    0.583738]  [&lt;ffffffff81d6af1a&gt;] ? uncore_cpu_setup+0x12/0x12
[    0.583741]  [&lt;ffffffff81002123&gt;] do_one_initcall+0xb3/0x200
[    0.583745]  [&lt;ffffffff810be500&gt;] ? parse_args+0x1a0/0x4a0
[    0.583749]  [&lt;ffffffff81d5c1c8&gt;] kernel_init_freeable+0x189/0x223
[    0.583752]  [&lt;ffffffff81775c40&gt;] ? rest_init+0x80/0x80
[    0.583754]  [&lt;ffffffff81775c4e&gt;] kernel_init+0xe/0xe0
[    0.583758]  [&lt;ffffffff81781adf&gt;] ret_from_fork+0x3f/0x70
[    0.583760]  [&lt;ffffffff81775c40&gt;] ? rest_init+0x80/0x80
[    0.583765] ---[ end trace 077c426a39e018aa ]---

00:00.0 Host bridge [0600]: Intel Corporation Haswell-ULT DRAM Controller [8086:0a04] (rev 0b)
	Subsystem: Lenovo Device [17aa:220c]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast &gt;TAbort- &lt;TAbort- &lt;MAbort+ &gt;SERR- &lt;PERR- INTx-
	Latency: 0
	Capabilities: &lt;access denied&gt;
	Kernel driver in use: hsw_uncore

Link: https://bugzilla.redhat.com/show_bug.cgi?id=1300955
Tested-by: &lt;robo@tcp.sk&gt;
Signed-off-by: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PNP: respect PNP_DRIVER_RES_DO_NOT_CHANGE when detaching</title>
<updated>2016-01-04T21:12:42Z</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2015-12-16T06:33:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e0f03e87fc6f27a8af9896f430f2945b3b1664c0'/>
<id>urn:sha1:e0f03e87fc6f27a8af9896f430f2945b3b1664c0</id>
<content type='text'>
I have a device (Nuvoton 6779D Super-IO IR RC with nuvoton-cir driver)
which works after initial boot but not any longer if I unload and
re-load the driver module.

Digging into the issue I found that unloading the driver calls
pnp_disable_dev although the driver has flag PNP_DRIVER_RES_DO_NOT_CHANGE
set. IMHO this is not right.

Let's have a look at the call chain when probing a device:
pnp_device_probe
1. attaches the device
2. if it's not active and PNP_DRIVER_RES_DO_NOT_CHANGE is not set
   it gets activated
3. probes driver

I think pnp_device_remove should do it in reverse order and also
respect PNP_DRIVER_RES_DO_NOT_CHANGE. Therefore:
1. call drivers remove callback
2. if device is active and PNP_DRIVER_RES_DO_NOT_CHANGE is not set
   disable it
3. detach device

The change works for me and sounds logical to me.
However I don't know the pnp driver in detail so I might be wrong.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PNP: Add Broadwell to Intel MCH size workaround</title>
<updated>2016-01-03T00:16:53Z</updated>
<author>
<name>Christophe Le Roy</name>
<email>christophe.fish@gmail.com</email>
</author>
<published>2015-12-11T08:13:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a77060f07ffc6ac978e280e738302f3e5572a99e'/>
<id>urn:sha1:a77060f07ffc6ac978e280e738302f3e5572a99e</id>
<content type='text'>
Add device ID 0x1604 for Broadwell to commit cb171f7abb9a ("PNP:
Work around BIOS defects in Intel MCH area reporting").

&gt;From a Lenovo ThinkPad T550:

  system 00:01: [io  0x1800-0x189f] could not be reserved
  system 00:01: [io  0x0800-0x087f] has been reserved
  system 00:01: [io  0x0880-0x08ff] has been reserved
  system 00:01: [io  0x0900-0x097f] has been reserved
  system 00:01: [io  0x0980-0x09ff] has been reserved
  system 00:01: [io  0x0a00-0x0a7f] has been reserved
  system 00:01: [io  0x0a80-0x0aff] has been reserved
  system 00:01: [io  0x0b00-0x0b7f] has been reserved
  system 00:01: [io  0x0b80-0x0bff] has been reserved
  system 00:01: [io  0x15e0-0x15ef] has been reserved
  system 00:01: [io  0x1600-0x167f] has been reserved
  system 00:01: [io  0x1640-0x165f] has been reserved
  system 00:01: [mem 0xf8000000-0xfbffffff] could not be reserved
  system 00:01: [mem 0xfed1c000-0xfed1ffff] has been reserved
  system 00:01: [mem 0xfed10000-0xfed13fff] has been reserved
  system 00:01: [mem 0xfed18000-0xfed18fff] has been reserved
  system 00:01: [mem 0xfed19000-0xfed19fff] has been reserved
  system 00:01: [mem 0xfed45000-0xfed4bfff] has been reserved
  system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
  [...]
  resource sanity check: requesting [mem 0xfed10000-0xfed15fff], which spans more than pnp 00:01 [mem 0xfed10000-0xfed13fff]
  ------------[ cut here ]------------
  WARNING: CPU: 2 PID: 1 at /build/linux-CrHvZ_/linux-4.2.6/arch/x86/mm/ioremap.c:198 __ioremap_caller+0x2ee/0x360()
  Info: mapping multiple BARs. Your kernel is fine.
  Modules linked in:
  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.2.0-1-amd64 #1 Debian 4.2.6-1
  Hardware name: LENOVO 20CKCTO1WW/20CKCTO1WW, BIOS N11ET34W (1.10 ) 08/20/2015
   0000000000000000 ffffffff817e6868 ffffffff8154e2f6 ffff8802241efbf8
   ffffffff8106e5b1 ffffc90000e98000 0000000000006000 ffffc90000e98000
   0000000000006000 0000000000000000 ffffffff8106e62a ffffffff817e68c8
  Call Trace:
   [&lt;ffffffff8154e2f6&gt;] ? dump_stack+0x40/0x50
   [&lt;ffffffff8106e5b1&gt;] ? warn_slowpath_common+0x81/0xb0
   [&lt;ffffffff8106e62a&gt;] ? warn_slowpath_fmt+0x4a/0x50
   [&lt;ffffffff810742a3&gt;] ? iomem_map_sanity_check+0xb3/0xc0
   [&lt;ffffffff8105dade&gt;] ? __ioremap_caller+0x2ee/0x360
   [&lt;ffffffff81036ae6&gt;] ? snb_uncore_imc_init_box+0x66/0x90
   [&lt;ffffffff810351a8&gt;] ? uncore_pci_probe+0xc8/0x1a0
   [&lt;ffffffff81302d7f&gt;] ? local_pci_probe+0x3f/0xa0
   [&lt;ffffffff81303ea4&gt;] ? pci_device_probe+0xc4/0x110
   [&lt;ffffffff813d9b1e&gt;] ? driver_probe_device+0x1ee/0x450
   [&lt;ffffffff813d9dfb&gt;] ? __driver_attach+0x7b/0x80
   [&lt;ffffffff813d9d80&gt;] ? driver_probe_device+0x450/0x450
   [&lt;ffffffff813d796a&gt;] ? bus_for_each_dev+0x5a/0x90
   [&lt;ffffffff813d9091&gt;] ? bus_add_driver+0x1f1/0x290
   [&lt;ffffffff81b37fa8&gt;] ? uncore_cpu_setup+0xc/0xc
   [&lt;ffffffff813da73f&gt;] ? driver_register+0x5f/0xe0
   [&lt;ffffffff81b38074&gt;] ? intel_uncore_init+0xcc/0x2b0
   [&lt;ffffffff81b37fa8&gt;] ? uncore_cpu_setup+0xc/0xc
   [&lt;ffffffff8100213e&gt;] ? do_one_initcall+0xce/0x200
   [&lt;ffffffff8108a100&gt;] ? parse_args+0x140/0x4e0
   [&lt;ffffffff81b2b0cb&gt;] ? kernel_init_freeable+0x162/0x1e8
   [&lt;ffffffff815443f0&gt;] ? rest_init+0x80/0x80
   [&lt;ffffffff815443fe&gt;] ? kernel_init+0xe/0xf0
   [&lt;ffffffff81553e5f&gt;] ? ret_from_fork+0x3f/0x70
   [&lt;ffffffff815443f0&gt;] ? rest_init+0x80/0x80
  ---[ end trace 472e7959536abf12 ]---

  00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
          Subsystem: Lenovo Device 2223
          Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
          Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast &gt;TAbort- &lt;TAbort- &lt;MAbort+ &gt;SERR- &lt;PERR- INTx-
          Latency: 0
          Capabilities: [e0] Vendor Specific Information: Len=0c &lt;?&gt;
          Kernel driver in use: bdw_uncore
  00: 86 80 04 16 06 00 90 20 09 00 00 06 00 00 00 00
  10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  20: 00 00 00 00 00 00 00 00 00 00 00 00 aa 17 23 22
  30: 00 00 00 00 e0 00 00 00 00 00 00 00 00 00 00 00

Signed-off-by: Christophe Le Roy &lt;christophe.fish@gmail.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / scan: constify struct acpi_hardware_id::id</title>
<updated>2015-09-15T00:57:55Z</updated>
<author>
<name>Rasmus Villemoes</name>
<email>linux@rasmusvillemoes.dk</email>
</author>
<published>2015-09-09T21:59:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=844142c3f80c66fb2c311b118d60abdfe02322cb'/>
<id>urn:sha1:844142c3f80c66fb2c311b118d60abdfe02322cb</id>
<content type='text'>
This is preparation for using kstrdup_const to initialize that member.

Signed-off-by: Rasmus Villemoes &lt;linux@rasmusvillemoes.dk&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cleanup IORESOURCE_CACHEABLE vs ioremap()</title>
<updated>2015-08-11T03:07:06Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2015-08-11T03:07:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=92b19ff50e8f242392d78b2aacc5b5b672f1796b'/>
<id>urn:sha1:92b19ff50e8f242392d78b2aacc5b5b672f1796b</id>
<content type='text'>
Quoting Arnd:
    I was thinking the opposite approach and basically removing all uses
    of IORESOURCE_CACHEABLE from the kernel. There are only a handful of
    them.and we can probably replace them all with hardcoded
    ioremap_cached() calls in the cases they are actually useful.

All existing usages of IORESOURCE_CACHEABLE call ioremap() instead of
ioremap_nocache() if the resource is cacheable, however ioremap() is
uncached by default. Clearly none of the existing usages care about the
cacheability. Particularly devm_ioremap_resource() never worked as
advertised since it always fell back to plain ioremap().

Clean this up as the new direction we want is to convert
ioremap_&lt;type&gt;() usages to memremap(..., flags).

Suggested-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / PNP: Reserve ACPI resources at the fs_initcall_sync stage</title>
<updated>2015-07-06T21:52:21Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2015-07-04T01:09:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0294112ee3135fbd15eaa70015af8283642dd970'/>
<id>urn:sha1:0294112ee3135fbd15eaa70015af8283642dd970</id>
<content type='text'>
This effectively reverts the following three commits:

 7bc10388ccdd ACPI / resources: free memory on error in add_region_before()
 0f1b414d1907 ACPI / PNP: Avoid conflicting resource reservations
 b9a5e5e18fbf ACPI / init: Fix the ordering of acpi_reserve_resources()

(commit b9a5e5e18fbf introduced regressions some of which, but not
all, were addressed by commit 0f1b414d1907 and commit 7bc10388ccdd
was a fixup on top of the latter) and causes ACPI fixed hardware
resources to be reserved at the fs_initcall_sync stage of system
initialization.

The story is as follows.  First, a boot regression was reported due
to an apparent resource reservation ordering change after a commit
that shouldn't lead to such changes.  Investigation led to the
conclusion that the problem happened because acpi_reserve_resources()
was executed at the device_initcall() stage of system initialization
which wasn't strictly ordered with respect to driver initialization
(and with respect to the initialization of the pcieport driver in
particular), so a random change causing the device initcalls to be
run in a different order might break things.

The response to that was to attempt to run acpi_reserve_resources()
as soon as we knew that ACPI would be in use (commit b9a5e5e18fbf).
However, that turned out to be too early, because it caused resource
reservations made by the PNP system driver to fail on at least one
system and that failure was addressed by commit 0f1b414d1907.

That fix still turned out to be insufficient, though, because
calling acpi_reserve_resources() before the fs_initcall stage of
system initialization caused a boot regression to happen on the
eCAFE EC-800-H20G/S netbook.  That meant that we only could call
acpi_reserve_resources() at the fs_initcall initialization stage
or later, but then we might just as well call it after the PNP
initalization in which case commit 0f1b414d1907 wouldn't be
necessary any more.

For this reason, the changes made by commit 0f1b414d1907 are reverted
(along with a memory leak fixup on top of that commit), the changes
made by commit b9a5e5e18fbf that went too far are reverted too and
acpi_reserve_resources() is changed into fs_initcall_sync, which
will cause it to be executed after the PNP subsystem initialization
(which is an fs_initcall) and before device initcalls (including
the pcieport driver initialization) which should avoid the initial
issue.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=100581
Link: http://marc.info/?t=143092384600002&amp;r=1&amp;w=2
Link: https://bugzilla.kernel.org/show_bug.cgi?id=99831
Link: http://marc.info/?t=143389402600001&amp;r=1&amp;w=2
Fixes: b9a5e5e18fbf "ACPI / init: Fix the ordering of acpi_reserve_resources()"
Reported-by: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: All applicable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branches 'pnp' and 'pm-tools'</title>
<updated>2015-06-18T23:18:43Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2015-06-18T23:18:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a8269d36a880c016f202260420d9abe6ef061ace'/>
<id>urn:sha1:a8269d36a880c016f202260420d9abe6ef061ace</id>
<content type='text'>
* pnp:
  PNP / ACPI: use unsigned int in pnpacpi_encode_resources()
  PNP / ACPI: use u8 instead of int in acpi_resource_extended_irq context

* pm-tools:
  cpupower: mperf monitor: fix output in MAX_FREQ_SYSFS mode
</content>
</entry>
<entry>
<title>ACPI / PNP: Avoid conflicting resource reservations</title>
<updated>2015-06-18T16:32:02Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2015-06-18T16:32:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0f1b414d190724617eb1cdd615592fa8cd9d0b50'/>
<id>urn:sha1:0f1b414d190724617eb1cdd615592fa8cd9d0b50</id>
<content type='text'>
Commit b9a5e5e18fbf "ACPI / init: Fix the ordering of
acpi_reserve_resources()" overlooked the fact that the memory
and/or I/O regions reserved by acpi_reserve_resources() may
conflict with those reserved by the PNP "system" driver.

If that conflict actually takes place, it causes the reservations
made by the "system" driver to fail while before commit b9a5e5e18fbf
all reservations made by it and by acpi_reserve_resources() would be
successful.  In turn, that allows the resources that haven't been
reserved by the "system" driver to be used by others (e.g. PCI) which
sometimes leads to functional problems (up to and including boot
failures).

To fix that issue, introduce a common resource reservation routine,
acpi_reserve_region(), to be used by both acpi_reserve_resources()
and the "system" driver, that will track all resources reserved by
it and avoid making conflicting requests.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=99831
Link: http://marc.info/?t=143389402600001&amp;r=1&amp;w=2
Fixes: b9a5e5e18fbf "ACPI / init: Fix the ordering of acpi_reserve_resources()"
Reported-by: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: All applicable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PNP / ACPI: use unsigned int in pnpacpi_encode_resources()</title>
<updated>2015-05-05T20:31:22Z</updated>
<author>
<name>Fabian Frederick</name>
<email>fabf@skynet.be</email>
</author>
<published>2015-05-02T15:14:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fac69a2bc8278e209cd6e2ef3585f751cc034b00'/>
<id>urn:sha1:fac69a2bc8278e209cd6e2ef3585f751cc034b00</id>
<content type='text'>
use unsigned int for port, irq, dma and mem used for pnp_get_resource()
This fixes gcc warnings of type "conversion to unsigned int
from int may change the sign of the result"

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PNP / ACPI: use u8 instead of int in acpi_resource_extended_irq context</title>
<updated>2015-05-05T20:31:21Z</updated>
<author>
<name>Fabian Frederick</name>
<email>fabf@skynet.be</email>
</author>
<published>2015-05-02T15:14:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bbee06d067ba37be3ca3554a401aea49df715c16'/>
<id>urn:sha1:bbee06d067ba37be3ca3554a401aea49df715c16</id>
<content type='text'>
acpi_resource_extented_irq variables are all u8.
Use that type for triggering, polarity and shareable.
This fixes gcc warnings of type
"conversion to u8 from int may alter its value"

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
