Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Nov 2005 11:27:24 -0700 (MST)
From:      Warner Losh <imp@bsdimp.com>
To:        scottl@samsco.org
Cc:        arch@FreeBSD.ORG, damien.bergamini@free.fr, nate@root.org
Subject:   Re: cvs commit: src/sys/modules/iwi Makefile src/sys/dev/iwi if_iwi.c if_iwireg.h if_iwivar.h
Message-ID:  <20051121.112724.41676073.imp@bsdimp.com>
In-Reply-To: <43820C0C.6000001@samsco.org>
References:  <4381FEDF.7080607@root.org> <00ff01c5eec3$3b0e6640$0300a8c0@COMETE> <43820C0C.6000001@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help
scottl> Scott Long
scottl> I guess my vote would be to have a devd mechanism where the kernel
scottl> can ask for a module via a particular key, devd maps the key to a file
scottl> via its config file and loads it into kernel space as a KLD, and then
scottl> the kernel unloads the KLD when its done with it.  For things like isp,
scottl> nothing would change, and for iwi you'd get a reliable way of getting 
scottl> bits into the kernel that doesn't require messing with the VFS layer
scottl> or hard-coding knowledge of the filesystem layout into the driver.

Apart from my other objections to kld, I really don't like getting
devd involved in this.  devd is a passive listener.  It listens for
events and then runs programs.  It is not there to interact with the
kernel in synchronous manner.  Everything is queued and there's
deliberately no meachanism for a reply.

There's also no reason to have a third party involved to load the
module.  None of the other automatic kldload parts of the kernel need
this.  Why is driver firmware any different?  You can easily define
the interface to be load module "$driver-fw-$type" and the driver can
take care of the sprintf to fill in the string.  A carefully chosen
interface here can help eliminate the extra layers of complexity.  How
the heck would devd know how to convert the particular key into
something meaningful?  How would concentrating the quirks of all
possible drivers in devd be better than localizing them in the driver
itself?

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051121.112724.41676073.imp>