public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Removal of pci_find_* in 2.5
@ 2002-07-13  0:36 Greg KH
  2002-07-13  2:23 ` Alan Cox
  2002-07-14 20:07 ` Eric W. Biederman
  0 siblings, 2 replies; 23+ messages in thread
From: Greg KH @ 2002-07-13  0:36 UTC (permalink / raw)
  To: linux-kernel

Hi all,

Well, I've been trying to figure out a way to remove the existing
pci_find_device(), and other pci_find_* functions from the 2.5 kernel
without hurting to many things (well, things that people care about.)

Turns out these are very useful functions, outside of the "old" pci
framework, and I can't really justify removing them, so they are staying
for now (or until someone else can think of a replacement...)

The main reason for wanting to do this, is that any PCI driver that
relies on using pci_find_* to locate a device to control, will not work
with the existing PCI hotplug code.  Moving forward, those drivers will
also not work with the driverfs, struct driver, or the device naming
code.

So if you own a PCI driver that does not conform to the "new" PCI api
(using pci_register_driver() and friends) consider yourself warned.
Your driver will NOT inherit any of the upcoming changes to the drivers
tree, which might cause them to break.  Also remember, all of the people
that are buying hotplug PCI systems for their datacenters will not buy
your cards :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 23+ messages in thread
* RE: Removal of pci_find_* in 2.5
@ 2002-07-13  4:04 Matt_Domsch
  2002-07-13  4:41 ` Jeff Garzik
  0 siblings, 1 reply; 23+ messages in thread
From: Matt_Domsch @ 2002-07-13  4:04 UTC (permalink / raw)
  To: alan, greg; +Cc: linux-kernel

> I have several examples where the ordering of the PCI cards 
> is critical
> to get stuff like boot device and primary controller detection right.
> pci_register_driver doesn't appear to have a good way to deal 
> with this or have I missed something ?

Indeed, this is used for a variety of reasons:

1) Systems with both on-motherboard and add-in disk controllers which share
a driver, where you really need the on-motherboard controller to appear
first before any add-in cards.  aacraid driver in 2.4.x does this today.
2) Systems with both an older and newer add-in card which share a driver,
where the older (original) card has your boot disks, and any newer card
would get added for adding more storage later.  megaraid driver in
2.4.x/2.5.x does this today.

In both these cases, the pci_find_device() functions use an explict ordering
to make it far more likely we can still boot the system after adding new
hardware.  Unless/until there's a method for telling the kernel/modules that
a particular device is the boot device (ala BIOS EDD 3.0 if vendors were to
get around to implementing such) explict ordering in the drivers is the only
way we can build complex storage solutions and boot reliably.

Thanks,
Matt

--
Matt Domsch
Sr. Software Engineer, Lead Engineer, Architect
Dell Linux Solutions www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
#1 US Linux Server provider for 2001 and Q1/2002! (IDC May 2002)


^ permalink raw reply	[flat|nested] 23+ messages in thread
* RE: Removal of pci_find_* in 2.5
@ 2002-07-13 13:13 Matt_Domsch
  0 siblings, 0 replies; 23+ messages in thread
From: Matt_Domsch @ 2002-07-13 13:13 UTC (permalink / raw)
  To: greg, alan, linux-kernel; +Cc: jgarzik

> > ordering, is simply hard-coding something that should really be in 
> > userspace.  Depending on pci_find_device logic / link order to 
> > still-boot-the-system after adding new hardware sounds like an 
> > incredibly fragile hope, not a reliable system users can trust.

Yes, but unfortunately it's all we've had for a long time.

> Yes, it still involves some handwaving at this moment in time, but it
> will happen, and I do know about this requirement :)

Then this will solve my #2 factory install problem.   I look forward to this
restriction being removed properly. :-)
(In case you're curious, #1 is customers can't specify the partition
strategy they want at order time, so they wind up blowing away the FI
anyhow).

Thanks,
Matt

--
Matt Domsch
Sr. Software Engineer, Lead Engineer, Architect
Dell Linux Solutions www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
#1 US Linux Server provider for 2001 and Q1/2002! (IDC May 2002)


^ permalink raw reply	[flat|nested] 23+ messages in thread
* RE: Removal of pci_find_* in 2.5
@ 2002-07-16 19:23 Matt_Domsch
  0 siblings, 0 replies; 23+ messages in thread
From: Matt_Domsch @ 2002-07-16 19:23 UTC (permalink / raw)
  To: alan, jgarzik; +Cc: greg, linux-kernel

> There is a BIOS extension for this (EDID 3.0 I believe).

Unfortunately EDD30 isn't implemented by very many BIOSs or option roms.
The Adaptec aic7xxx series BIOSs and recent LSI-based PERC3 BIOSs are the
only ones I've found that do, but their implementations are slightly buggy.
Granted, I've limited my testing to those cards and/or onboard devices that
Dell sells.

I made a simple DOS program if people want to test boards for themselves.
(EDD30 specifies a real mode int13 extension, so it was easy to to it in
DOS, only slightly harder to do it in the boot loader or kernel before
switching to protected mode.)  Posted to http://domsch.com/linux/edd30/.
There's a results page there that I'm starting to fill in.  Please send
results to edd30@domsch.com per the README included.

Thanks,
Matt

--
Matt Domsch
Sr. Software Engineer, Lead Engineer, Architect
Dell Linux Solutions www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
#1 US Linux Server provider for 2001 and Q1/2002! (IDC May 2002)


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

end of thread, other threads:[~2002-07-17 12:50 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-13  0:36 Removal of pci_find_* in 2.5 Greg KH
2002-07-13  2:23 ` Alan Cox
2002-07-13  1:12   ` David S. Miller
2002-07-13 14:46     ` Alan Cox
2002-07-13 20:52       ` David S. Miller
2002-07-13 13:45         ` Benjamin Herrenschmidt
2002-07-15  5:25           ` David S. Miller
2002-07-16  0:26             ` Greg KH
2002-07-14 20:07 ` Eric W. Biederman
2002-07-16  0:25   ` Greg KH
2002-07-16 10:56     ` Eric W. Biederman
2002-07-16 17:33       ` Patrick Mochel
2002-07-17 12:41         ` Eric W. Biederman
  -- strict thread matches above, loose matches on Subject: below --
2002-07-13  4:04 Matt_Domsch
2002-07-13  4:41 ` Jeff Garzik
2002-07-13  5:09   ` Greg KH
2002-07-13 14:35   ` Alan Cox
2002-07-13 15:37     ` Jeff Garzik
2002-07-13 17:06       ` Alan Cox
2002-07-13 19:28         ` Jeff Garzik
2002-07-13 19:33           ` Jeff Garzik
2002-07-13 13:13 Matt_Domsch
2002-07-16 19:23 Matt_Domsch

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