Date: Thu, 06 May 1999 21:55:58 -0700 From: Julian Elischer <julian@whistle.com> To: hackers@freebsd.org Subject: Slight suggested change to PCI config stuff. Message-ID: <3732725E.2781E494@whistle.com>
next in thread | raw e-mail | index | archive | help
The PCI probe routines for chipset_probe() are called while the PCI code is traversing the linker set of loaded drivers. However it will catch any 'generic' bridge devices. Thus if the user has linked in a specific driver for a particular bridge device, it may not be called as the generic code may get there first. I propose to change the several places that traverse the linker set so that the 'chipset' default code is either skipped and called last, or, not put in the linker set, but rather called directly after the linker set has failed to find the correct driver. I want to do this so that I may load a specific driver to handle some of the features that are not normally set up in some of these chipsets, and that the generic code doesn't know about, due to their 'local' nature. For example, some of the Bridge chips have such things as GPIO pins that can be controlled from the control registers of the chipset. Obviously only a platform specific driver can know what those IO pins are attached to (e.g. power sensing. or an I2C bus.) These pins are changed by doing PCI config-space writes to the chipset, so should be controlled by that driver. Allowing a more specific driver to over-ride the generic default driver would seem to be the clean way to do this.. Any comments? (this is in 3.x but I presume the same makes sense in 4.x) julian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3732725E.2781E494>