From owner-freebsd-current@FreeBSD.ORG Tue Apr 19 19:18:33 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1932116A4CE for ; Tue, 19 Apr 2005 19:18:33 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7268143D2D for ; Tue, 19 Apr 2005 19:18:32 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1]) by harmony.village.org (8.13.3/8.13.1) with ESMTP id j3JJFYWj031071; Tue, 19 Apr 2005 13:15:35 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 19 Apr 2005 13:15:34 -0600 (MDT) Message-Id: <20050419.131534.41663830.imp@bsdimp.com> To: scottl@samsco.org From: Warner Losh In-Reply-To: <42648C95.3010102@samsco.org> References: <20050418232455.2d530890@dolphin.local.net> <42648C95.3010102@samsco.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 cc: conrads@cox.net cc: freebsd-current@freebsd.org cc: mat@cnd.mcgill.ca Subject: Re: What happened to the "d_maj" member of "struct cdevsw" in CURRENT? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Apr 2005 19:18:33 -0000 From: Scott Long Subject: Re: What happened to the "d_maj" member of "struct cdevsw" in CURRENT? Date: Mon, 18 Apr 2005 22:44:05 -0600 > Conrad J. Sabatier wrote: > > I've been trying to help Mat Kanner with his yet-to-be-committed MIDI > > patches, and have run into a perplexing problem on amd64 CURRENT. It > > seems the "d_maj" member of "struct cdevsw" no longer exists (in > > sys/sys/conf.h). This is causing Mat's MIDI patches to fail with: > > > > > > > >>===> sound/midi (all) > >>cc -O -pipe -march=athlon64 -Wno-error -D_KERNEL -DKLD_MODULE > >>-nostdinc -I- -include /usr/obj/usr/src/sys/CUSTOM/opt_global.h -I. > >>-I@ -I@/contrib/altq -I@/../include -finline-limit=8000 -fno-common -g > >>-fno-omit-frame-pointer -I/usr/obj/usr/src/sys/CUSTOM -mcmodel=kernel > >>-mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow > >>-msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Wall > >>-Wredundant-decls -Wnested-externs -Wstrict-prototypes > >>-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual > >>-fformat-extensions -std=c99 -c > >>/usr/src/sys/modules/sound/midi/../../../dev/sound/midi/midi.c > >>/usr/src/sys/modules/sound/midi/../../../dev/sound/midi/midi.c:204: > >>error: unknown field `d_maj' specified in initializer > > > > > > When was this member removed, and why? And how to work around this? > > > > Thanks! > > > > Major numbers are now dynamically assigned. The shims for allowing > drivers to choose a static major number were removed a few months ago. > There is no work-around for this; just don't include the field anymore > in 6-current sources. If there is something that thinks it needs > explicit knowledge of major numbers, let me know and we can discuss how > to fix it. I have a few drivers I have to maintain on both 5.x and 6.x, and I've been doing #ifdef MAJOR_AUTO .d_maj = MyMajorHere #endif if I care about the major, usually because the driver also has to work on 4.x too. However, if you don't have such constraints, just removing it is best. Warner