From: Adam Belay <abelay@novell.com>
To: linux-kernel@vger.kernel.org
Cc: greg@kroah.com
Subject: [RFC][PATCH] PCI bus class driver rewrite for 2.6.13-rc2 [0/9]
Date: Thu, 14 Jul 2005 04:54:56 -0400 [thread overview]
Message-ID: <1121331296.3398.88.camel@localhost.localdomain> (raw)
Hi all,
I'm in the process of overhauling some aspects of the PCI subsystem.
This patch series is a rewrite of the PCI probing and detection code.
It creates a well defined PCI bus class API and allows a standard PCI
driver to bind to PCI bridge devices. This results in the following:
* cleaner code
* improved driver core support
* the option of adding new PCI bridge drivers
* better power management
Example from sysfs:
(/sys/bus/pci/drivers)
|-- pci-bridge
| |-- 0000:00:1e.0 -> ../../../../devices/pci0000:00/0000:00:1e.0
| |-- bind
| |-- new_id
| `-- unbind
Summary:
drivers/pci/Makefile | 10
drivers/pci/bus.c | 69 ---
drivers/pci/bus/Makefile | 9
drivers/pci/bus/bus.c | 144 ++++++
drivers/pci/bus/bus.h | 5
drivers/pci/bus/config.c | 466 ++++++++++++++++++++
drivers/pci/bus/device.c | 187 ++++++++
drivers/pci/bus/pci-bridge.c | 206 ++++++++-
drivers/pci/bus/probe.c | 512 +++++++++++++++++++++-
drivers/pci/probe.c | 971 -------------------------------------------
drivers/pci/remove.c | 122 -----
include/linux/pci.h | 4
12 files changed, 1501 insertions(+), 1204 deletions(-)
For these changes to be fully effective, the following code (some of
which was broken by these changes) will need to be fixed:
1.) PCI resource management and bus numbers
- We need to utilize ACPI provided PCI root bridge resource information.
- Lazy allocation should be used for device resource assignments.
- The PCI bus resource assignment API needs to be refined.
- We need smarter bus number assignment algorithms that maintain BIOS
configuration when possible.
2.) PCI Hotplug
- Hotplug drivers should use PCI subsystem resource assignment and
configuration code whenever possible (e.g. the recent changes to ACPI
PCI hotplug were a step in the right direction).
- I have some changes planned for device registration.
3.) ACPI
- The new probing code breaks _PRT handling.
- We need to register ACPI devices in the /sys/devices tree so we can
bind to the root bridge device.
4.) Platform Specific PCI support
- I'd like to improve the "pcibios" API.
5.) PCMCIA/Cardbus
- This needs to use the new PCI bus class driver.
I'm currently working on these issues.
I look forward to any comments or suggestions.
Cheers,
Adam
next reply other threads:[~2005-07-14 9:05 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-14 8:54 Adam Belay [this message]
2005-07-15 2:15 ` [RFC][PATCH] PCI bus class driver rewrite for 2.6.13-rc2 [0/9] Greg KH
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=1121331296.3398.88.camel@localhost.localdomain \
--to=abelay@novell.com \
--cc=greg@kroah.com \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox