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>