public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH] PCI bus class driver rewrite for 2.6.13-rc2 [0/9]
@ 2005-07-14  8:54 Adam Belay
  2005-07-15  2:15 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Adam Belay @ 2005-07-14  8:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: greg

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



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [RFC][PATCH] PCI bus class driver rewrite for 2.6.13-rc2 [0/9]
  2005-07-14  8:54 [RFC][PATCH] PCI bus class driver rewrite for 2.6.13-rc2 [0/9] Adam Belay
@ 2005-07-15  2:15 ` Greg KH
  0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2005-07-15  2:15 UTC (permalink / raw)
  To: Adam Belay; +Cc: linux-kernel

On Thu, Jul 14, 2005 at 04:54:56AM -0400, Adam Belay wrote:
> 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

This looks great, thanks for doing this.

> For these changes to be fully effective, the following code (some of
> which was broken by these changes) will need to be fixed:

<snip>

Good luck with all of this, it's a lot :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-07-15  2:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-14  8:54 [RFC][PATCH] PCI bus class driver rewrite for 2.6.13-rc2 [0/9] Adam Belay
2005-07-15  2:15 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox