Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Aug 2004 23:52:04 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 60381 for review
Message-ID:  <200408242352.i7ONq49x040427@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=60381

Change 60381 by peter@peter_daintree on 2004/08/24 23:51:11

	bwahahaha. kill count devices dead.  Well, kill the config support
	for them.  This means that I dont have to put bogo-quotes around
	  device "snd_via233"
	anymore.

Affected files ...

.. //depot/projects/hammer/sys/coda/coda_fbsd.c#11 edit
.. //depot/projects/hammer/sys/coda/coda_psdev.c#8 edit
.. //depot/projects/hammer/sys/coda/coda_vfsops.c#9 edit
.. //depot/projects/hammer/sys/conf/NOTES#60 edit
.. //depot/projects/hammer/sys/conf/files#77 edit
.. //depot/projects/hammer/sys/conf/files.pc98#34 edit
.. //depot/projects/hammer/sys/conf/options#53 edit
.. //depot/projects/hammer/sys/conf/options.pc98#25 edit
.. //depot/projects/hammer/sys/i386/conf/NOTES#52 edit
.. //depot/projects/hammer/sys/i4b/driver/i4b_ing.c#8 edit
.. //depot/projects/hammer/sys/i4b/driver/i4b_ipr.c#9 edit
.. //depot/projects/hammer/sys/i4b/driver/i4b_isppp.c#8 edit
.. //depot/projects/hammer/sys/i4b/driver/i4b_rbch.c#8 edit
.. //depot/projects/hammer/sys/i4b/driver/i4b_tel.c#8 edit
.. //depot/projects/hammer/sys/i4b/driver/i4b_trace.c#9 edit
.. //depot/projects/hammer/sys/i4b/layer4/i4b_i4bdrv.c#8 edit
.. //depot/projects/hammer/sys/i4b/layer4/i4b_l4.c#4 edit
.. //depot/projects/hammer/sys/pc98/conf/GENERIC#22 edit
.. //depot/projects/hammer/sys/pc98/pc98/atapi.c#3 edit
.. //depot/projects/hammer/sys/pc98/pc98/wd.c#11 edit
.. //depot/projects/hammer/usr.sbin/config/config.h#5 edit
.. //depot/projects/hammer/usr.sbin/config/config.y#6 edit
.. //depot/projects/hammer/usr.sbin/config/lang.l#5 edit
.. //depot/projects/hammer/usr.sbin/config/mkheaders.c#5 edit
.. //depot/projects/hammer/usr.sbin/config/mkmakefile.c#8 edit

Differences ...

==== //depot/projects/hammer/sys/coda/coda_fbsd.c#11 (text+ko) ====

@@ -31,7 +31,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/coda/coda_fbsd.c,v 1.36 2004/07/15 08:25:59 phk Exp $");
 
-#include "vcoda.h"
+#include "opt_coda.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/hammer/sys/coda/coda_psdev.c#8 (text+ko) ====

@@ -54,7 +54,7 @@
 
 extern int coda_nc_initialized;    /* Set if cache has been initialized */
 
-#include <vcoda.h>
+#include "opt_coda.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/hammer/sys/coda/coda_vfsops.c#9 (text+ko) ====

@@ -43,7 +43,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/coda/coda_vfsops.c,v 1.51 2004/07/30 22:08:49 phk Exp $");
 
-#include <vcoda.h>
+#include "opt_coda.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/hammer/sys/conf/NOTES#60 (text+ko) ====

@@ -819,10 +819,11 @@
 
 # Coda stuff:
 options 	CODA			#CODA filesystem.
-device		vcoda	4		#coda minicache <-> venus comm.
+device		vcoda			#coda minicache <-> venus comm.
 # Use the old Coda 5.x venus<->kernel interface instead of the new
 # realms-aware 6.x protocol.
 #options 	CODA_COMPAT_5
+options 	NVCODA=4
 
 #
 # Add support for the EXT2FS filesystem of Linux fame.  Be a bit
@@ -1871,32 +1872,32 @@
 # snd_vibes:		S3 Sonicvibes PCI.
 # snd_uaudio:		USB audio.
 
