From owner-freebsd-drivers@FreeBSD.ORG Tue Nov 15 16:19:56 2005 Return-Path: X-Original-To: freebsd-drivers@freebsd.org Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4796916A41F; Tue, 15 Nov 2005 16:19:56 +0000 (GMT) (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 D624343D4C; Tue, 15 Nov 2005 16:19:55 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.3/8.13.3) with ESMTP id jAFGJ9hY037050; Tue, 15 Nov 2005 09:19:09 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Tue, 15 Nov 2005 09:19:09 -0700 (MST) Message-Id: <20051115.091909.74713594.imp@bsdimp.com> To: jhb@freebsd.org From: Warner Losh In-Reply-To: <200511151022.00866.jhb@freebsd.org> References: <20051115085943.D5A72101E4@ws1-3.us4.outblaze.com> <200511151022.00866.jhb@freebsd.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Tue, 15 Nov 2005 09:19:09 -0700 (MST) Cc: freebsd-drivers@freebsd.org Subject: Re: How to make my new driver be configurable in the kernel configuration file? X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Nov 2005 16:19:56 -0000 From: John Baldwin Subject: Re: How to make my new driver be configurable in the kernel configuration file? Date: Tue, 15 Nov 2005 10:21:59 -0500 > On Tuesday 15 November 2005 03:59 am, Yong Ma wrote: > > Hi all, > > I wrote and debuged my driver for a new device in KLD mode,now I want to > > plug it into the kernel,so that it can be loaded when the system boots,and > > make it be configurable in the kernel configuration file like other device > > driver as "device XXX",I don't know what to do,could anyone be kind to help > > me? > > To add your driver you update the src/sys/conf/files* files. If your driver > is machine independent, you can add it to src/sys/conf/files. For example, > here are the lines in sys/conf/files for the cy(4) driver: > > dev/cy/cy.c optional cy > dev/cy/cy_isa.c optional cy isa > dev/cy/cy_pci.c optional cy pci > > If your driver only works on a single architecture (such as i386) then add it > to the architecture file sys/conf/files. (e.g. sys/conf/files.i386). > The device names after 'optional' specify which devices must be enabled in > the kernel config for that file to be included. Thus, in the example above, > src/sys/dev/cy/cy.c is included as long as 'device cy' is in the kernel, but > src/sys/dev/cy/cy_isa.c is only included if both 'device cy' and 'device isa' > are in the kernel config file. You can augment the system files with the files directive if you don't want to edit sys/conf/files.foo: files "/foo/bar/baz" and put something like the above in that. Warner