All of lore.kernel.org
 help / color / mirror / Atom feed
* PCI device search.
@ 2001-10-12 15:04 Stelian Pop
  2001-10-12 20:55 ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Stelian Pop @ 2001-10-12 15:04 UTC (permalink / raw)
  To: Linux Kernel Mailing List

Hi,

I have a device driver (drivers/char/sonypi in this case)
which can handle two cases:
	- on older hardware, it gets attached to a specific 
	  PCI device

	- on newer hardware, when the previous PCI device
	  is missing, it just uses a predefined set of
	  ioports to access the hardware. There is no PCI
	  device involved here.

I am wondering what is the cleanest way to program this. 
As I see it, I have two distinct choices:

	1. Create a PCI driver (pci_device_id, struct pci_driver etc)
	and in init_module call pci_module_init. If it fails,
	assume the driver deals with newer hardware and 
	call 'by hand' the 'probe' routine from pci_driver struct.

	2. Not use the PCI driver infrastructure, and in
	init_module just call pci_find_device manually searching
	for older hardware, if it is present go further, if
	it fails assume newer hardware and go further.

What is considered to be the best way to do it ?
(this is _not_ a hotplug device if it matters).

Thanks,

Stelian.
-- 
Stelian Pop <stelian.pop@fr.alcove.com>
|---------------- Free Software Engineer -----------------|
| Alcôve - http://www.alcove.com - Tel: +33 1 49 22 68 00 |
|------------- Alcôve, liberating software ---------------|

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

end of thread, other threads:[~2001-10-13 20:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-12 15:04 PCI device search Stelian Pop
2001-10-12 20:55 ` Greg KH
2001-10-12 21:15   ` Jeff Garzik
2001-10-13 12:51     ` Stelian Pop
2001-10-13 20:19       ` Jeff Garzik

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.