public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Adam Belay <abelay@novell.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [RFC] PCI bridge driver rewrite
Date: Fri, 25 Feb 2005 15:38:23 -0800	[thread overview]
Message-ID: <20050225233823.GC29496@kroah.com> (raw)
In-Reply-To: <1109226122.28403.44.camel@localhost.localdomain>

On Thu, Feb 24, 2005 at 01:22:01AM -0500, Adam Belay wrote:
> Hi all,
> 
> For the past couple weeks I have been reorganizing the PCI subsystem to
> better utilize the driver model.  Specifically, the bus detection code
> is now using a standard PCI driver.  It turns out to be a major
> undertaking, as the PCI probing code is closely tied into a lot of other
> PCI components, and is spread throughout various architecture specific
> areas.  I'm hoping that these changes will allow for a much cleaner and
> more functional PCI implementation.
> 
> The basic flow of the new code is as follows:
> 1.) A standard "driver core" driver binds to a bridge device.
> 2.) When "*probe" is called it sets up the hardware and allocates a
> "struct pci_bus".
> 3.) The "struct pci_bus" is filled with information about the detected
> bridge.
> 4.) The driver then registers the "struct pci_bus" with the PCI Bus
> Class.
> 5.) The PCI Bus Class makes the bridge available to sysfs.
> 6.) It then detects hardware attached to the bridge.
> 7.) Each new PCI bridge device is registered with the driver model.
> 8.) All remaining PCI devices are registered with the driver model.
> 
> Steps 7 and 8 allow for better resource management.
> 
> 
> I've attached an early version of my code.  It has most of the new PCI
> bus class registration code in place, and an early implementation of the
> PCI-to-PCI bridge driver.  The following remains to be done:
> 
> 1.) refine and cleanup the new PCI Bus API
> 2.) export the new API in "linux/pci.h", and cleanup any users of the
> old code.
> 3.) fix every PCI hotplug driver.
> 4.) write a bridge driver for the PCI root bridge
> 5.) write a bridge driver for Cardbus hardware
> 6.) refine device registration order
> 7.) redesign PCI bus number assignment and support bus renumbering
> 8.) redesign PCI resource management to be compatible with the new code
> 9.) testing on various architectures
> 10.) Write "*suspend" and "*resume" routines for PCI bridges.  Any ideas
> on what needs to be done?
> 11.) fix "PCI_LEGACY" (I may have broke it, but it should be trivial)
> 
> I look forward to any comments or suggestions.

I like it all :)

If you want to submit patches now that rearrange the code to make it
easier for you to modify in the future to achieve the above goals, feel
free, I'll gladly take them.

thanks,

greg k-h

  parent reply	other threads:[~2005-02-25 23:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-24  6:22 [RFC] PCI bridge driver rewrite Adam Belay
2005-02-24  6:45 ` Jon Smirl
2005-02-24  7:03   ` Adam Belay
2005-02-24  7:25     ` Jon Smirl
2005-02-28 23:39       ` Adam Belay
2005-02-24 23:02     ` Jesse Barnes
2005-02-28 23:27       ` Adam Belay
2005-02-28 23:38         ` Jesse Barnes
2005-03-01  0:13           ` Adam Belay
2005-03-01  0:34             ` Jesse Barnes
2005-02-24 10:03 ` Russell King
2005-02-28 23:50   ` Adam Belay
2005-02-25 23:38 ` Greg KH [this message]
2005-02-28 23:58   ` Adam Belay
  -- strict thread matches above, loose matches on Subject: below --
2005-04-04 16:33 Nguyen, Tom L

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=20050225233823.GC29496@kroah.com \
    --to=greg@kroah.com \
    --cc=abelay@novell.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