We can tell if there is a d_kqfilter function because, well, it is there and not NULL. So D_KQFILTER appears to be useless.
Comments/ok? Index: arch/amd64/include/conf.h =================================================================== RCS file: /cvs/src/sys/arch/amd64/include/conf.h,v retrieving revision 1.5 diff -u -p -r1.5 conf.h --- arch/amd64/include/conf.h 21 Jul 2010 15:40:04 -0000 1.5 +++ arch/amd64/include/conf.h 4 Jul 2011 16:11:40 -0000 @@ -48,7 +48,7 @@ cdev_decl(bios); dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, selfalse, \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } cdev_decl(acpi); #define pctrpoll seltrue Index: arch/arm/include/conf.h =================================================================== RCS file: /cvs/src/sys/arch/arm/include/conf.h,v retrieving revision 1.9 diff -u -p -r1.9 conf.h --- arch/arm/include/conf.h 23 Mar 2011 16:54:34 -0000 1.9 +++ arch/arm/include/conf.h 4 Jul 2011 16:11:49 -0000 @@ -62,7 +62,7 @@ cdev_decl(fd); dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, selfalse, \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } cdev_decl(com); cdev_decl(lpt); Index: arch/i386/include/conf.h =================================================================== RCS file: /cvs/src/sys/arch/i386/include/conf.h,v retrieving revision 1.14 diff -u -p -r1.14 conf.h --- arch/i386/include/conf.h 21 Jul 2010 15:40:04 -0000 1.14 +++ arch/i386/include/conf.h 4 Jul 2011 16:11:53 -0000 @@ -53,7 +53,7 @@ cdev_decl(pc); dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, selfalse, \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } cdev_decl(spkr); Index: arch/landisk/include/conf.h =================================================================== RCS file: /cvs/src/sys/arch/landisk/include/conf.h,v retrieving revision 1.5 diff -u -p -r1.5 conf.h --- arch/landisk/include/conf.h 23 Mar 2011 16:54:35 -0000 1.5 +++ arch/landisk/include/conf.h 4 Jul 2011 16:11:56 -0000 @@ -64,7 +64,7 @@ cdev_decl(fd); dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, selfalse, \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } cdev_decl(com); cdev_decl(rtc); Index: arch/loongson/include/conf.h =================================================================== RCS file: /cvs/src/sys/arch/loongson/include/conf.h,v retrieving revision 1.2 diff -u -p -r1.2 conf.h --- arch/loongson/include/conf.h 21 Jul 2010 15:40:04 -0000 1.2 +++ arch/loongson/include/conf.h 4 Jul 2011 16:12:16 -0000 @@ -37,6 +37,6 @@ dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, selfalse, \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } cdev_decl(apm); Index: arch/macppc/include/conf.h =================================================================== RCS file: /cvs/src/sys/arch/macppc/include/conf.h,v retrieving revision 1.13 diff -u -p -r1.13 conf.h --- arch/macppc/include/conf.h 21 Jul 2010 15:40:04 -0000 1.13 +++ arch/macppc/include/conf.h 4 Jul 2011 16:12:06 -0000 @@ -41,7 +41,7 @@ cdev_decl(mm); dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, selfalse, \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } cdev_decl(apm); cdev_decl(zs); Index: arch/sparc/include/conf.h =================================================================== RCS file: /cvs/src/sys/arch/sparc/include/conf.h,v retrieving revision 1.22 diff -u -p -r1.22 conf.h --- arch/sparc/include/conf.h 21 Jul 2010 15:40:04 -0000 1.22 +++ arch/sparc/include/conf.h 4 Jul 2011 16:12:12 -0000 @@ -113,5 +113,5 @@ cdev_decl(daadio); dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, selfalse, \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } cdev_decl(apm); Index: dev/cons.c =================================================================== RCS file: /cvs/src/sys/dev/cons.c,v retrieving revision 1.22 diff -u -p -r1.22 cons.c --- dev/cons.c 2 Jul 2011 22:20:07 -0000 1.22 +++ dev/cons.c 4 Jul 2011 16:12:39 -0000 @@ -217,7 +217,7 @@ cnkqfilter(dev_t dev, struct knote *kn) return (ENXIO); else dev = cn_tab->cn_dev; - if (cdevsw[major(dev)].d_flags & D_KQFILTER) + if (cdevsw[major(dev)].d_kqfilter) return ((*cdevsw[major(dev)].d_kqfilter)(dev, kn)); return (ENXIO); } Index: miscfs/specfs/spec_vnops.c =================================================================== RCS file: /cvs/src/sys/miscfs/specfs/spec_vnops.c,v retrieving revision 1.63 diff -u -p -r1.63 spec_vnops.c --- miscfs/specfs/spec_vnops.c 4 Jul 2011 04:30:41 -0000 1.63 +++ miscfs/specfs/spec_vnops.c 4 Jul 2011 16:10:27 -0000 @@ -396,7 +396,7 @@ spec_kqfilter(void *v) dev_t dev; dev = ap->a_vp->v_rdev; - if (cdevsw[major(dev)].d_flags & D_KQFILTER) + if (cdevsw[major(dev)].d_kqfilter) return (*cdevsw[major(dev)].d_kqfilter)(dev, ap->a_kn); return (1); } Index: sys/conf.h =================================================================== RCS file: /cvs/src/sys/sys/conf.h,v retrieving revision 1.112 diff -u -p -r1.112 conf.h --- sys/conf.h 3 Jul 2011 18:11:52 -0000 1.112 +++ sys/conf.h 4 Jul 2011 16:10:47 -0000 @@ -62,7 +62,6 @@ struct knote; /* * Flags for d_flags */ -#define D_KQFILTER 0x0001 /* has kqfilter entry */ #define D_CLONE 0x0002 /* clone upon open */ #ifdef _KERNEL @@ -185,21 +184,21 @@ extern struct cdevsw cdevsw[]; dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, seltrue, (dev_type_mmap((*))) enodev, \ - D_DISK, D_KQFILTER, seltrue_kqfilter } + D_DISK, 0, seltrue_kqfilter } /* open, close, read, write, ioctl */ #define cdev_tape_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, seltrue, (dev_type_mmap((*))) enodev, \ - D_TAPE, D_KQFILTER, seltrue_kqfilter } + D_TAPE, 0, seltrue_kqfilter } /* open, close, read, write, ioctl, stop, tty */ #define cdev_tty_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), dev_init(c,n,stop), \ dev_init(c,n,tty), ttpoll, (dev_type_mmap((*))) enodev, \ - D_TTY, D_KQFILTER, ttkqfilter } + D_TTY, 0, ttkqfilter } /* open, close, read, ioctl, poll, nokqfilter */ #define cdev_mouse_init(c,n) { \ @@ -232,21 +231,21 @@ extern struct cdevsw cdevsw[]; dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), dev_init(c,n,stop), \ 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev, \ - D_TTY, D_KQFILTER, dev_init(c,n,kqfilter) } + D_TTY, 0, dev_init(c,n,kqfilter) } /* open, read, write, ioctl, poll, kqfilter -- XXX should be a tty */ #define cdev_ctty_init(c,n) { \ dev_init(c,n,open), (dev_type_close((*))) nullop, dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) nullop, \ 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev, \ - D_TTY, D_KQFILTER, ttkqfilter } + D_TTY, 0, ttkqfilter } /* open, close, read, write, ioctl, mmap */ #define cdev_mm_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, seltrue, dev_init(c,n,mmap), \ - 0, D_KQFILTER, seltrue_kqfilter } + 0, 0, seltrue_kqfilter } /* open, close, read, write, ioctl, mmap */ #define cdev_crypto_init(c,n) { \ @@ -265,7 +264,7 @@ extern struct cdevsw cdevsw[]; dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) nullop, \ dev_init(c,n,tty), dev_init(c,n,poll), (dev_type_mmap((*))) enodev, \ - D_TTY, D_KQFILTER, dev_init(c,n,kqfilter) } + D_TTY, 0, dev_init(c,n,kqfilter) } /* open, close, read, write, ioctl, mmap */ #define cdev_ptm_init(c,n) { \ @@ -278,7 +277,7 @@ extern struct cdevsw cdevsw[]; dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, dev_init(c,n,poll), \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } /* open */ #define cdev_fd_init(c,n) { \ @@ -292,7 +291,7 @@ extern struct cdevsw cdevsw[]; dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev, \ - 0, D_KQFILTER, dev_init(c,n,kqfilter) } + 0, 0, dev_init(c,n,kqfilter) } /* open, close, ioctl, poll, kqfilter -- XXX should be generic device */ #define cdev_vscsi_init(c,n) { \ @@ -300,21 +299,21 @@ extern struct cdevsw cdevsw[]; (dev_type_read((*))) enodev, (dev_type_write((*))) enodev, \ dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev, \ - 0, D_KQFILTER, dev_init(c,n,kqfilter) } + 0, 0, dev_init(c,n,kqfilter) } /* open, close, read, write, ioctl, poll, kqfilter -- XXX should be generic device */ #define cdev_pppx_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev, \ - 0, D_KQFILTER, dev_init(c,n,kqfilter) } + 0, 0, dev_init(c,n,kqfilter) } /* open, close, read, write, ioctl, poll, kqfilter, cloning -- XXX should be generic device */ #define cdev_bpf_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev, \ - 0, D_KQFILTER, dev_init(c,n,kqfilter) } + 0, 0, dev_init(c,n,kqfilter) } /* open, close, ioctl */ #define cdev_lkm_init(c,n) { \ @@ -349,14 +348,14 @@ extern struct cdevsw cdevsw[]; dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, dev_init(c,n,poll), \ - dev_init(c,n,mmap), 0, D_KQFILTER, dev_init(c,n,kqfilter) } + dev_init(c,n,mmap), 0, 0, dev_init(c,n,kqfilter) } /* open, close, read, write, ioctl, poll, kqfilter */ #define cdev_midi_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, dev_init(c,n,poll), \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } #define cdev_svr4_net_init(c,n) { \ dev_init(c,n,open), (dev_type_close((*))) enodev, \ @@ -376,21 +375,21 @@ extern struct cdevsw cdevsw[]; dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ (dev_type_write((*))) enodev, (dev_type_ioctl((*))) enodev, \ (dev_type_stop((*))) enodev, 0, seltrue, \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, seltrue_kqfilter } + (dev_type_mmap((*))) enodev, 0, 0, seltrue_kqfilter } /* open, close, read, write, ioctl, stop, tty, poll, mmap, kqfilter */ #define cdev_wsdisplay_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), dev_init(c,n,stop), \ dev_init(c,n,tty), dev_init(c,n,poll), dev_init(c,n,mmap), \ - 0, D_KQFILTER, dev_init(c,n,kqfilter) } + 0, 0, dev_init(c,n,kqfilter) } /* open, close, read, write, ioctl, poll, kqfilter */ #define cdev_random_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, seltrue, (dev_type_mmap((*))) enodev, \ - 0, D_KQFILTER, seltrue_kqfilter } + 0, 0, seltrue_kqfilter } /* open, close, ioctl, poll, nokqfilter */ #define cdev_usb_init(c,n) { \ @@ -422,7 +421,7 @@ extern struct cdevsw cdevsw[]; #define cdev_usbdev_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ - 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev, 0, D_KQFILTER, \ + 0, dev_init(c,n,poll), (dev_type_mmap((*))) enodev, 0, 0, \ dev_init(c,n,kqfilter) } /* open, close, init */ @@ -458,28 +457,28 @@ extern struct cdevsw cdevsw[]; dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, seltrue, (dev_type_mmap((*))) enodev, \ - 0, D_KQFILTER, seltrue_kqfilter } + 0, 0, seltrue_kqfilter } /* open, close, write, ioctl */ #define cdev_lpt_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \ 0, seltrue, (dev_type_mmap((*))) enodev, \ - 0, D_KQFILTER, seltrue_kqfilter } + 0, 0, seltrue_kqfilter } /* open, close, read, ioctl, mmap */ #define cdev_bktr_init(c, n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, seltrue, dev_init(c,n,mmap), \ - 0, D_KQFILTER, seltrue_kqfilter } + 0, 0, seltrue_kqfilter } /* open, close, read, ioctl, poll, kqfilter */ #define cdev_hotplug_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ (dev_type_write((*))) enodev, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, dev_init(c,n,poll), \ - (dev_type_mmap((*))) enodev, 0, D_KQFILTER, dev_init(c,n,kqfilter) } + (dev_type_mmap((*))) enodev, 0, 0, dev_init(c,n,kqfilter) } /* open, close, ioctl */ #define cdev_gpio_init(c,n) { \