From owner-freebsd-arch@FreeBSD.ORG Sat Jul 8 07:59:56 2006 Return-Path: X-Original-To: arch@freebsd.org 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 7454616A4DD for ; Sat, 8 Jul 2006 07:59:56 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id E3DFC43D49 for ; Sat, 8 Jul 2006 07:59:55 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [IPv6:::1] (may be forged)) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id k687vtnx075471 for ; Sat, 8 Jul 2006 01:57:55 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 08 Jul 2006 01:58:01 -0600 (MDT) Message-Id: <20060708.015801.-1303463244.imp@bsdimp.com> To: arch@freebsd.org From: "M. Warner Losh" X-Mailer: Mew version 4.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: Subject: EEPROMs X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Jul 2006 07:59:56 -0000 Greetings, I have an embedded arm board that has about 4 different kinds of EEPROMs on it. These EEPROMs and flash parts are connected in various and wonderful ways (spi, i2c, parallel bus, and mabye a custom fpga thing). There's also a number of add-in boards that have a few different eeproms on them as appropriate for the board. Not all of these technologies will be in our final product, but I need to develop drivers to talk to many of them for at least experimental purposes. There's a desire to have all these eeproms available as real devices to the system, some of them even GEOM providers (I think that's the right term). Some of these drivers may be on multiple busses (the AT45DB642, for example, lives on either a SPI bus or a parallel bus). Most of them will be tiny because the 'heavy lifting' for the devices is done in the upper layer (initiating the i2c transfer, doing the spi transaction, etc). Sadly, these devices are all somewhat different in the niggling little details that make them work, so separate drivers will likely be needed for at least some of them. Normally, we'd just create a src/sys/dev directory for each device. We've done it with all the drivers in the system, except for really old legacy jobs, usb (since it was ported from an os that doesn't share quite the same world-view when it comes to drivers (ours is driver centric, theirs is bus centric),and sound (which has a boatload of supported drivers, all living under dev/sound subdirectories). I'm thinking seriously of putting them under dev/eeprom or dev/flash or something like that, and then creating subdirectories under than to help the clutter in src/sys/dev. Before I do such a radical thing, I thought I'd tell people my plans so they don't freak when it hits the tree. Comments? Warner