All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Chiang <achiang@hp.com>
To: lenb@kernel.org
Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org
Subject: [PATCH v2 00/11] Dynamic ACPI-PCI binding
Date: Wed, 03 Jun 2009 23:58:16 -0600	[thread overview]
Message-ID: <20090604054504.18802.21690.stgit@bob.kio> (raw)

Hi Len,

I hope this isn't too late for the .31 merge window. If so, no big deal;
this patchset isn't urgent, it's just a nice cleanup that was inspired
from investigating the recent bug in acpi_pci_bind() (fixed by dacd254).

This patch series eliminates static boot-time binding of ACPI
and PCI devices, and introduces an API to perform this lookup
during runtime.

This change has the following advantages:

	- eliminates struct acpi_device vs struct pci_dev lifetime issues
	- lays groundwork for eliminating .bind/.unbind from acpi_device_ops
	- lays more groundwork for eliminating .start from acpi_device_ops
	  and thus simplifying ACPI drivers
  	- whacks out a lot of code

This patchset is based on lenb/test (66c74fa1d4), and has been boot
tested on ia64 and x86. I also performed physical PCI hotplug tests
using acpiphp on ia64. I do not have an acpiphp-capable x86 platform.

I didn't test the changes in the video driver either, as I don't have
the hardware.

v1 -> v2
	- rearrange series into a more logical order
	- much simpler acpi_is_root_bridge() implementation
	- no longer export acpi_pci_find_root()
	- no longer leak memory in acpi_get_pci_dev()
	- no longer leak references in acpi_pci_unbind/acpi_pci_bind
	- convert video driver to use acpi_get_pci_dev()
	- kill off acpi_get_physical_pci_device()
	- incorporate Bjorn's other comments. :)

---

Alex Chiang (11):
      ACPI: kill acpi_get_physical_pci_device()
      ACPI: video: convert to acpi_get_pci_dev
      ACPI: kill acpi_get_pci_id
      PCI Hotplug: acpiphp: convert to acpi_get_pci_dev
      ACPI: acpi_pci_unbind should clean up properly after acpi_pci_bind
      ACPI: simplify acpi_pci_irq_del_prt() API
      ACPI: simplify acpi_pci_irq_add_prt() API
      ACPI: eviscerate pci_bind.c
      ACPI: Introduce acpi_get_pci_dev()
      ACPI: Introduce acpi_is_root_bridge()
      ACPI: make acpi_pci_bind() static


 drivers/acpi/glue.c                |   40 -----
 drivers/acpi/pci_bind.c            |  315 +++++-------------------------------
 drivers/acpi/pci_irq.c             |   17 +-
 drivers/acpi/pci_root.c            |  112 ++++++++++++-
 drivers/acpi/video.c               |    6 -
 drivers/acpi/video_detect.c        |    9 +
 drivers/pci/hotplug/acpi_pcihp.c   |   40 -----
 drivers/pci/hotplug/acpiphp_glue.c |   27 +--
 include/acpi/acpi_bus.h            |    2 
 include/acpi/acpi_drivers.h        |   10 -
 include/linux/pci_hotplug.h        |    1 
 11 files changed, 179 insertions(+), 400 deletions(-)


             reply	other threads:[~2009-06-04  5:58 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-04  5:58 Alex Chiang [this message]
2009-06-04  5:58 ` [PATCH v2 01/11] ACPI: make acpi_pci_bind() static Alex Chiang
2009-06-04  5:58 ` [PATCH v2 02/11] ACPI: Introduce acpi_is_root_bridge() Alex Chiang
2009-06-04  5:58 ` [PATCH v2 03/11] ACPI: Introduce acpi_get_pci_dev() Alex Chiang
2009-06-04  5:58 ` [PATCH v2 04/11] ACPI: eviscerate pci_bind.c Alex Chiang
2009-06-04  5:58 ` [PATCH v2 05/11] ACPI: simplify acpi_pci_irq_add_prt() API Alex Chiang
2009-06-04  5:58 ` [PATCH v2 06/11] ACPI: simplify acpi_pci_irq_del_prt() API Alex Chiang
2009-06-04  5:58 ` [PATCH v2 07/11] ACPI: acpi_pci_unbind should clean up properly after acpi_pci_bind Alex Chiang
2009-06-04  8:42   ` Kenji Kaneshige
2009-06-04 23:35     ` Alex Chiang
2009-06-05 15:49       ` Bjorn Helgaas
2009-06-05 15:59         ` Alex Chiang
2009-06-09 19:14         ` Alex Chiang
2009-06-08  3:23       ` Kenji Kaneshige
2009-06-08  3:23         ` Kenji Kaneshige
2009-06-09 19:09         ` Alex Chiang
2009-06-04  5:58 ` [PATCH v2 08/11] PCI Hotplug: acpiphp: convert to acpi_get_pci_dev Alex Chiang
2009-06-11 21:48   ` Jesse Barnes
2009-06-11 22:17     ` Jesse Barnes
2009-06-11 22:17       ` Jesse Barnes
2009-06-04  5:59 ` [PATCH v2 09/11] ACPI: kill acpi_get_pci_id Alex Chiang
2009-06-04  5:59 ` [PATCH v2 10/11] ACPI: video: convert to acpi_get_pci_dev Alex Chiang
2009-06-04  5:59 ` [PATCH v2 11/11] ACPI: kill acpi_get_physical_pci_device() Alex Chiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090604054504.18802.21690.stgit@bob.kio \
    --to=achiang@hp.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.