From owner-freebsd-arch@FreeBSD.ORG Fri Jul 9 23:24:00 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from green.homeunix.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id D8A9A16A4CE for ; Fri, 9 Jul 2004 23:23:59 +0000 (GMT) Received: from green.homeunix.org (green@localhost [127.0.0.1]) by green.homeunix.org (8.12.11/8.12.11) with ESMTP id i69NNvNc013379 for ; Fri, 9 Jul 2004 19:23:57 -0400 (EDT) (envelope-from green@green.homeunix.org) Received: (from green@localhost) by green.homeunix.org (8.12.11/8.12.11/Submit) id i69NNucp013378 for arch@FreeBSD.org; Fri, 9 Jul 2004 19:23:56 -0400 (EDT) (envelope-from green) Date: Fri, 9 Jul 2004 19:23:56 -0400 From: Brian Fundakowski Feldman To: arch@FreeBSD.org Message-ID: <20040709232355.GB1626@green.homeunix.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6i Subject: userland firmware loader? 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: Fri, 09 Jul 2004 23:24:00 -0000 I'm writing a driver that uses a 100KB firmware file and could need to read it again, after initialization, to reset the device (or to load more). Since this device is primarily found in CardBus form, I think it makes a lot of sense to be able to get the firmware file at any time but without specific user intervention. Is this something devd should be doing? It wouldn't be very hard to provide an API with somewhat sysctl-like semantics via a device_*() function to return data to userland, and a new newbus device method to recieve data. Does this seem like something that should be done so that many drivers don't waste space in the kernel with firmware images, and don't need firmware via a separate kld module, without having to reimplement it separately in each driver that could use this functionality? Alternately, I could just not be seeing where this kind of functionality already exists. The usio driver in /etc/usbd.conf does something a little like what I want to do, but it's not generic and only does it based on a "load" event instead of a "give me firmware" event. Thanks, -- Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\ <> green@FreeBSD.org \ The Power to Serve! \ Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\