Page MenuHomeFreeBSD

D57208.diff
No OneTemporary

D57208.diff

diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -257,41 +257,73 @@
atomic_subtract_rel_long(&dev->si_threadcount, 1);
}
-int
-nullop(void)
+/* Define a dead_cdevsw for use when devices leave unexpectedly. */
+
+
+static int
+dead_open(struct cdev *dev __unused, int oflags __unused, int devtyp __unused,
+ struct thread *td __unused)
{
+ return (ENXIO);
+}
- return (0);
+static int
+dead_close(struct cdev *dev __unused, int fflag __unused, int devtype __unused,
+ struct thread *td __unused)
+{
+ return (ENXIO);
}
-int
-eopnotsupp(void)
+static int
+dead_read_overwrite(struct cdev *dev __unused, struct uio *uio __unused,
+ int ioflag __unused)
{
+ return (ENXIO);
+}
- return (EOPNOTSUPP);
+static int
+dead_write_overwrite(struct cdev *dev __unused, struct uio *uio __unused, int ioflag __unused)
+{
+ return (ENXIO);
}
static int
-enxio(void)
+dead_ioctl(struct cdev *dev __unused, u_long cmd __unused, caddr_t data __unused,
+ int fflag __unused, struct thread *td __unused)
{
return (ENXIO);
}
static int
-enodev(void)
+dead_poll_overwrite(struct cdev *dev __unused, int events __unused, struct thread *td __unused)
{
return (ENODEV);
}
-/* Define a dead_cdevsw for use when devices leave unexpectedly. */
+static int
+dead_mmap(struct cdev *dev __unused, vm_ooffset_t offset __unused, vm_paddr_t *paddr __unused,
+ int nprot __unused, vm_memattr_t *memattr __unused)
+{
+ return (ENODEV);
+}
+
+static int
+dead_kqfilter(struct cdev *dev __unused, struct knote *kn __unused)
+{
+ return (ENXIO);
+}
-#define dead_open (d_open_t *)enxio
-#define dead_close (d_close_t *)enxio
-#define dead_read (d_read_t *)enxio
-#define dead_write (d_write_t *)enxio
-#define dead_ioctl (d_ioctl_t *)enxio
-#define dead_poll (d_poll_t *)enodev
-#define dead_mmap (d_mmap_t *)enodev
+static int
+dead_mmap_single(struct cdev *cdev __unused, vm_ooffset_t *offset __unused,
+ vm_size_t size __unused, struct vm_object **object __unused,
+ int nprot __unused)
+{
+ return (ENODEV);
+}
+
+#define dead_read dead_read_overwrite
+#define dead_write dead_write_overwrite
+#define dead_poll dead_poll_overwrite
static void
dead_strategy(struct bio *bp)
@@ -300,9 +332,6 @@
biofinish(bp, NULL, ENXIO);
}
-#define dead_kqfilter (d_kqfilter_t *)enxio
-#define dead_mmap_single (d_mmap_single_t *)enodev
-
static struct cdevsw dead_cdevsw = {
.d_version = D_VERSION,
.d_open = dead_open,
@@ -320,14 +349,60 @@
/* Default methods if driver does not specify method */
-#define null_open (d_open_t *)nullop
-#define null_close (d_close_t *)nullop
-#define no_read (d_read_t *)enodev
-#define no_write (d_write_t *)enodev
-#define no_ioctl (d_ioctl_t *)enodev
-#define no_mmap (d_mmap_t *)enodev
-#define no_kqfilter (d_kqfilter_t *)enodev
-#define no_mmap_single (d_mmap_single_t *)enodev
+static int
+null_open(struct cdev *dev __unused, int oflags __unused, int devtyp __unused,
+ struct thread *td __unused)
+{
+ return (0);
+}
+
+static int
+null_close(struct cdev *dev __unused, int fflag __unused, int devtype __unused,
+ struct thread *td __unused)
+{
+ return (0);
+}
+
+static int
+no_read(struct cdev *dev __unused, struct uio *uio __unused,
+ int ioflag __unused)
+{
+ return (ENODEV);
+}
+
+static int
+no_write(struct cdev *dev __unused, struct uio *uio __unused, int ioflag __unused)
+{
+ return (ENODEV);
+}
+
+static int
+no_ioctl(struct cdev *dev __unused, u_long cmd __unused, caddr_t data __unused,
+ int fflag __unused, struct thread *td __unused)
+{
+ return (ENODEV);
+}
+
+static int
+no_mmap(struct cdev *dev __unused, vm_ooffset_t offset __unused, vm_paddr_t *paddr __unused,
+ int nprot __unused, vm_memattr_t *memattr __unused)
+{
+ return (ENODEV);
+}
+
+static int
+no_kqfilter(struct cdev *dev __unused, struct knote *kn __unused)
+{
+ return (ENODEV);
+}
+
+static int
+no_mmap_single(struct cdev *cdev __unused, vm_ooffset_t *offset __unused,
+ vm_size_t size __unused, struct vm_object **object __unused,
+ int nprot __unused)
+{
+ return (ENODEV);
+}
static void
no_strategy(struct bio *bp)
diff --git a/sys/sys/systm.h b/sys/sys/systm.h
--- a/sys/sys/systm.h
+++ b/sys/sys/systm.h
@@ -142,7 +142,6 @@
int setjmp(struct _jmp_buf *) __returns_twice;
void longjmp(struct _jmp_buf *, int) __dead2;
int dumpstatus(vm_offset_t addr, off_t count);
-int eopnotsupp(void);
int ureadc(int, struct uio *);
void hashdestroy(void *, struct malloc_type *, u_long);
void *hashinit(int count, struct malloc_type *type, u_long *hashmask);

File Metadata

Mime Type
text/plain
Expires
Sat, Jun 20, 3:32 PM (2 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34120775
Default Alt Text
D57208.diff (4 KB)

Event Timeline