From owner-freebsd-hackers Mon Oct 2 11:30:26 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id LAA13769 for hackers-outgoing; Mon, 2 Oct 1995 11:30:26 -0700 Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id LAA13760 for ; Mon, 2 Oct 1995 11:30:16 -0700 Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id LAA22091; Mon, 2 Oct 1995 11:23:38 -0700 From: Terry Lambert Message-Id: <199510021823.LAA22091@phaeton.artisoft.com> Subject: Re: LKM registration.. To: julian@ref.tfs.com (Julian Elischer) Date: Mon, 2 Oct 1995 11:23:38 -0700 (MST) Cc: hackers@FreeBSD.ORG In-Reply-To: <199510020101.SAA03313@ref.tfs.com> from "Julian Elischer" at Oct 1, 95 06:01:04 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1273 Sender: owner-hackers@FreeBSD.ORG Precedence: bulk > Looking at teh LKM code, it apears to me that > a device driver can either be block or char, but not both? > am I misreading something? Yes. This is a deficiency. Whether it's a deficiency in the model that allows you to have a block device without a corresponding character device (ie: BSD itself) or a deficiency in the available registration mechanism (LKM) or just a complication (you can register a character device LKM that depends on a block device LKM, or vice versa) is very arguable. I lean toward it being an issue of balance, ie: a problem in not requiring (potentially non-functional) character and block device nodes on parity with each other. If you lean towards "deficiency", well, the generic LKM can be used to implement registration as multiple archetypes, including device driver and system call at the same time. Two device drivers is a piece of cake compared to something like that (what I would call a gross functionality extension module -- you might use one for an ABI). If you lean towards complication, you can break your devices into multiple dependent modules and load them in dependency order. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.