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>
