Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Mar 1996 16:29:10 -0500 (EST)
From:      "Marc G. Fournier" <scrappy@ki.net>
To:        JULIAN Elischer <julian@ref.tfs.com>, current@freebsd.org
Subject:   PATCH: small, syntax changes for devfs
Message-ID:  <Pine.BSF.3.91.960320162140.3864F-100000@ki.net>

next in thread | raw e-mail | index | archive | help

Hi again...

	The following patch makes small changes to the DEVFS code in:

		- scsi/sd.c
		- kern/subr_diskslice.c
		- kern/tty_snoop.c
		- kern/tty_tty.c
		- kern/kern_lkm.c

	The main change is to use devfs_add_devswf instead of devfs_add_devsw,
but there are several #ifdef's added around devfs specific defines that
exist in alot of the devfs code, but were missing in these files.

	Question...is it safe to put "printf" statements inside of the
kernel in arbitrary places?  I'm trying to figure out why set_ds_labeldevs()
isn't creating slice devices in /devfs, and figure that putting in a few
extra printf's might help figure it out, but just wondering if this would
break anything. :)



*** /usr/src.orig/sys/kern/kern_lkm.c	Fri Dec 15 22:53:40 1995
--- kern/kern_lkm.c	Wed Mar 20 16:10:27 1996
***************
*** 906,912 ****
--- 906,914 ----
  }
  
  static lkm_devsw_installed = 0;
+ #ifdef DEVFS
  static void	*lkmc_devfs_token;
+ #endif
  
  static void 	lkm_drvinit(void *unused)
  {
***************
*** 917,924 ****
  		cdevsw_add(&dev,&lkmc_cdevsw, NULL);
  		lkm_devsw_installed = 1;
  #ifdef DEVFS
! 		lkmc_devfs_token = devfs_add_devsw( "/", "lkm", &lkmc_cdevsw, 0,
! 					DV_CHR, 0, 0, 0660);
  #endif
      	}
  }
--- 919,927 ----
  		cdevsw_add(&dev,&lkmc_cdevsw, NULL);
  		lkm_devsw_installed = 1;
  #ifdef DEVFS
! 		lkmc_devfs_token = 
! 			devfs_add_devswf(&lkmc_cdevsw, 0, DV_CHR, 0, 0, 
! 					 0660, "lkm");
  #endif
      	}
  }
*** /usr/src.orig/sys/scsi/sd.c	Sun Mar 10 04:49:21 1996
--- scsi/sd.c	Wed Mar 20 15:33:56 1996
***************
*** 195,201 ****
  	struct disk_parms *dp;
  #ifdef DEVFS
  	int	mynor;
- 	char	name[32];
  #endif
  
  	struct scsi_data *sd = sc_link->sd;
--- 195,200 ----
***************
*** 239,249 ****
  
  #ifdef DEVFS
  	mynor = dkmakeminor(unit, WHOLE_DISK_SLICE, RAW_PART);
! 	sprintf(name, "rsd%d", unit);
! 	sd->b_devfs_token = devfs_add_devsw("/", name + 1, &sd_bdevsw, mynor,
! 					    DV_BLK, 0, 0, 0640);
! 	sd->c_devfs_token = devfs_add_devsw("/", name, &sd_cdevsw, mynor,
! 					    DV_CHR, 0, 0, 0640);
  #endif
  
  	return 0;
--- 238,247 ----
  
  #ifdef DEVFS
  	mynor = dkmakeminor(unit, WHOLE_DISK_SLICE, RAW_PART);
! 	sd->b_devfs_token = devfs_add_devswf(&sd_bdevsw, mynor,
! 					    DV_BLK, 0, 0, 0640, "sd%d", unit);
! 	sd->c_devfs_token = devfs_add_devswf(&sd_cdevsw, mynor,
! 					    DV_CHR, 0, 0, 0640, "rsd%d", unit);
  #endif
  
  	return 0;