-device		"snd_ad1816"
-device		"snd_als4000"
-#device		"snd_au88x0"
+device		snd_ad1816
+device		snd_als4000
+#device		snd_au88x0
 device		snd_cmi
-device		"snd_cs4281"
+device		snd_cs4281
 device		snd_csa
-device		"snd_ds1"
-device		"snd_emu10k1"
-device		"snd_es137x"
+device		snd_ds1
+device		snd_emu10k1
+device		snd_es137x
 device		snd_ess
-device		"snd_fm801"
+device		snd_fm801
 device		snd_gusc
 device		snd_ich
 device		snd_maestro
-device		"snd_maestro3"
+device		snd_maestro3
 device		snd_mss
 device		snd_neomagic
-device		"snd_sb16"
-device		"snd_sb8"
+device		snd_sb16
+device		snd_sb8
 device		snd_sbc
 device		snd_solo
-device		"snd_t4dwave"
-device		"snd_via8233"
-device		"snd_via82c686"
+device		snd_t4dwave
+device		snd_via8233
+device		snd_via82c686
 device		snd_vibes
-#device		"snd_vortex1"
+#device		snd_vortex1
 device		snd_uaudio
 
 # For non-pnp sound cards:

==== //depot/projects/hammer/sys/conf/files#77 (text+ko) ====

@@ -82,7 +82,7 @@
 cam/scsi/scsi_ses.c	optional ses
 cam/scsi/scsi_targ_bh.c	optional targbh
 cam/scsi/scsi_target.c	optional targ
-coda/coda_fbsd.c	count vcoda
+coda/coda_fbsd.c	optional vcoda
 coda/coda_namecache.c	optional vcoda
 coda/coda_psdev.c	optional vcoda
 coda/coda_subr.c	optional vcoda
@@ -992,14 +992,14 @@
 #
 # isdn4bsd device drivers
 #
-i4b/driver/i4b_trace.c		count i4btrc
-i4b/driver/i4b_rbch.c		count i4brbch
-i4b/driver/i4b_tel.c		count i4btel
-i4b/driver/i4b_ipr.c		count i4bipr
+i4b/driver/i4b_trace.c		optional i4btrc
+i4b/driver/i4b_rbch.c		optional i4brbch
+i4b/driver/i4b_tel.c		optional i4btel
+i4b/driver/i4b_ipr.c		optional i4bipr
 net/slcompress.c		optional i4bipr
 i4b/driver/i4b_ctl.c		optional i4bctl
-i4b/driver/i4b_ing.c		count i4bing
-i4b/driver/i4b_isppp.c		count i4bisppp
+i4b/driver/i4b_ing.c		optional i4bing
+i4b/driver/i4b_isppp.c		optional i4bisppp
 net/slcompress.c		optional i4bisppp
 #
 # isdn4bsd CAPI driver

==== //depot/projects/hammer/sys/conf/files.pc98#34 (text+ko) ====

@@ -347,8 +347,8 @@
 pc98/pc98/sio.c			optional	sio
 pc98/pc98/sio_cbus.c		optional	sio isa
 pc98/pc98/syscons_pc98.c	optional	sc
-pc98/pc98/wd.c			count		wdc
-pc98/pc98/wd_cd.c		count		wcd wdc
+pc98/pc98/wd.c			optional	wdc
+pc98/pc98/wd_cd.c		optional	wcd wdc
 pccard/mecia.c			optional	mecia card
 pci/agp_ali.c			optional	agp
 pci/agp_amd.c			optional	agp

==== //depot/projects/hammer/sys/conf/options#53 (text+ko) ====

@@ -60,6 +60,7 @@
 NO_ADAPTIVE_MUTEXES	opt_adaptive_mutexes.h
 ALQ
 CODA_COMPAT_5	opt_coda.h
+NVCODA		opt_coda.h
 COMPAT_43	opt_compat.h
 COMPAT_FREEBSD4	opt_compat.h
 COMPILING_LINT	opt_global.h
@@ -680,3 +681,11 @@
 DCONS_POLL_HZ		opt_dcons.h
 DCONS_FORCE_CONSOLE	opt_dcons.h
 DCONS_FORCE_GDB		opt_dcons.h
