Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 May 1999 18:07:06 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Nick Hibma <hibma@skylink.it>
Cc:        Peter Wemm <peter@netplex.com.au>, cvs-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/pci pcisupport.c 
Message-ID:  <Pine.BSF.4.05.9905101805210.447-100000@herring.nlsystems.com>
In-Reply-To: <Pine.BSF.3.96.990510163918.8928E-100000@elpc36.jrc.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 10 May 1999, Nick Hibma wrote:

> 
> How would you unbind those stubs in case a module is loaded?
> 
> As in, not load USB support at boottime. The stub would prevent the
> module loaded later on from obtaining the device.
> 
> In USB land we already have that problem (the generic driver that
> attaches to anything not taken by any other driver).  The solution there
> is to detach anything called ugen\d+ when a module is loaded/before a
> probe is done. 
> 
> An option would be to return as a priority PRIORITY_STUB, and, when
> a new driver for PCI is loaded, detach anything that has attached at
> this priority.
> 
> 
> Or more general (for PCI that is): reprobe all the devices. If the
> device is probed at a higher priority detach it from the old one and
> reattach it to the new one. This assumes probes with no side effects.
> This also is not compatible with the statement that anything that
> probes at maximum priority can expect the device structs to be as it
> left it after the probe.

The scheme which I chose in the end uses negative numbers to represent
priorities (I think you suggested this a while ago). As a special case,
drivers which return zero stop the probing and are attached immediately.

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 442 9037




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9905101805210.447-100000>