*** /usr/src.orig/sys/kern/subr_diskslice.c	Sun Jan 28 04:44:59 1996
--- kern/subr_diskslice.c	Wed Mar 20 16:04:27 1996
***************
*** 660,671 ****
  #ifdef DEVFS
  	if (slice >= BASE_SLICE && sp->ds_bdev == NULL && sp->ds_size != 0) {
  		mynor = minor(dkmodpart(dev, RAW_PART));
! 		sprintf(devname, "r%s",
! 			dsname(dname, unit, slice, RAW_PART, partname));
! 		sp->ds_bdev = devfs_add_devsw("/", devname + 1, bdevsw,
! 					      mynor, DV_BLK, 0, 0, 0640);
! 		sp->ds_cdev = devfs_add_devsw("/", devname, cdevsw,
! 					      mynor, DV_CHR, 0, 0, 0640);
  	}
  #endif
  	if (sp->ds_label == NULL) {
--- 660,673 ----
  #ifdef DEVFS
  	if (slice >= BASE_SLICE && sp->ds_bdev == NULL && sp->ds_size != 0) {
  		mynor = minor(dkmodpart(dev, RAW_PART));
! 		sp->ds_bdev = 
! 			devfs_add_devswf(bdevsw, mynor, DV_BLK, 0, 0, 0640,
! 					 dsname(dname, unit, slice, RAW_PART,
! 					        partname));
! 		sp->ds_cdev = 
! 			devfs_add_devswf(cdevsw, mynor, DV_CHR, 0, 0, 0640, 
! 					 "r%s", dsname(dname, unit, slice, 
! 						       RAW_PART, partname));
  	}
  #endif
  	if (sp->ds_label == NULL) {
***************
*** 970,980 ****
  		} else {
  			mynor = minor(dkmodpart(dev, part));
  			sp->ds_bdevs[part] =
! 				devfs_add_devsw("/", devname+1, ssp->dss_bdevsw,
! 						mynor, DV_BLK, 0, 0, 0640);
  			sp->ds_cdevs[part] =
! 				devfs_add_devsw("/", devname, ssp->dss_cdevsw,
! 						mynor, DV_CHR, 0, 0, 0640);
  		}
  	}
  }
--- 972,982 ----
  		} else {
  			mynor = minor(dkmodpart(dev, part));
  			sp->ds_bdevs[part] =
! 				devfs_add_devswf(ssp->dss_bdevsw, mynor, DV_BLK,
! 					 	 0, 0, 0640, devname+1);
  			sp->ds_cdevs[part] =
! 				devfs_add_devswf(ssp->dss_cdevsw, mynor, DV_CHR,
! 						 0, 0, 0640, devname);
  		}
  	}
  }
*** /usr/src.orig/sys/kern/tty_snoop.c	Thu Dec 14 04:57:48 1995
--- kern/tty_snoop.c	Wed Mar 20 16:09:35 1996
***************
*** 509,523 ****
  	return 0;
  }
  
  static	void	*snp_devfs_token[NSNP];
  static snp_devsw_installed = 0;
  
  static void
  snp_drvinit(void *unused)
  {
  	dev_t dev;
! 	char	name[32];
  	int	i;
  
  	if( ! snp_devsw_installed ) {
  		dev = makedev(CDEV_MAJOR, 0);
--- 509,526 ----
  	return 0;
  }
  
+ #ifdef DEVFS
  static	void	*snp_devfs_token[NSNP];
+ #endif
  static snp_devsw_installed = 0;
  
  static void
  snp_drvinit(void *unused)
  {
  	dev_t dev;
! #ifdef DEVFS
  	int	i;
+ #endif
  
  	if( ! snp_devsw_installed ) {
  		dev = makedev(CDEV_MAJOR, 0);
***************
*** 525,534 ****
  		snp_devsw_installed = 1;
  #ifdef DEVFS
  		for ( i = 0 ; i < NSNP ; i++) {
- 			sprintf(name,"snp%d",i);
  			snp_devfs_token[i] =
! 				devfs_add_devsw( "/", name, &snp_cdevsw, i,
! 							DV_CHR, 0, 0, 0600);
  		}
  #endif
      	}
--- 528,536 ----
  		snp_devsw_installed = 1;
  #ifdef DEVFS
  		for ( i = 0 ; i < NSNP ; i++) {
  			snp_devfs_token[i] =
! 				devfs_add_devswf(&snp_cdevsw, i, DV_CHR, 0, 0, 
! 						0600, "snp%d", i);
  		}
  #endif
      	}
*** /usr/src.orig/sys/kern/tty_tty.c	Fri Dec 22 10:57:42 1995
--- kern/tty_tty.c	Wed Mar 20 16:09:41 1996
***************
*** 173,179 ****
--- 173,181 ----
  }
  
  static ctty_devsw_installed = 0;
+ #ifdef DEVFS
  static 	void	*ctty_devfs_token;
+ #endif
  
  static void
  ctty_drvinit(void *unused)
***************
*** 185,192 ****
  		cdevsw_add(&dev,&ctty_cdevsw,NULL);
  		ctty_devsw_installed = 1;
  #ifdef DEVFS
! 		ctty_devfs_token = devfs_add_devsw( "/", "tty",
! 				&ctty_cdevsw, 0, DV_CHR, 0, 0, 0666);
  #endif
      	}
  }
--- 187,195 ----
  		cdevsw_add(&dev,&ctty_cdevsw,NULL);
  		ctty_devsw_installed = 1;
  #ifdef DEVFS
! 		ctty_devfs_token = 
! 			devfs_add_devswf(&ctty_cdevsw, 0, DV_CHR, 0, 0, 
! 					0666, "tty");
  #endif
      	}
  }


Marc G. Fournier | POP Mail  Telnet Acct  DNS Hosting
System           |  WWW Services   Database Services  | Knowledge, 
  Administrator  |                                    | Information and
 scrappy@ki.net  |      WWW: http://www.ki.net        | Communications, Inc




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.960320162140.3864F-100000>