+
+# Static unit counts
+NI4BTRC			opt_i4b.h
+NI4BRBCH		opt_i4b.h
+NI4BTEL			opt_i4b.h
+NI4BIPR			opt_i4b.h
+NI4BING			opt_i4b.h
+NI4BISPPP		opt_i4b.h

==== //depot/projects/hammer/sys/conf/options.pc98#25 (text+ko) ====

@@ -108,3 +108,7 @@
 DEV_APIC		opt_apic.h
 DEV_MECIA		opt_mecia.h
 DEV_NPX			opt_npx.h
+DEV_WCD			opt_wcd.h
+
+# Static unit counts
+NWDC			opt_wdc.h

==== //depot/projects/hammer/sys/i386/conf/NOTES#52 (text+ko) ====

@@ -471,7 +471,7 @@
 # for AGP r128 and radeon cards.
 
 device		mgadrm
-device		"r128drm"
+device		r128drm
 device		radeondrm
 device		sisdrm
 device		tdfxdrm
@@ -863,7 +863,7 @@
 #	ifpi2 driver for AVM Fritz!Card PCI version 2
 #
 # AVM Fritz!Card PCI version 2
-device		"ifpi2"
+device		ifpi2
 #
 #---------------------------------------------------------------------------
 #	iwic driver for Winbond W6692 chipset
@@ -893,34 +893,38 @@
 #	ISDN Protocol Stack - mandatory for all hardware drivers
 #
 # Q.921 / layer 2 - i4b passive cards D channel handling
-device		"i4bq921"
+device		i4bq921
 #
 # Q.931 / layer 3 - i4b passive cards D channel handling
-device		"i4bq931"
+device		i4bq931
 #
 # layer 4 - i4b common passive and active card handling
-device		"i4b"
+device		i4b
 #
 #---------------------------------------------------------------------------
 #	ISDN devices - mandatory for all hardware drivers
 #
 # userland driver to do ISDN tracing (for passive cards only)
-device		"i4btrc"	4
+device		i4btrc
+options		NI4BTRC=4
 #
 # userland driver to control the whole thing
-device		"i4bctl"
+device		i4bctl
 #
 #---------------------------------------------------------------------------
 #	ISDN devices - optional
 #
 # userland driver for access to raw B channel
-device		"i4brbch"	4
+device		i4brbch
+options		NI4BRBCH=4
 #
 # userland driver for telephony
-device		"i4btel"	2
+device		i4btel
+options 	NI4BTEL=2
 #
 # network driver for IP over raw HDLC ISDN
-device		"i4bipr"	4
+device		i4bipr
+options 	NI4BIPR=4
 # enable VJ header compression detection for ipr i/f
 options 	IPR_VJ
 # enable logging of the first n IP packets to isdnd (n=32 here)
@@ -928,13 +932,15 @@
 #
 # network driver for sync PPP over ISDN; requires an equivalent
 # number of sppp device to be configured
-device		"i4bisppp"	4
+device		i4bisppp
+options 	NI4BISPPP=4
 #
 # B-channel interface to the netgraph subsystem
-device		"i4bing"	2
+device		i4bing
+options		NI4BING=2
 #
 # CAPI driver needed for active ISDN cards (see iavc driver above)
-device		"i4bcapi"
+device		i4bcapi
 #
 #---------------------------------------------------------------------------
 

==== //depot/projects/hammer/sys/i4b/driver/i4b_ing.c#8 (text+ko) ====

@@ -33,8 +33,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_ing.c,v 1.22 2004/07/06 06:43:45 ru Exp $");
 
-#include "i4bing.h"
-
 #include "opt_i4b.h"
 
 #include <sys/param.h>

==== //depot/projects/hammer/sys/i4b/driver/i4b_ipr.c#9 (text+ko) ====

@@ -56,8 +56,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_ipr.c,v 1.27 2004/06/13 17:29:08 mlaier Exp $");
 
-#include "i4bipr.h"
-
 #include "opt_i4b.h"
 
 #include <sys/param.h>

==== //depot/projects/hammer/sys/i4b/driver/i4b_isppp.c#8 (text+ko) ====

