Support the installation of character devices via an lkm.

Closes PR# 1716

Submitted by:	jpt@magic.net
This commit is contained in:
Mike Pritchard
1997-02-22 01:20:57 +00:00
parent faad6f1e34
commit 77bf994fe8
+10 -1
View File
@@ -741,6 +741,15 @@ _lkm_dev(lkmtp, cmd)
break;
case LM_DT_CHAR:
if ((i = args->lkm_offset) == -1)
descrip = (dev_t) -1;
else
descrip = makedev(args->lkm_offset,0);
if ( err = cdevsw_add(&descrip, args->lkm_dev.cdev,
&(args->lkm_olddev.cdev))) {
break;
}
args->lkm_offset = major(descrip) ;
break;
default:
@@ -752,11 +761,11 @@ _lkm_dev(lkmtp, cmd)
case LKM_E_UNLOAD:
/* current slot... */
i = args->lkm_offset;
descrip = makedev(i,0);
switch(args->lkm_devtype) {
case LM_DT_BLOCK:
/* replace current slot contents with old contents */
descrip = makedev(i,0);
bdevsw_add(&descrip, args->lkm_olddev.bdev,NULL);
break;