From owner-freebsd-arch@FreeBSD.ORG Thu Sep 11 14:39:31 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7074816A4BF; Thu, 11 Sep 2003 14:39:31 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 569C243FEA; Thu, 11 Sep 2003 14:39:30 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.9/8.12.3) with ESMTP id h8BLdSTX036713; Thu, 11 Sep 2003 15:39:29 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 11 Sep 2003 15:39:29 -0600 (MDT) Message-Id: <20030911.153929.44983352.imp@bsdimp.com> To: jhb@freebsd.org From: "M. Warner Losh" In-Reply-To: References: <1063268981.55877.9.camel@herring.nlsystems.com> X-Mailer: Mew version 2.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: arch@freebsd.org Subject: Re: When to burn those bridges X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Sep 2003 21:39:31 -0000 In message: John Baldwin writes: : I have thought about this as well, but instead of a placeholder flag, : just doing this for any driver that returned a probe value != 0. : This relies on very simple probes however, since ideally you would : want to execute the new driver's probe and if it matches better, then : you detach the old driver and attach the new one. This requires : that the new driver's probe not try to alloc resources or dink with : the hardware though. I've thought seriously about just detatching the older driver, if possible. If that succeeds, we reprobe. This has the advantage of being easy to implement, but does cause a fair amount of churn. Besides, proble routines on self enumerating devices should look at the IDs that anybody can look at at any time. However, there are some issues with some drivers that have old/new versions or that need to ask the hardware what kind of thing it really is before making the call. These drivers are rare, thankfully, and even rarer are those that have different levels. owi/wi is the only one I know of that fits this bill, and the only reason owi is there is to help fix wi, so I don't think we should necessarily design to make this sort of thing too easy.... Warner