@@ -41,7 +41,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_isppp.c,v 1.25 2003/10/31 18:32:07 brooks Exp $");
 
-#include "i4bisppp.h"
+#include "opt_i4b.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/hammer/sys/i4b/driver/i4b_rbch.c#8 (text+ko) ====

@@ -33,7 +33,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_rbch.c,v 1.33 2004/06/16 09:47:10 phk Exp $");
 
-#include "i4brbch.h"
+#include "opt_i4b.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/hammer/sys/i4b/driver/i4b_tel.c#8 (text+ko) ====

@@ -33,7 +33,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_tel.c,v 1.34 2004/06/16 09:47:10 phk Exp $");
 
-#include "i4btel.h"
+#include "opt_i4b.h"
 
 #undef I4BTELDEBUG
 

==== //depot/projects/hammer/sys/i4b/driver/i4b_trace.c#9 (text+ko) ====

@@ -35,7 +35,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i4b/driver/i4b_trace.c,v 1.30 2004/06/16 09:47:10 phk Exp $");
 
-#include "i4btrc.h"
+#include "opt_i4b.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/hammer/sys/i4b/layer4/i4b_i4bdrv.c#8 (text+ko) ====

@@ -33,8 +33,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i4b/layer4/i4b_i4bdrv.c,v 1.41 2004/06/16 09:47:10 phk Exp $");
 
-#include "i4bipr.h"
-#include "i4btel.h"
+#include "opt_i4b.h"
 
 #include <sys/param.h>
 #include <sys/ioccom.h>
@@ -48,9 +47,6 @@
 #include <sys/selinfo.h>
 #include <net/if.h>
 
-#include "i4bing.h"
-#include "i4bisppp.h"
-
 #include <machine/i4b_debug.h>
 #include <machine/i4b_ioctl.h>
 #include <machine/i4b_cause.h>

==== //depot/projects/hammer/sys/i4b/layer4/i4b_l4.c#4 (text+ko) ====

@@ -33,18 +33,13 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i4b/layer4/i4b_l4.c,v 1.17 2003/06/11 00:01:05 obrien Exp $");
 
-#include "i4bipr.h"
+#include "opt_i4b.h"
 
 #include <sys/param.h>
 #include <sys/kernel.h>
 #include <sys/systm.h>
 #include <sys/mbuf.h>
 
-#include "i4bing.h"
-#include "i4bisppp.h"
-#include "i4brbch.h"
-#include "i4btel.h"
-
 #include <machine/i4b_debug.h>
 #include <machine/i4b_ioctl.h>
 #include <machine/i4b_cause.h>

==== //depot/projects/hammer/sys/pc98/conf/GENERIC#22 (text+ko) ====

@@ -90,10 +90,11 @@
 options 	ATA_STATIC_ID	# Static device numbering
 
 # IDE controller and disks
-#device		wdc	1	# Needs COMPAT_OLDISA
+#device		wdc		# Needs COMPAT_OLDISA
+#options 	NWDC=1
 
 # ATAPI devices on wdc
-#device		wcd	1	# IDE CD-ROM
+#device		wcd		# IDE CD-ROM
 
 # SCSI Controllers
 device		adv		# Advansys SCSI adapters

==== //depot/projects/hammer/sys/pc98/pc98/atapi.c#3 (text+ko) ====

@@ -101,11 +101,8 @@
  */
 #undef DEBUG
 
-#include "wdc.h"
-
-#include "wcd.h"
-
-#if NWDC > 0
+#include "opt_wcd.h"
+#include "opt_wdc.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -248,14 +245,14 @@
 		break;
 
 	case AT_TYPE_DIRECT:            /* direct-access */
-#if NWCD > 0
+#ifdef DEV_WCD
 		/* FALLTHROUGH */
 #else
 		printf ("wdc%d: ATAPI Floppies not configured\n", ctlr);
 		break;
 #endif
 	case AT_TYPE_CDROM:             /* CD-ROM device */
-#if NWCD > 0
+#ifdef DEV_WCD
 		/* ATAPI CD-ROM & CD-R/RW drives */
 		if (acdattach (ata, unit, ap, ata->debug) < 0)
 			break;
