From owner-freebsd-hackers@FreeBSD.ORG Wed Aug 6 03:40:24 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B876637B401 for ; Wed, 6 Aug 2003 03:40:24 -0700 (PDT) Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C25243F75 for ; Wed, 6 Aug 2003 03:40:23 -0700 (PDT) (envelope-from ticso@cicely12.cicely.de) Received: from cicely5.cicely.de (cicely5.cicely.de [IPv6:3ffe:400:8d0:301:200:92ff:fe9b:20e7]) (authenticated bits=0) by srv1.cosmo-project.de (8.12.9/8.12.9) with ESMTP id h76AeBaK089821 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Wed, 6 Aug 2003 12:40:19 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (cicely12.cicely.de [IPv6:3ffe:400:8d0:301::12]) by cicely5.cicely.de (8.12.9/8.12.9) with ESMTP id h76Ae2Ax043325 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 6 Aug 2003 12:40:03 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (localhost [127.0.0.1]) by cicely12.cicely.de (8.12.9/8.12.9) with ESMTP id h76Ae2NS035102; Wed, 6 Aug 2003 12:40:02 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: (from ticso@localhost) by cicely12.cicely.de (8.12.9/8.12.9/Submit) id h76Ae1YP035101; Wed, 6 Aug 2003 12:40:01 +0200 (CEST) Date: Wed, 6 Aug 2003 12:40:01 +0200 From: Bernd Walter To: Poul-Henning Kamp Message-ID: <20030806104001.GD32228@cicely12.cicely.de> References: <20030806101148.GC32228@cicely12.cicely.de> <40313.1060165108@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <40313.1060165108@critter.freebsd.dk> X-Operating-System: FreeBSD cicely12.cicely.de 5.1-CURRENT alpha User-Agent: Mutt/1.5.4i cc: freebsd-hackers@freebsd.org cc: ticso@cicely.de Subject: Re: How to get a device_t X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: ticso@cicely.de List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Aug 2003 10:40:25 -0000 On Wed, Aug 06, 2003 at 12:18:28PM +0200, Poul-Henning Kamp wrote: > In message <20030806101148.GC32228@cicely12.cicely.de>, Bernd Walter writes: > >I need to add I2C support for a Elan520 based soekris system. > >The system has the required GPIO pins and there is the iicbb driver > >to handle generic bitbang code - just needing a simple layer driver to > >enable, disable and read pins. > >But unlike normal isa/pci hardware probing the existence of the GPIO > >line is a bit difficult. > >The current elan-mmcr.c gets started from i386/pci/pci_bus.c at > >host bridge probing, because that's seems to be the only place to > >safely detect this special CPU. > > That's my doing, based on my reading of the datasheet from AMD. > > It would be better if we could detect the Elan in the normal CPU > identification stuff, but I couldn't seem to find a reliable way. I could reread the datasheet, but don't give it much hope if you hadn't find anything usefull. > >>From the logicaly standpoint the extensions had to be attached to > >nexus, but nowhere is the current code path there is a handle for > >nexus or any other device_t. > > In fact what you may want to do is hang the entire MMCR off the nexus > as a bus, and hang the various drivers off that bus. What needs to be in *_probe() to conditionalize on elan existence? -- B.Walter BWCT http://www.bwct.de ticso@bwct.de info@bwct.de