<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/acpi/pci_bind.c, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-06-18T03:32:23Z</updated>
<entry>
<title>ACPI: kill acpi_get_pci_id</title>
<updated>2009-06-18T03:32:23Z</updated>
<author>
<name>Alexander Chiang</name>
</author>
<published>2009-06-10T19:55:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80ffdedf6020a77adcd06c01cfe6c488312b28f8'/>
<id>urn:sha1:80ffdedf6020a77adcd06c01cfe6c488312b28f8</id>
<content type='text'>
acpi_get_pci_dev() is better, and all callers have been converted, so
eliminate acpi_get_pci_id().

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Acked-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: acpi_pci_unbind should clean up properly after acpi_pci_bind</title>
<updated>2009-06-18T03:22:16Z</updated>
<author>
<name>Alexander Chiang</name>
</author>
<published>2009-06-10T19:55:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97719a8726fe8d3ea12a85fbf4f514a915ba30ec'/>
<id>urn:sha1:97719a8726fe8d3ea12a85fbf4f514a915ba30ec</id>
<content type='text'>
In acpi_pci_bind, we set device-&gt;ops.bind and device-&gt;ops.unbind, but
never clear them out.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Acked-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: simplify acpi_pci_irq_del_prt() API</title>
<updated>2009-06-18T03:22:16Z</updated>
<author>
<name>Alexander Chiang</name>
</author>
<published>2009-06-10T19:55:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d9efae3688addb15994c9ad9761dada6f988bc14'/>
<id>urn:sha1:d9efae3688addb15994c9ad9761dada6f988bc14</id>
<content type='text'>
There is no need to pass a segment/bus tuple to this API, as the callsite
always has a struct pci_bus. We can derive segment/bus from the
struct pci_bus, so let's take this opportunit to simplify the API and
make life easier for the callers.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Acked-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: simplify acpi_pci_irq_add_prt() API</title>
<updated>2009-06-18T03:22:16Z</updated>
<author>
<name>Alexander Chiang</name>
</author>
<published>2009-06-10T19:55:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=859a3f86ca83346f4097e956d0b27d96aa7a1cff'/>
<id>urn:sha1:859a3f86ca83346f4097e956d0b27d96aa7a1cff</id>
<content type='text'>
A PCI domain cannot change as you descend down subordinate buses, which
makes the 'segment' argument to acpi_pci_irq_add_prt() useless.

Change the interface to take a struct pci_bus *, from whence we can derive
the bus number and segment. Reducing the number of arguments makes life
simpler for callers.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Acked-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: eviscerate pci_bind.c</title>
<updated>2009-06-18T03:22:16Z</updated>
<author>
<name>Alexander Chiang</name>
</author>
<published>2009-06-10T19:55:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=499650de6906722184b639989b47227a362b62f8'/>
<id>urn:sha1:499650de6906722184b639989b47227a362b62f8</id>
<content type='text'>
Now that we can dynamically convert an ACPI CA handle to a
struct pci_dev at runtime, there's no need to statically bind
them during boot.

acpi_pci_bind/unbind are vastly simplified, and are only used
to evaluate _PRT methods on P2P bridges and non-bridge children.

This patch also changes the time-space tradeoff ever so slightly.

Looking up the ACPI-PCI binding is never in the performance path, and by
eliminating this caching, we save 24 bytes for each _ADR device in the
ACPI namespace.

This patch lays further groundwork to eventually eliminate
the acpi_driver_ops.bind callback.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Acked-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: rearrange acpi_pci_bind/acpi_pci_unbind in pci_bind.c</title>
<updated>2009-06-18T03:22:15Z</updated>
<author>
<name>Alexander Chiang</name>
</author>
<published>2009-06-10T19:55:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c22d7f5a389dad15de448b142f44e4000b3426f0'/>
<id>urn:sha1:c22d7f5a389dad15de448b142f44e4000b3426f0</id>
<content type='text'>
This is a pure code movement patch that does $subject in order
to make the following patch easier to read and review.

No functional change.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: make acpi_pci_bind() static</title>
<updated>2009-06-18T03:22:15Z</updated>
<author>
<name>Alexander Chiang</name>
</author>
<published>2009-06-10T19:55:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce597bb42aa84bc73db80509b7c37e7fbc0b75c4'/>
<id>urn:sha1:ce597bb42aa84bc73db80509b7c37e7fbc0b75c4</id>
<content type='text'>
acpi_pci_root_add() explicitly assigns device-&gt;ops.bind, and later
calls acpi_pci_bind_root(), which also does the same thing.

We don't need to repeat ourselves; removing the explicit assignment
allows us to make acpi_pci_bind() static.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Acked-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>PCI/ACPI: fix wrong ref count handling in acpi_pci_bind()</title>
<updated>2009-05-27T21:53:07Z</updated>
<author>
<name>Kenji Kaneshige</name>
</author>
<published>2009-05-26T00:08:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dacd2549ca61ddbdd1ed62a76ca95dea3f0e02c6'/>
<id>urn:sha1:dacd2549ca61ddbdd1ed62a76ca95dea3f0e02c6</id>
<content type='text'>
The 'dev' field of struct acpi_pci_data is having a pointer to struct
pci_dev without incrementing the reference counter. Because of this, I
got the following kernel oops when I was doing some pci hotplug
operations. This patch fixes this bug by replacing wrong hand-made
pci_find_slot() with pci_get_slot() in acpi_pci_bind().

 BUG: unable to handle kernel NULL pointer dereference at 00000000000000e8
 IP: [&lt;ffffffff803f0e9b&gt;] acpi_pci_unbind+0xb1/0xdd

 Call Trace:
  [&lt;ffffffff803ecee4&gt;] acpi_bus_remove+0x54/0x68
  [&lt;ffffffff803ecf6d&gt;] acpi_bus_trim+0x75/0xe3
  [&lt;ffffffffa0345ddd&gt;] acpiphp_disable_slot+0x16d/0x1e0 [acpiphp]
  [&lt;ffffffffa03441f0&gt;] disable_slot+0x20/0x60 [acpiphp]
  [&lt;ffffffff803cfc18&gt;] power_write_file+0xc8/0x110
  [&lt;ffffffff803c6a54&gt;] pci_slot_attr_store+0x24/0x30
  [&lt;ffffffff803469ce&gt;] sysfs_write_file+0xce/0x140
  [&lt;ffffffff802e94e7&gt;] vfs_write+0xc7/0x170
  [&lt;ffffffff802e9aa0&gt;] sys_write+0x50/0x90
  [&lt;ffffffff8020bd6b&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Kenji Kaneshige &lt;kaneshige.kenji@jp.fujitsu.com&gt;
Reviewed-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Reviewed-by: Alex Chiang &lt;achiang@hp.com&gt;
Tested-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: simplify buffer management for acpi_pci_bind() etc.</title>
<updated>2008-12-31T03:52:26Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2008-12-31T03:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=087da3b4e2d7d3ef70a4fa649b9a286fdeb0e44e'/>
<id>urn:sha1:087da3b4e2d7d3ef70a4fa649b9a286fdeb0e44e</id>
<content type='text'>
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 &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: PCI: use conventional PCI address format</title>
<updated>2008-12-31T02:08:42Z</updated>
<author>
<name>Bjorn Helgaas</name>
</author>
<published>2008-12-09T04:30:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21a53283a012f21764f2aaaac9414849e1153d93'/>
<id>urn:sha1:21a53283a012f21764f2aaaac9414849e1153d93</id>
<content type='text'>
Use the conventional format for PCI addresses (%04x:%02x:%02x.%d).

Signed-off-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
</feed>