@@ -966,5 +963,3 @@
 	}
 	return (ac->result);
 }
-
-#endif /* NWDC */

==== //depot/projects/hammer/sys/pc98/pc98/wd.c#11 (text+ko) ====

@@ -48,12 +48,10 @@
  *	  driver entries for polled reinit and polled write).
  */
 
-#include "wdc.h"
+#include "opt_wdc.h"
 #undef NWD
 #define NWD (NWDC * 4)		/* 4 drives per wdc on PC98 */
 
-#if     NWDC > 0
-
 #include "opt_hw_wdog.h"
 
 #include <sys/param.h>
@@ -2070,5 +2068,3 @@
 	} while (--timeout != 0);
 	return (-1);
 }
-
-#endif /* NWDC > 0 */

==== //depot/projects/hammer/usr.sbin/config/config.h#5 (text+ko) ====

@@ -41,7 +41,7 @@
 struct file_list {
 	STAILQ_ENTRY(file_list) f_next;
 	char	*f_fn;			/* the name */
-	int     f_type;                 /* type or count */
+	int     f_type;                 /* type */
 	u_char	f_flags;		/* see below */
 	char	*f_compilewith;		/* special make rule if present */
 	char	*f_depends;		/* additional dependancies */
@@ -72,14 +72,12 @@
 #define NO_IMPLCT_RULE	1
 #define NO_OBJ		2
 #define BEFORE_DEPEND	4
-#define NEED_COUNT	8
-#define ISDUP		16
-#define NOWERROR	32
+#define ISDUP		8
+#define NOWERROR	16
 
 struct device {
 	int	d_done;			/* processed */
 	char	*d_name;		/* name of device (e.g. rk11) */
-	int	d_count;		/* device count */
 #define	UNKNOWN -2	/* -2 means not set yet */
 	STAILQ_ENTRY(device) d_next;	/* Next one in list */
 };

==== //depot/projects/hammer/usr.sbin/config/config.y#6 (text+ko) ====

@@ -250,16 +250,7 @@
 	      = {
 		newopt(&opt, devopt($2), ns("1"));
 		/* and the device part */
-		newdev($2, UNKNOWN);
-		} |
-	DEVICE Dev NUMBER
-	      = {
-		newopt(&opt, devopt($2), ns("1"));
-		/* and the device part */
-		newdev($2, $3);
-		if ($3 == 0)
-			errx(1, "%s:%d: devices with zero units are not "
-			    "likely to be correct", yyfile, yyline);
+		newdev($2);
 		} |
 	NODEVICE Dev
 	      = {
@@ -298,14 +289,13 @@
  * add a device to the list of devices
  */
 static void
-newdev(char *name, int count)
+newdev(char *name)
 {
 	struct device *np;
 
 	np = (struct device *) malloc(sizeof *np);
 	memset(np, 0, sizeof(*np));
 	np->d_name = name;
-	np->d_count = count;
 	STAILQ_INSERT_TAIL(&dtab, np, d_next);
 }
 

==== //depot/projects/hammer/usr.sbin/config/lang.l#5 (text+ko) ====

@@ -89,11 +89,10 @@
 int yyerror(const char *);
 
 %}
-WORD	[A-Za-z_][-A-Za-z_]*
 ID	[A-Za-z_][-A-Za-z_0-9]*
-%START NONUM TOEOL
+%START TOEOL
 %%
-<NONUM>{WORD}	{
+{ID}		{
 			int i;
 
 			BEGIN 0;
@@ -104,20 +103,6 @@
 			}
 			return i;
 		}
-<INITIAL>{WORD}/[0-9]* {
-			int i;
-
-			if ((i = kw_lookup(yytext)) == -1)
-				REJECT;
-			if (i == DEVICE || i == NODEVICE)
-				BEGIN NONUM;
-			return i;
-		}
-<INITIAL>{ID}	{
-			BEGIN 0;
-			yylval.str = strdup(yytext);
-			return ID;
-		}
 \\\"[^"]+\\\"	{
 			BEGIN 0;
 			yytext[yyleng-2] = '"';

==== //depot/projects/hammer/usr.sbin/config/mkheaders.c#5 (text+ko) ====

