From: Adam Belay <abelay@novell.com>
To: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: linux-kernel@vger.kernel.org, greg@kroah.com
Subject: Re: [RFC][PATCH] Add PCI<->PCI bridge driver [4/9]
Date: Fri, 15 Jul 2005 23:10:52 -0400 [thread overview]
Message-ID: <1121483453.3398.155.camel@localhost.localdomain> (raw)
In-Reply-To: <20050715095814.F25428@flint.arm.linux.org.uk>
On Fri, 2005-07-15 at 09:58 +0100, Russell King wrote:
> On Thu, Jul 14, 2005 at 04:55:19AM -0400, Adam Belay wrote:
> > This patch adds a basic PCI<->PCI bridge driver that utilizes the new
> > PCI bus class API.
>
> Thanks. I think this breaks Cardbus.
>
> The whole point of the way PCI is _presently_ organised is that it allows
> busses to be configured and setup _before_ the devices are made available
> to drivers. This breaks that completely:
Hi Russell,
I'm aware of this issue. These changes are major and will need more
than one pass to be correct. I'll be redoing most of the bus
configuration code in the next patch set. I have a strategy for proper
device and bus configuration. These are my current thoughts:
1.) When bound to its device PCI bridge drivers will add their current
devices to the bus device list, but will not register them with the
driver model.
2.) The bus class driver will initiate a procedure similar to
pci_bus_add_devices(), but only for host (root) bridges and hot-plugged
devices.
pci_register_bus_devices(struct pci_bus *bus)
{
- register all bios configured bridges
- call pci_register_bus_devices() for each previously registered bridge
- register remaining uninitialized bridges and call
pci_register_bus_devices() for each bridge as it's registered.
}
pci_register_devices(struct pci_bus *bus)
{
- register all remaining PCI devices, including those of child pci buses
}
* pci_register_bus_devices() will be called first followed by
pci_register_devices().
3.) Bridge windows will not be configured until a child device is
enabled. In other words, resource configuration is lazy much like we
handle PCI IRQ routing. We will, however, verify the validity of BIOS
assignments. If the assignments are incorrect, the bridge will be
disabled and then reconfigured when needed.
Thanks,
Adam
prev parent reply other threads:[~2005-07-16 3:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-14 8:55 [RFC][PATCH] Add PCI<->PCI bridge driver [4/9] Adam Belay
2005-07-15 8:58 ` Russell King
2005-07-16 3:10 ` Adam Belay [this message]
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=1121483453.3398.155.camel@localhost.localdomain \
--to=abelay@novell.com \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk+lkml@arm.linux.org.uk \
/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