Originally when DEVFS was added, a global variable "devfs_present"

was used to control code which were conditional on DEVFS' precense
since this avoided the need for large-scale source pollution with
#include "opt_geom.h"

Now that we approach making DEVFS standard, replace these tests
with an #ifdef to facilitate mechanical removal once DEVFS becomes
non-optional.

No functional change by this commit.
This commit is contained in:
phk 2003-01-19 11:03:07 +00:00
parent eaa6ad0521
commit be470e56d7
9 changed files with 45 additions and 48 deletions

View File

@ -450,7 +450,6 @@ devfs_init(void *junk)
{ {
devfs_create_hook = devfs_create; devfs_create_hook = devfs_create;
devfs_destroy_hook = devfs_destroy; devfs_destroy_hook = devfs_destroy;
devfs_present = 1;
devfs_rules_init(); devfs_rules_init();
} }

View File

@ -554,21 +554,21 @@ start_init(void *dummy)
mac_create_root_mount(td->td_ucred, TAILQ_FIRST(&mountlist)); mac_create_root_mount(td->td_ucred, TAILQ_FIRST(&mountlist));
#endif #endif
if (devfs_present) { #ifndef NODEVFS
/* /*
* For disk based systems, we probably cannot do this yet * For disk based systems, we probably cannot do this yet
* since the fs will be read-only. But a NFS root * since the fs will be read-only. But a NFS root
* might be ok. It is worth a shot. * might be ok. It is worth a shot.
*/ */
error = kern_mkdir(td, "/dev", UIO_SYSSPACE, 0700); error = kern_mkdir(td, "/dev", UIO_SYSSPACE, 0700);
if (error == EEXIST) if (error == EEXIST)
error = 0; error = 0;
if (error == 0) if (error == 0)
error = kernel_vmount(0, "fstype", "devfs", error = kernel_vmount(0, "fstype", "devfs",
"fspath", "/dev", NULL); "fspath", "/dev", NULL);
if (error != 0) if (error != 0)
init_does_devfs = 1; init_does_devfs = 1;
} #endif
/* /*
* Need just enough stack to hold the faked-up "execve()" arguments. * Need just enough stack to hold the faked-up "execve()" arguments.

View File

@ -62,7 +62,6 @@ static LIST_HEAD(, cdev) dev_free;
devfs_create_t *devfs_create_hook; devfs_create_t *devfs_create_hook;
devfs_destroy_t *devfs_destroy_hook; devfs_destroy_t *devfs_destroy_hook;
int devfs_present;
static int ready_for_devs; static int ready_for_devs;
@ -81,9 +80,11 @@ devsw(dev_t dev)
disk_dev_synth(dev); disk_dev_synth(dev);
if (dev->si_devsw) if (dev->si_devsw)
return (dev->si_devsw); return (dev->si_devsw);
if (devfs_present) #ifndef NODEVFS
return (NULL); return (NULL);
#else
return(cdevsw[major(dev)]); return(cdevsw[major(dev)]);
#endif
} }
/* /*

View File

@ -2152,13 +2152,15 @@ fildesc_drvinit(void *unused)
make_dev_alias(dev, "stdout"); make_dev_alias(dev, "stdout");
dev = make_dev(&fildesc_cdevsw, 2, UID_ROOT, GID_WHEEL, 0666, "fd/2"); dev = make_dev(&fildesc_cdevsw, 2, UID_ROOT, GID_WHEEL, 0666, "fd/2");
make_dev_alias(dev, "stderr"); make_dev_alias(dev, "stderr");
if (!devfs_present) { #ifdef NODEVFS
int fd; {
int fd;
for (fd = 3; fd < NUMFDESC; fd++) for (fd = 3; fd < NUMFDESC; fd++)
make_dev(&fildesc_cdevsw, fd, UID_ROOT, GID_WHEEL, make_dev(&fildesc_cdevsw, fd, UID_ROOT, GID_WHEEL,
0666, "fd/%d", fd); 0666, "fd/%d", fd);
} }
#endif
} }
static fo_rdwr_t badfo_readwrite; static fo_rdwr_t badfo_readwrite;

View File

@ -361,12 +361,7 @@ ctty_drvinit(unused)
void *unused; void *unused;
{ {
if (devfs_present) { make_dev(&ctty_cdevsw, 0, 0, 0, 0666, "tty");
EVENTHANDLER_REGISTER(dev_clone, ctty_clone, 0, 1000);
ctty = make_dev(&ctty_cdevsw, 0, 0, 0, 0666, "ctty");
} else {
make_dev(&ctty_cdevsw, 0, 0, 0, 0666, "tty");
}
} }
SYSINIT(cttydev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,ctty_drvinit,NULL) SYSINIT(cttydev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,ctty_drvinit,NULL)

View File

@ -178,13 +178,13 @@ tapmodevent(mod, type, data)
goto bail2; goto bail2;
} }
if (!devfs_present) { #ifdef NODEVFS
error = cdevsw_add(&tap_cdevsw); error = cdevsw_add(&tap_cdevsw);
if (error != 0) { if (error != 0) {
EVENTHANDLER_DEREGISTER(dev_clone, eh_tag); EVENTHANDLER_DEREGISTER(dev_clone, eh_tag);
goto bail2; goto bail2;
}
} }
#endif
return (0); return (0);
bail2: bail2:
@ -229,8 +229,9 @@ tapmodevent(mod, type, data)
if (tapbasedev != NOUDEV) if (tapbasedev != NOUDEV)
destroy_dev(udev2dev(tapbasedev, 0)); destroy_dev(udev2dev(tapbasedev, 0));
if (!devfs_present) #ifdef NODEVFS
cdevsw_remove(&tap_cdevsw); cdevsw_remove(&tap_cdevsw);
#endif
break; break;

View File

@ -147,13 +147,13 @@ tunmodevent(module_t mod, int type, void *data)
tag = EVENTHANDLER_REGISTER(dev_clone, tunclone, 0, 1000); tag = EVENTHANDLER_REGISTER(dev_clone, tunclone, 0, 1000);
if (tag == NULL) if (tag == NULL)
return (ENOMEM); return (ENOMEM);
if (!devfs_present) { #ifdef NODEVFS
err = cdevsw_add(&tun_cdevsw); err = cdevsw_add(&tun_cdevsw);
if (err != 0) { if (err != 0) {
EVENTHANDLER_DEREGISTER(dev_clone, tag); EVENTHANDLER_DEREGISTER(dev_clone, tag);
return (err); return (err);
}
} }
#endif
tununits.rm_type = RMAN_ARRAY; tununits.rm_type = RMAN_ARRAY;
tununits.rm_descr = "open if_tun units"; tununits.rm_descr = "open if_tun units";
err = rman_init(&tununits); err = rman_init(&tununits);
@ -200,8 +200,9 @@ tunmodevent(module_t mod, int type, void *data)
if (tunbasedev != NOUDEV) if (tunbasedev != NOUDEV)
destroy_dev(udev2dev(tunbasedev, 0)); destroy_dev(udev2dev(tunbasedev, 0));
if (!devfs_present) #ifdef NODEVFS
cdevsw_remove(&tun_cdevsw); cdevsw_remove(&tun_cdevsw);
#endif
break; break;
} }
return 0; return 0;

View File

@ -323,7 +323,6 @@ typedef void devfs_destroy_t(dev_t dev);
extern devfs_create_t *devfs_create_hook; extern devfs_create_t *devfs_create_hook;
extern devfs_destroy_t *devfs_destroy_hook; extern devfs_destroy_t *devfs_destroy_hook;
extern int devfs_present;
#define UID_ROOT 0 #define UID_ROOT 0
#define UID_BIN 3 #define UID_BIN 3

View File

@ -323,7 +323,6 @@ typedef void devfs_destroy_t(dev_t dev);
extern devfs_create_t *devfs_create_hook; extern devfs_create_t *devfs_create_hook;
extern devfs_destroy_t *devfs_destroy_hook; extern devfs_destroy_t *devfs_destroy_hook;
extern int devfs_present;
#define UID_ROOT 0 #define UID_ROOT 0
#define UID_BIN 3 #define UID_BIN 3