@@ -47,10 +47,6 @@
 #include "config.h"
 #include "y.tab.h"
 
-static int do_header(char *, int);
-static char *toheader(char *);
-static char *tomacro(char *);
-
 void
 headers(void)
 {
@@ -69,8 +65,6 @@
 					dp->d_done |= DEVDONE;
 				}
 			}
-			if (fl->f_flags & NEED_COUNT)
-				errors += do_header(fl->f_needs, match);
 		}
 	}
 	STAILQ_FOREACH(dp, &dtab, d_next) {
@@ -79,157 +73,7 @@
 			       dp->d_name);
 			       errors++;
 			}
-		if (dp->d_count == UNKNOWN)
-			continue;
-		match = 0;
-		STAILQ_FOREACH(fl, &ftab, f_next) {
-			if (fl->f_needs == 0)
-				continue;
-			if ((fl->f_flags & NEED_COUNT) == 0)
-				continue;
-			if (eq(dp->d_name, fl->f_needs)) {
-				match++;
-				break;
-			}
-		}
-		if (match == 0) {
-			warnx("Error: device \"%s\" does not take a count",
-			    dp->d_name);
-			errors++;
-		}
 	}
 	if (errors)
 		errx(1, "%d errors", errors);
 }
-
-static int
-do_header(char *dev, int match)
-{
-	char *file, *name, *inw;
-	struct file_list *fl, *tflp;
-	struct file_list_head fl_head;
-	struct device *dp;
-	FILE *inf, *outf;
-	int inc, oldcount;
-	int count, hicount;
-	int errors;
-
-	/*
-	 * After this loop, "count" will be the actual number of units,
-	 * and "hicount" will be the highest unit declared.  do_header()
-	 * must use this higher of these values.
-	 */
-	errors = 0;
-	hicount = count = 0;
-	STAILQ_FOREACH(dp, &dtab, d_next) {
-		if (eq(dp->d_name, dev)) {
-			if (dp->d_count == UNKNOWN) {
-				warnx("Device \"%s\" requires a count", dev);
-				return 1;
-			}
-			count = dp->d_count;
-			break;
-		}
-	}
-	file = toheader(dev);
-	name = tomacro(dev);
-	if (match)
-		fprintf(stderr,
-		    "FYI: static unit limits for %s are set: %s=%d\n",
-		    dev, name, count);
-	remember(file);
-	inf = fopen(file, "r");
-	oldcount = -1;
-	if (inf == 0) {
-		outf = fopen(file, "w");
-		if (outf == 0)
-			err(1, "%s", file);
-		fprintf(outf, "#ifndef BURN_BRIDGES\n");
-		fprintf(outf, "#define %s %d\n", name, count);
-		fprintf(outf, "#endif\n");
-		(void) fclose(outf);
-		return 0;
-	}
-	STAILQ_INIT(&fl_head);
-	for (;;) {
-		char *cp;
-		if ((inw = get_word(inf)) == 0 || inw == (char *)EOF)
-			break;
-		if ((inw = get_word(inf)) == 0 || inw == (char *)EOF)
-			break;
-		inw = ns(inw);
-		cp = get_word(inf);
-		if (cp == 0 || cp == (char *)EOF)
-			break;
-		inc = atoi(cp);
-		if (eq(inw, name)) {
-			oldcount = inc;
-			inc = count;
-		}
-		cp = get_word(inf);
-		if (cp == (char *)EOF)
-			break;
-		fl = (struct file_list *) malloc(sizeof *fl);
-		bzero(fl, sizeof(*fl));
-		fl->f_fn = inw;		/* malloced */
-		fl->f_type = inc;
-		STAILQ_INSERT_HEAD(&fl_head, fl, f_next);
-	}
-	(void) fclose(inf);
-	if (count == oldcount) {
-		for (fl = STAILQ_FIRST(&fl_head); fl != NULL; fl = tflp) {
-			tflp = STAILQ_NEXT(fl, f_next);
-			free(fl->f_fn);
-			free(fl);
-		}
-		return 0;
-	}
-	if (oldcount == -1) {
-		fl = (struct file_list *) malloc(sizeof *fl);
-		bzero(fl, sizeof(*fl));
-		fl->f_fn = ns(name);
-		fl->f_type = count;
-		STAILQ_INSERT_HEAD(&fl_head, fl, f_next);
-	}
-	outf = fopen(file, "w");
-	if (outf == 0)
-		err(1, "%s", file);
-	for (fl = STAILQ_FIRST(&fl_head); fl != NULL; fl = tflp) {
-		fprintf(outf,
-		    "#define %s %u\n", fl->f_fn, count ? fl->f_type : 0);
-		tflp = STAILQ_NEXT(fl, f_next);
-		free(fl->f_fn);
-		free(fl);
-	}
-	(void) fclose(outf);
-	return 0;
-}
-
-/*
- * convert a dev name to a .h file name
- */
-static char *
-toheader(char *dev)
-{
-	static char hbuf[MAXPATHLEN];
-
-	snprintf(hbuf, sizeof(hbuf), "%s.h", path(dev));
-	return (hbuf);
-}
-
-/*
- * convert a dev name to a macro name
- */
-static char *
-tomacro(char *dev)
-{
-	static char mbuf[20];
-	char *cp;
-
-	cp = mbuf;
-	*cp++ = 'N';
-	while (*dev)
-		*cp++ = islower(*dev) ? toupper(*dev++) : *dev++;
-	*cp++ = 0;
-	return (mbuf);
-}

==== //depot/projects/hammer/usr.sbin/config/mkmakefile.c#8 (text+ko) ====

@@ -298,14 +298,14 @@
 	struct opt *op;
 	char *wd, *this, *needs, *compilewith, *depends, *clean, *warning;
 	int nreqs, isdup, std, filetype,
-	    imp_rule, no_obj, needcount, before_depend, mandatory, nowerror;
+	    imp_rule, no_obj, before_depend, mandatory, nowerror;
 
 	fp = fopen(fname, "r");
 	if (fp == 0)
 		err(1, "%s", fname);
 next:
 	/*
-	 * filename    [ standard | mandatory | optional | count ]
+	 * filename    [ standard | mandatory | optional ]
 	 *	[ dev* | profiling-routine ] [ no-obj ]
 	 *	[ compile-with "compile rule" [no-implicit-rule] ]
 	 *      [ dependency "dependency-list"] [ before-depend ]
@@ -345,7 +345,6 @@
 	std = mandatory = 0;
 	imp_rule = 0;
 	no_obj = 0;
-	needcount = 0;
 	before_depend = 0;
 	nowerror = 0;
 	filetype = NORMAL;
@@ -358,10 +357,8 @@
 	 */
 	} else if (eq(wd, "mandatory")) {
 		mandatory = 1;
-	} else if (eq(wd, "count")) {
-		needcount = 1;
 	} else if (!eq(wd, "optional")) {
-		printf("%s: %s must be count, optional, mandatory or standard\n",
+		printf("%s: %s must be optional, mandatory or standard\n",
 		       fname, this);
 		exit(1);
 	}
@@ -451,11 +448,8 @@
 	if (isdup)
 		goto invis;
 	STAILQ_FOREACH(dp, &dtab, d_next)
-		if (eq(dp->d_name, wd)) {
-			if (std && dp->d_count <= 0)
-				dp->d_count = 1;
+		if (eq(dp->d_name, wd))
 			goto nextparam;
-		}
 	if (mandatory) {
 		printf("%s: mandatory device \"%s\" not found\n",
 		       fname, wd);
@@ -483,8 +477,6 @@
 	tp->f_type = INVISIBLE;
 	tp->f_needs = needs;
 	tp->f_flags |= isdup;
-	if (needcount)
-		tp->f_flags |= NEED_COUNT;
 	tp->f_compilewith = compilewith;
 	tp->f_depends = depends;
 	tp->f_clean = clean;
@@ -516,8 +508,6 @@
 		tp->f_flags |= NO_OBJ;
 	if (before_depend)
 		tp->f_flags |= BEFORE_DEPEND;
-	if (needcount)
-		tp->f_flags |= NEED_COUNT;
 	if (nowerror)
 		tp->f_flags |= NOWERROR;
 	tp->f_needs = needs;



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