On Fri, Jul 01, 2022 at 02:06:46PM +0000, Visa Hankala wrote:
> Remove unused device poll functions.
>
> This also removes unneeded includes of <sys/poll.h> and <sys/select.h>
> from the kernel. Some includes of <sys/selinfo.h> are removed as well,
> but another cleanup will come related to that header.
>
> After this, most of the remnants of the old poll machinery
> can be removed.
>
> OK?
a few more could be removed?
arch/sh/dev/scif.c:scifpoll(dev_t dev, int events, struct proc *p)
kern/tty_tty.c:cttypoll(dev_t dev, int events, struct proc *p)
sys/tty.h:int cttypoll(dev_t, int, struct proc *);
kern/sys_generic.c:seltrue(dev_t dev, int events, struct proc *p)
sys/systm.h:int seltrue(dev_t dev, int which, struct proc *);
kern/sys_generic.c:selfalse(dev_t dev, int events, struct proc *p)
sys/systm.h:int selfalse(dev_t dev, int which, struct proc *);
>
> Index: arch/macppc/dev/adb.c
> ===================================================================
> RCS file: src/sys/arch/macppc/dev/adb.c,v
> retrieving revision 1.45
> diff -u -p -r1.45 adb.c
> --- arch/macppc/dev/adb.c 13 Mar 2022 12:33:01 -0000 1.45
> +++ arch/macppc/dev/adb.c 1 Jul 2022 13:49:09 -0000
> @@ -87,8 +87,6 @@
> #include <sys/param.h>
> #include <sys/device.h>
> #include <sys/fcntl.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
> #include <sys/proc.h>
> #include <sys/signalvar.h>
> #include <sys/timeout.h>
> Index: arch/macppc/dev/akbd_machdep.c
> ===================================================================
> RCS file: src/sys/arch/macppc/dev/akbd_machdep.c,v
> retrieving revision 1.2
> diff -u -p -r1.2 akbd_machdep.c
> --- arch/macppc/dev/akbd_machdep.c 3 Sep 2019 17:51:52 -0000 1.2
> +++ arch/macppc/dev/akbd_machdep.c 1 Jul 2022 13:49:09 -0000
> @@ -36,8 +36,6 @@
> #include <sys/kernel.h>
> #include <sys/device.h>
> #include <sys/fcntl.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
> #include <sys/proc.h>
> #include <sys/signalvar.h>
> #include <sys/systm.h>
> Index: arch/sparc64/dev/vldcp.c
> ===================================================================
> RCS file: src/sys/arch/sparc64/dev/vldcp.c,v
> retrieving revision 1.22
> diff -u -p -r1.22 vldcp.c
> --- arch/sparc64/dev/vldcp.c 24 Oct 2021 17:05:04 -0000 1.22
> +++ arch/sparc64/dev/vldcp.c 1 Jul 2022 13:49:09 -0000
> @@ -19,7 +19,6 @@
> #include <sys/conf.h>
> #include <sys/device.h>
> #include <sys/malloc.h>
> -#include <sys/poll.h>
> #include <sys/proc.h>
> #include <sys/systm.h>
>
> @@ -576,49 +575,6 @@ vldcpioctl(dev_t dev, u_long cmd, caddr_
>
> device_unref(&sc->sc_dv);
> return (0);
> -}
> -
> -int
> -vldcppoll(dev_t dev, int events, struct proc *p)
> -{
> - struct vldcp_softc *sc;
> - struct ldc_conn *lc;
> - uint64_t head, tail, state;
> - int revents = 0;
> - int s, err;
> -
> - sc = vldcp_lookup(dev);
> - if (sc == NULL)
> - return (POLLERR);
> - lc = &sc->sc_lc;
> -
> - s = spltty();
> - if (events & (POLLIN | POLLRDNORM)) {
> - err = hv_ldc_rx_get_state(lc->lc_id, &head, &tail, &state);
> -
> - if (err == 0 && state == LDC_CHANNEL_UP && head != tail)
> - revents |= events & (POLLIN | POLLRDNORM);
> - }
> - if (events & (POLLOUT | POLLWRNORM)) {
> - err = hv_ldc_tx_get_state(lc->lc_id, &head, &tail, &state);
> -
> - if (err == 0 && state == LDC_CHANNEL_UP && head != tail)
> - revents |= events & (POLLOUT | POLLWRNORM);
> - }
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM)) {
> - cbus_intr_setenabled(sc->sc_bustag, sc->sc_rx_ino,
> - INTR_ENABLED);
> - selrecord(p, &sc->sc_rsel);
> - }
> - if (events & (POLLOUT | POLLWRNORM)) {
> - cbus_intr_setenabled(sc->sc_bustag, sc->sc_tx_ino,
> - INTR_ENABLED);
> - selrecord(p, &sc->sc_wsel);
> - }
> - }
> - splx(s);
> - return revents;
> }
>
> void
> Index: dev/audio.c
> ===================================================================
> RCS file: src/sys/dev/audio.c,v
> retrieving revision 1.198
> diff -u -p -r1.198 audio.c
> --- dev/audio.c 21 Mar 2022 19:22:39 -0000 1.198
> +++ dev/audio.c 1 Jul 2022 13:49:09 -0000
> @@ -19,7 +19,6 @@
> #include <sys/systm.h>
> #include <sys/ioctl.h>
> #include <sys/conf.h>
> -#include <sys/poll.h>
> #include <sys/kernel.h>
> #include <sys/task.h>
> #include <sys/vnode.h>
> @@ -2051,22 +2050,6 @@ audio_mixer_read(struct audio_softc *sc,
> }
>
> int
> -audio_mixer_poll(struct audio_softc *sc, int events, struct proc *p)
> -{
> - int revents = 0;
> -
> - mtx_enter(&audio_lock);
> - if (sc->mix_isopen && sc->mix_pending)
> - revents |= events & (POLLIN | POLLRDNORM);
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM))
> - selrecord(p, &sc->mix_sel);
> - }
> - mtx_leave(&audio_lock);
> - return revents;
> -}
> -
> -int
> audio_mixer_open(struct audio_softc *sc, int flags)
> {
> DPRINTF("%s: flags = 0x%x\n", __func__, flags);
> @@ -2099,26 +2082,6 @@ audio_mixer_close(struct audio_softc *sc
> }
>
> int
> -audio_poll(struct audio_softc *sc, int events, struct proc *p)
> -{
> - int revents = 0;
> -
> - mtx_enter(&audio_lock);
> - if ((sc->mode & AUMODE_RECORD) && sc->rec.used > 0)
> - revents |= events & (POLLIN | POLLRDNORM);
> - if ((sc->mode & AUMODE_PLAY) && sc->play.used < sc->play.len)
> - revents |= events & (POLLOUT | POLLWRNORM);
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM))
> - selrecord(p, &sc->rec.sel);
> - if (events & (POLLOUT | POLLWRNORM))
> - selrecord(p, &sc->play.sel);
> - }
> - mtx_leave(&audio_lock);
> - return revents;
> -}
> -
> -int
> audioopen(dev_t dev, int flags, int mode, struct proc *p)
> {
> struct audio_softc *sc;
> @@ -2248,30 +2211,6 @@ audioioctl(dev_t dev, u_long cmd, caddr_
> }
> device_unref(&sc->dev);
> return error;
> -}
> -
> -int
> -audiopoll(dev_t dev, int events, struct proc *p)
> -{
> - struct audio_softc *sc;
> - int revents;
> -
> - sc = (struct audio_softc *)device_lookup(&audio_cd, AUDIO_UNIT(dev));
> - if (sc == NULL)
> - return POLLERR;
> - switch (AUDIO_DEV(dev)) {
> - case AUDIO_DEV_AUDIO:
> - revents = audio_poll(sc, events, p);
> - break;
> - case AUDIO_DEV_AUDIOCTL:
> - revents = audio_mixer_poll(sc, events, p);
> - break;
> - default:
> - revents = 0;
> - break;
> - }
> - device_unref(&sc->dev);
> - return revents;
> }
>
> int
> Index: dev/cons.c
> ===================================================================
> RCS file: src/sys/dev/cons.c,v
> retrieving revision 1.29
> diff -u -p -r1.29 cons.c
> --- dev/cons.c 3 Apr 2020 08:24:52 -0000 1.29
> +++ dev/cons.c 1 Jul 2022 13:49:09 -0000
> @@ -45,7 +45,6 @@
> #include <sys/tty.h>
> #include <sys/conf.h>
> #include <sys/vnode.h>
> -#include <sys/poll.h>
>
> #include <dev/cons.h>
>
> @@ -178,26 +177,6 @@ cnioctl(dev_t dev, u_long cmd, caddr_t d
> dev = cn_tab->cn_dev;
> return ((*cdevsw[major(dev)].d_ioctl)(dev, cmd, data, flag, p));
> }
> -
> -/*ARGSUSED*/
> -int
> -cnpoll(dev_t dev, int rw, struct proc *p)
> -{
> -
> - /*
> - * Redirect the poll, if that's appropriate.
> - * I don't want to think of the possible side effects
> - * of console redirection here.
> - */
> - if (constty != NULL)
> - dev = constty->t_dev;
> - else if (cn_tab == NULL)
> - return POLLERR;
> - else
> - dev = cn_tab->cn_dev;
> - return (ttpoll(dev, rw, p));
> -}
> -
>
> int
> cnkqfilter(dev_t dev, struct knote *kn)
> Index: dev/cons.h
> ===================================================================
> RCS file: src/sys/dev/cons.h,v
> retrieving revision 1.18
> diff -u -p -r1.18 cons.h
> --- dev/cons.h 17 May 2016 23:43:47 -0000 1.18
> +++ dev/cons.h 1 Jul 2022 13:49:09 -0000
> @@ -81,7 +81,6 @@ int cnclose(dev_t, int, int, struct proc
> int cnread(dev_t, struct uio *, int);
> int cnwrite(dev_t, struct uio *, int);
> int cnioctl(dev_t, u_long, caddr_t, int, struct proc *);
> -int cnpoll(dev_t, int, struct proc *);
> int cnkqfilter(dev_t, struct knote *);
> int cngetc(void);
> void cnputc(int);
> Index: dev/hotplug.c
> ===================================================================
> RCS file: src/sys/dev/hotplug.c,v
> retrieving revision 1.21
> diff -u -p -r1.21 hotplug.c
> --- dev/hotplug.c 25 Dec 2020 12:59:52 -0000 1.21
> +++ dev/hotplug.c 1 Jul 2022 13:49:09 -0000
> @@ -25,7 +25,6 @@
> #include <sys/fcntl.h>
> #include <sys/hotplug.h>
> #include <sys/ioctl.h>
> -#include <sys/poll.h>
> #include <sys/vnode.h>
>
> #define HOTPLUG_MAXEVENTS 64
> @@ -178,21 +177,6 @@ hotplugioctl(dev_t dev, u_long cmd, cadd
> }
>
> return (0);
> -}
> -
> -int
> -hotplugpoll(dev_t dev, int events, struct proc *p)
> -{
> - int revents = 0;
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (evqueue_count > 0)
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &hotplug_sel);
> - }
> -
> - return (revents);
> }
>
> int
> Index: dev/midi.c
> ===================================================================
> RCS file: src/sys/dev/midi.c,v
> retrieving revision 1.54
> diff -u -p -r1.54 midi.c
> --- dev/midi.c 6 Apr 2022 18:59:27 -0000 1.54
> +++ dev/midi.c 1 Jul 2022 13:49:09 -0000
> @@ -21,7 +21,6 @@
> #include <sys/systm.h>
> #include <sys/ioctl.h>
> #include <sys/conf.h>
> -#include <sys/poll.h>
> #include <sys/kernel.h>
> #include <sys/timeout.h>
> #include <sys/vnode.h>
> @@ -39,7 +38,6 @@ int midiopen(dev_t, int, int, struct pro
> int midiclose(dev_t, int, int, struct proc *);
> int midiread(dev_t, struct uio *, int);
> int midiwrite(dev_t, struct uio *, int);
> -int midipoll(dev_t, int, struct proc *);
> int midikqfilter(dev_t, struct knote *);
> int midiioctl(dev_t, u_long, caddr_t, int, struct proc *);
> int midiprobe(struct device *, void *, void *);
> @@ -329,36 +327,6 @@ done_mtx:
> done:
> device_unref(&sc->dev);
> return error;
> -}
> -
> -int
> -midipoll(dev_t dev, int events, struct proc *p)
> -{
> - struct midi_softc *sc;
> - int revents;
> -
> - sc = (struct midi_softc *)device_lookup(&midi_cd, minor(dev));
> - if (sc == NULL)
> - return POLLERR;
> - revents = 0;
> - mtx_enter(&audio_lock);
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (!MIDIBUF_ISEMPTY(&sc->inbuf))
> - revents |= events & (POLLIN | POLLRDNORM);
> - }
> - if (events & (POLLOUT | POLLWRNORM)) {
> - if (!MIDIBUF_ISFULL(&sc->outbuf))
> - revents |= events & (POLLOUT | POLLWRNORM);
> - }
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM))
> - selrecord(p, &sc->inbuf.sel);
> - if (events & (POLLOUT | POLLWRNORM))
> - selrecord(p, &sc->outbuf.sel);
> - }
> - mtx_leave(&audio_lock);
> - device_unref(&sc->dev);
> - return (revents);
> }
>
> int
> Index: dev/video.c
> ===================================================================
> RCS file: src/sys/dev/video.c,v
> retrieving revision 1.56
> diff -u -p -r1.56 video.c
> --- dev/video.c 6 Apr 2022 18:59:27 -0000 1.56
> +++ dev/video.c 1 Jul 2022 13:49:09 -0000
> @@ -22,7 +22,6 @@
> #include <sys/errno.h>
> #include <sys/ioctl.h>
> #include <sys/fcntl.h>
> -#include <sys/poll.h>
> #include <sys/device.h>
> #include <sys/vnode.h>
> #include <sys/kernel.h>
> @@ -388,54 +387,6 @@ videoioctl(dev_t dev, u_long cmd, caddr_
> }
>
> return (error);
> -}
> -
> -int
> -videopoll(dev_t dev, int events, struct proc *p)
> -{
> - int unit = VIDEOUNIT(dev);
> - struct video_softc *sc;
> - int error, revents = 0;
> -
> - KERNEL_ASSERT_LOCKED();
> -
> - if (unit >= video_cd.cd_ndevs ||
> - (sc = video_cd.cd_devs[unit]) == NULL)
> - return (POLLERR);
> -
> - if (sc->sc_dying)
> - return (POLLERR);
> -
> - if ((error = video_claim(sc, p->p_p)))
> - return (error);
> -
> - DPRINTF(1, "%s: events=0x%x\n", __func__, events);
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (sc->sc_frames_ready > 0)
> - revents |= events & (POLLIN | POLLRDNORM);
> - }
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM)) {
> - /*
> - * Start the stream in read() mode if not already
> - * started. If the user wanted mmap() mode,
> - * he should have called mmap() before now.
> - */
> - if (sc->sc_vidmode == VIDMODE_NONE &&
> - sc->hw_if->start_read) {
> - error = sc->hw_if->start_read(sc->hw_hdl);
> - if (error)
> - return (POLLERR);
> - sc->sc_vidmode = VIDMODE_READ;
> - }
> - selrecord(p, &sc->sc_rsel);
> - }
> - }
> -
> - DPRINTF(1, "%s: revents=0x%x\n", __func__, revents);
> -
> - return (revents);
> }
>
> paddr_t
> Index: dev/vscsi.c
> ===================================================================
> RCS file: src/sys/dev/vscsi.c,v
> retrieving revision 1.60
> diff -u -p -r1.60 vscsi.c
> --- dev/vscsi.c 16 Apr 2022 19:19:58 -0000 1.60
> +++ dev/vscsi.c 1 Jul 2022 13:49:09 -0000
> @@ -27,7 +27,6 @@
> #include <sys/pool.h>
> #include <sys/task.h>
> #include <sys/ioctl.h>
> -#include <sys/poll.h>
> #include <sys/selinfo.h>
>
> #include <scsi/scsi_all.h>
> @@ -525,31 +524,6 @@ gone:
> device_unref(&sc->sc_dev);
>
> free(dt, M_TEMP, sizeof(*dt));
> -}
> -
> -int
> -vscsipoll(dev_t dev, int events, struct proc *p)
> -{
> - struct vscsi_softc *sc = DEV2SC(dev);
> - int revents = 0;
> -
> - if (sc == NULL)
> - return (POLLERR);
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - mtx_enter(&sc->sc_state_mtx);
> - if (!TAILQ_EMPTY(&sc->sc_ccb_i2t))
> - revents |= events & (POLLIN | POLLRDNORM);
> - mtx_leave(&sc->sc_state_mtx);
> - }
> -
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM))
> - selrecord(p, &sc->sc_sel);
> - }
> -
> - device_unref(&sc->sc_dev);
> - return (revents);
> }
>
> int
> Index: dev/fdt/exuart.c
> ===================================================================
> RCS file: src/sys/dev/fdt/exuart.c,v
> retrieving revision 1.10
> diff -u -p -r1.10 exuart.c
> --- dev/fdt/exuart.c 6 Apr 2022 18:59:28 -0000 1.10
> +++ dev/fdt/exuart.c 1 Jul 2022 13:49:09 -0000
> @@ -26,7 +26,6 @@
> #include <sys/syslog.h>
> #include <sys/conf.h>
> #include <sys/fcntl.h>
> -#include <sys/select.h>
> #include <sys/kernel.h>
>
> #include <machine/bus.h>
> Index: dev/fdt/imxuart.c
> ===================================================================
> RCS file: src/sys/dev/fdt/imxuart.c,v
> retrieving revision 1.12
> diff -u -p -r1.12 imxuart.c
> --- dev/fdt/imxuart.c 24 Oct 2021 17:52:26 -0000 1.12
> +++ dev/fdt/imxuart.c 1 Jul 2022 13:49:09 -0000
> @@ -26,7 +26,6 @@
> #include <sys/syslog.h>
> #include <sys/conf.h>
> #include <sys/fcntl.h>
> -#include <sys/select.h>
> #include <sys/kernel.h>
>
> #include <machine/bus.h>
> Index: dev/gpio/gpiodcf.c
> ===================================================================
> RCS file: src/sys/dev/gpio/gpiodcf.c,v
> retrieving revision 1.9
> diff -u -p -r1.9 gpiodcf.c
> --- dev/gpio/gpiodcf.c 24 Jun 2020 22:03:41 -0000 1.9
> +++ dev/gpio/gpiodcf.c 1 Jul 2022 13:49:09 -0000
> @@ -20,11 +20,9 @@
> #include <sys/systm.h>
> #include <sys/kernel.h>
> #include <sys/conf.h>
> -#include <sys/select.h>
> #include <sys/proc.h>
> #include <sys/vnode.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
> #include <sys/time.h>
> #include <sys/sensors.h>
> #include <sys/gpio.h>
> Index: dev/ic/pluart.c
> ===================================================================
> RCS file: src/sys/dev/ic/pluart.c,v
> retrieving revision 1.13
> diff -u -p -r1.13 pluart.c
> --- dev/ic/pluart.c 28 Jun 2022 16:28:08 -0000 1.13
> +++ dev/ic/pluart.c 1 Jul 2022 13:49:09 -0000
> @@ -27,7 +27,6 @@
> #include <sys/syslog.h>
> #include <sys/conf.h>
> #include <sys/fcntl.h>
> -#include <sys/select.h>
> #include <sys/kernel.h>
>
> #include <machine/bus.h>
> Index: dev/pci/bktr/bktr_os.c
> ===================================================================
> RCS file: src/sys/dev/pci/bktr/bktr_os.c,v
> retrieving revision 1.36
> diff -u -p -r1.36 bktr_os.c
> --- dev/pci/bktr/bktr_os.c 21 Mar 2022 19:22:41 -0000 1.36
> +++ dev/pci/bktr/bktr_os.c 1 Jul 2022 13:49:09 -0000
> @@ -60,8 +60,6 @@
> #include <sys/kernel.h>
> #include <sys/signalvar.h>
> #include <sys/mman.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
> #include <sys/vnode.h>
> #if NRADIO > 0
> #include <sys/radioio.h>
> Index: dev/pci/drm/drm_drv.c
> ===================================================================
> RCS file: src/sys/dev/pci/drm/drm_drv.c,v
> retrieving revision 1.184
> diff -u -p -r1.184 drm_drv.c
> --- dev/pci/drm/drm_drv.c 11 Mar 2022 18:00:53 -0000 1.184
> +++ dev/pci/drm/drm_drv.c 1 Jul 2022 13:49:09 -0000
> @@ -28,7 +28,6 @@
>
> #include <sys/param.h>
> #include <sys/fcntl.h>
> -#include <sys/poll.h>
> #include <sys/specdev.h>
> #include <sys/vnode.h>
>
> @@ -1862,34 +1861,6 @@ out:
> mtx_leave(&dev->event_lock);
>
> return (gotone);
> -}
> -
> -int
> -drmpoll(dev_t kdev, int events, struct proc *p)
> -{
> - struct drm_device *dev = drm_get_device_from_kdev(kdev);
> - struct drm_file *file_priv;
> - int revents = 0;
> -
> - if (dev == NULL)
> - return (POLLERR);
> -
> - mutex_lock(&dev->filelist_mutex);
> - file_priv = drm_find_file_by_minor(dev, minor(kdev));
> - mutex_unlock(&dev->filelist_mutex);
> - if (file_priv == NULL)
> - return (POLLERR);
> -
> - mtx_enter(&dev->event_lock);
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (!list_empty(&file_priv->event_list))
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &file_priv->rsel);
> - }
> - mtx_leave(&dev->event_lock);
> -
> - return (revents);
> }
>
> paddr_t
> Index: dev/sbus/magma.c
> ===================================================================
> RCS file: src/sys/dev/sbus/magma.c,v
> retrieving revision 1.34
> diff -u -p -r1.34 magma.c
> --- dev/sbus/magma.c 13 Mar 2022 13:34:54 -0000 1.34
> +++ dev/sbus/magma.c 1 Jul 2022 13:49:10 -0000
> @@ -1340,7 +1340,6 @@ mtty_param(struct tty *tp, struct termio
> * mbppread read from mbpp
> * mbppwrite write to mbpp
> * mbppioctl do ioctl on mbpp
> - * mbpppoll do poll on mbpp
> * mbppkqfilter kqueue on mbpp
> * mbpp_rw general rw routine
> * mbpp_timeout rw timeout
> @@ -1506,15 +1505,6 @@ mbppioctl(dev_t dev, u_long cmd, caddr_t
> }
>
> return (error);
> -}
> -
> -/*
> - * poll routine
> - */
> -int
> -mbpppoll(dev_t dev, int events, struct proc *p)
> -{
> - return (seltrue(dev, events, p));
> }
>
> int
> Index: dev/sbus/spif.c
> ===================================================================
> RCS file: src/sys/dev/sbus/spif.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 spif.c
> --- dev/sbus/spif.c 13 Mar 2022 13:34:54 -0000 1.26
> +++ dev/sbus/spif.c 1 Jul 2022 13:49:10 -0000
> @@ -90,7 +90,6 @@ int sbppread(dev_t, struct uio *, int);
> int sbppwrite(dev_t, struct uio *, int);
> int sbpp_rw(dev_t, struct uio *);
> int spifppcintr(void *);
> -int sbpppoll(dev_t, int, struct proc *);
> int sbppkqfilter(dev_t, struct knote *);
> int sbppioctl(dev_t, u_long, caddr_t, int, struct proc *);
>
> @@ -1040,11 +1039,6 @@ sbpp_rw(dev_t dev, struct uio *uio)
> return (ENXIO);
> }
>
> -int
> -sbpppoll(dev_t dev, int events, struct proc *p)
> -{
> - return (seltrue(dev, events, p));
> -}
> int
> sbppkqfilter(dev_t dev, struct knote *kn)
> {
> Index: dev/usb/fido.c
> ===================================================================
> RCS file: src/sys/dev/usb/fido.c,v
> retrieving revision 1.4
> diff -u -p -r1.4 fido.c
> --- dev/usb/fido.c 15 Nov 2021 15:36:24 -0000 1.4
> +++ dev/usb/fido.c 1 Jul 2022 13:49:10 -0000
> @@ -27,10 +27,8 @@
> #include <sys/ioctl.h>
> #include <sys/conf.h>
> #include <sys/tty.h>
> -#include <sys/selinfo.h>
> #include <sys/proc.h>
> #include <sys/vnode.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbhid.h>
> Index: dev/usb/ubsa.c
> ===================================================================
> RCS file: src/sys/dev/usb/ubsa.c,v
> retrieving revision 1.68
> diff -u -p -r1.68 ubsa.c
> --- dev/usb/ubsa.c 9 Apr 2022 20:07:44 -0000 1.68
> +++ dev/usb/ubsa.c 1 Jul 2022 13:49:10 -0000
> @@ -63,8 +63,6 @@
> #include <sys/fcntl.h>
> #include <sys/conf.h>
> #include <sys/tty.h>
> -#include <sys/selinfo.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbcdc.h>
> Index: dev/usb/ucom.c
> ===================================================================
> RCS file: src/sys/dev/usb/ucom.c,v
> retrieving revision 1.73
> diff -u -p -r1.73 ucom.c
> --- dev/usb/ucom.c 27 Jun 2022 13:14:49 -0000 1.73
> +++ dev/usb/ucom.c 1 Jul 2022 13:49:10 -0000
> @@ -42,10 +42,8 @@
> #include <sys/conf.h>
> #include <sys/tty.h>
> #include <sys/fcntl.h>
> -#include <sys/selinfo.h>
> #include <sys/vnode.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
>
> Index: dev/usb/udcf.c
> ===================================================================
> RCS file: src/sys/dev/usb/udcf.c,v
> retrieving revision 1.64
> diff -u -p -r1.64 udcf.c
> --- dev/usb/udcf.c 24 Jun 2020 22:03:41 -0000 1.64
> +++ dev/usb/udcf.c 1 Jul 2022 13:49:10 -0000
> @@ -19,9 +19,7 @@
> #include <sys/param.h>
> #include <sys/systm.h>
> #include <sys/kernel.h>
> -#include <sys/select.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
> #include <sys/time.h>
> #include <sys/sensors.h>
> #include <sys/timeout.h>
> Index: dev/usb/ugen.c
> ===================================================================
> RCS file: src/sys/dev/usb/ugen.c,v
> retrieving revision 1.115
> diff -u -p -r1.115 ugen.c
> --- dev/usb/ugen.c 5 Feb 2021 08:17:22 -0000 1.115
> +++ dev/usb/ugen.c 1 Jul 2022 13:49:10 -0000
> @@ -44,7 +44,6 @@
> #include <sys/fcntl.h>
> #include <sys/selinfo.h>
> #include <sys/vnode.h>
> -#include <sys/poll.h>
>
> #include <machine/bus.h>
>
> @@ -1243,67 +1242,6 @@ ugenioctl(dev_t dev, u_long cmd, caddr_t
> if (--sc->sc_refcnt < 0)
> usb_detach_wakeup(&sc->sc_dev);
> return (error);
> -}
> -
> -int
> -ugenpoll(dev_t dev, int events, struct proc *p)
> -{
> - struct ugen_softc *sc;
> - struct ugen_endpoint *sce;
> - int revents = 0;
> - int s;
> -
> - sc = ugen_cd.cd_devs[UGENUNIT(dev)];
> -
> - if (usbd_is_dying(sc->sc_udev))
> - return (POLLERR);
> -
> - /* XXX always IN */
> - sce = &sc->sc_endpoints[UGENENDPOINT(dev)][IN];
> - if (sce == NULL)
> - return (POLLERR);
> -#ifdef DIAGNOSTIC
> - if (!sce->edesc) {
> - printf("ugenpoll: no edesc\n");
> - return (POLLERR);
> - }
> - if (!sce->pipeh) {
> - printf("ugenpoll: no pipe\n");
> - return (POLLERR);
> - }
> -#endif
> - s = splusb();
> - switch (UE_GET_XFERTYPE(sce->edesc->bmAttributes)) {
> - case UE_INTERRUPT:
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (sce->q.c_cc > 0)
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &sce->rsel);
> - }
> - break;
> - case UE_ISOCHRONOUS:
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (sce->cur != sce->fill)
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &sce->rsel);
> - }
> - break;
> - case UE_BULK:
> - /*
> - * We have no easy way of determining if a read will
> - * yield any data or a write will happen.
> - * Pretend they will.
> - */
> - revents |= events &
> - (POLLIN | POLLRDNORM | POLLOUT | POLLWRNORM);
> - break;
> - default:
> - break;
> - }
> - splx(s);
> - return (revents);
> }
>
> void filt_ugenrdetach(struct knote *);
> Index: dev/usb/uhid.c
> ===================================================================
> RCS file: src/sys/dev/usb/uhid.c,v
> retrieving revision 1.88
> diff -u -p -r1.88 uhid.c
> --- dev/usb/uhid.c 15 Nov 2021 15:36:24 -0000 1.88
> +++ dev/usb/uhid.c 1 Jul 2022 13:49:10 -0000
> @@ -50,7 +50,6 @@
> #include <sys/selinfo.h>
> #include <sys/proc.h>
> #include <sys/vnode.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbhid.h>
> @@ -412,33 +411,6 @@ uhidioctl(dev_t dev, u_long cmd, caddr_t
> if (--sc->sc_refcnt < 0)
> usb_detach_wakeup(&sc->sc_hdev.sc_dev);
> return (error);
> -}
> -
> -int
> -uhidpoll(dev_t dev, int events, struct proc *p)
> -{
> - struct uhid_softc *sc;
> - int revents = 0;
> - int s;
> -
> - if ((sc = uhid_lookup(dev)) == NULL)
> - return (POLLERR);
> -
> - if (usbd_is_dying(sc->sc_hdev.sc_udev))
> - return (POLLHUP);
> -
> - s = splusb();
> - if (events & (POLLOUT | POLLWRNORM))
> - revents |= events & (POLLOUT | POLLWRNORM);
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (sc->sc_q.c_cc > 0)
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &sc->sc_rsel);
> - }
> -
> - splx(s);
> - return (revents);
> }
>
> void filt_uhidrdetach(struct knote *);
> Index: dev/usb/ujoy.c
> ===================================================================
> RCS file: src/sys/dev/usb/ujoy.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 ujoy.c
> --- dev/usb/ujoy.c 15 Nov 2021 15:36:24 -0000 1.3
> +++ dev/usb/ujoy.c 1 Jul 2022 13:49:10 -0000
> @@ -26,10 +26,8 @@
> #include <sys/ioctl.h>
> #include <sys/conf.h>
> #include <sys/tty.h>
> -#include <sys/selinfo.h>
> #include <sys/proc.h>
> #include <sys/vnode.h>
> -#include <sys/poll.h>
> #include <sys/fcntl.h>
>
> #include <dev/usb/usb.h>
> Index: dev/usb/umbg.c
> ===================================================================
> RCS file: src/sys/dev/usb/umbg.c,v
> retrieving revision 1.27
> diff -u -p -r1.27 umbg.c
> --- dev/usb/umbg.c 31 Jul 2020 10:49:33 -0000 1.27
> +++ dev/usb/umbg.c 1 Jul 2022 13:49:10 -0000
> @@ -20,9 +20,7 @@
> #include <sys/systm.h>
> #include <sys/kernel.h>
> #include <sys/conf.h>
> -#include <sys/select.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
> #include <sys/time.h>
> #include <sys/sensors.h>
> #include <sys/timeout.h>
> Index: dev/usb/umct.c
> ===================================================================
> RCS file: src/sys/dev/usb/umct.c,v
> retrieving revision 1.49
> diff -u -p -r1.49 umct.c
> --- dev/usb/umct.c 9 Apr 2022 20:07:44 -0000 1.49
> +++ dev/usb/umct.c 1 Jul 2022 13:49:10 -0000
> @@ -42,9 +42,7 @@
> #include <sys/ioctl.h>
> #include <sys/conf.h>
> #include <sys/tty.h>
> -#include <sys/selinfo.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbcdc.h>
> Index: dev/usb/umidi.c
> ===================================================================
> RCS file: src/sys/dev/usb/umidi.c,v
> retrieving revision 1.55
> diff -u -p -r1.55 umidi.c
> --- dev/usb/umidi.c 21 Mar 2022 19:22:42 -0000 1.55
> +++ dev/usb/umidi.c 1 Jul 2022 13:49:10 -0000
> @@ -37,8 +37,6 @@
> #include <sys/ioctl.h>
> #include <sys/conf.h>
> #include <sys/fcntl.h>
> -#include <sys/selinfo.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbdi.h>
> Index: dev/usb/umidi_quirks.c
> ===================================================================
> RCS file: src/sys/dev/usb/umidi_quirks.c,v
> retrieving revision 1.16
> diff -u -p -r1.16 umidi_quirks.c
> --- dev/usb/umidi_quirks.c 18 Jan 2018 18:09:38 -0000 1.16
> +++ dev/usb/umidi_quirks.c 1 Jul 2022 13:49:10 -0000
> @@ -36,8 +36,6 @@
> #include <sys/device.h>
> #include <sys/ioctl.h>
> #include <sys/conf.h>
> -#include <sys/selinfo.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbdi.h>
> Index: dev/usb/umodem.c
> ===================================================================
> RCS file: src/sys/dev/usb/umodem.c,v
> retrieving revision 1.68
> diff -u -p -r1.68 umodem.c
> --- dev/usb/umodem.c 9 Apr 2022 20:07:44 -0000 1.68
> +++ dev/usb/umodem.c 1 Jul 2022 13:49:10 -0000
> @@ -49,9 +49,7 @@
> #include <sys/kernel.h>
> #include <sys/conf.h>
> #include <sys/tty.h>
> -#include <sys/selinfo.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbcdc.h>
> Index: dev/usb/uplcom.c
> ===================================================================
> RCS file: src/sys/dev/usb/uplcom.c,v
> retrieving revision 1.79
> diff -u -p -r1.79 uplcom.c
> --- dev/usb/uplcom.c 9 Apr 2022 20:07:44 -0000 1.79
> +++ dev/usb/uplcom.c 1 Jul 2022 13:49:10 -0000
> @@ -44,9 +44,7 @@
> #include <sys/ioctl.h>
> #include <sys/conf.h>
> #include <sys/tty.h>
> -#include <sys/selinfo.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbcdc.h>
> Index: dev/usb/usb.c
> ===================================================================
> RCS file: src/sys/dev/usb/usb.c,v
> retrieving revision 1.129
> diff -u -p -r1.129 usb.c
> --- dev/usb/usb.c 9 Jan 2022 05:43:02 -0000 1.129
> +++ dev/usb/usb.c 1 Jul 2022 13:49:10 -0000
> @@ -49,8 +49,6 @@
> #include <sys/kthread.h>
> #include <sys/conf.h>
> #include <sys/fcntl.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
> #include <sys/signalvar.h>
> #include <sys/time.h>
> #include <sys/rwlock.h>
> Index: dev/usb/uvideo.c
> ===================================================================
> RCS file: src/sys/dev/usb/uvideo.c,v
> retrieving revision 1.216
> diff -u -p -r1.216 uvideo.c
> --- dev/usb/uvideo.c 21 Mar 2022 19:22:42 -0000 1.216
> +++ dev/usb/uvideo.c 1 Jul 2022 13:49:10 -0000
> @@ -25,10 +25,8 @@
> #include <sys/ioctl.h>
> #include <sys/tty.h>
> #include <sys/fcntl.h>
> -#include <sys/selinfo.h>
> #include <sys/lock.h>
> #include <sys/stat.h>
> -#include <sys/poll.h>
> #include <sys/timeout.h>
> #include <sys/kthread.h>
> #include <sys/stdint.h>
> Index: dev/usb/uvscom.c
> ===================================================================
> RCS file: src/sys/dev/usb/uvscom.c,v
> retrieving revision 1.41
> diff -u -p -r1.41 uvscom.c
> --- dev/usb/uvscom.c 9 Apr 2022 20:07:44 -0000 1.41
> +++ dev/usb/uvscom.c 1 Jul 2022 13:49:10 -0000
> @@ -44,7 +44,6 @@
> #include <sys/tty.h>
> #include <sys/ioctl.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
>
> #include <dev/usb/usb.h>
> #include <dev/usb/usbcdc.h>
> Index: dev/usb/dwc2/dwc2.c
> ===================================================================
> RCS file: src/sys/dev/usb/dwc2/dwc2.c,v
> retrieving revision 1.61
> diff -u -p -r1.61 dwc2.c
> --- dev/usb/dwc2/dwc2.c 1 May 2022 10:28:54 -0000 1.61
> +++ dev/usb/dwc2/dwc2.c 1 Jul 2022 13:49:10 -0000
> @@ -35,7 +35,6 @@
> #include <sys/malloc.h>
> #include <sys/kernel.h>
> #include <sys/device.h>
> -#include <sys/select.h>
> #include <sys/proc.h>
> #include <sys/queue.h>
> #include <sys/endian.h>
> Index: dev/wscons/wsdisplay.c
> ===================================================================
> RCS file: src/sys/dev/wscons/wsdisplay.c,v
> retrieving revision 1.145
> diff -u -p -r1.145 wsdisplay.c
> --- dev/wscons/wsdisplay.c 20 Jun 2022 16:28:42 -0000 1.145
> +++ dev/wscons/wsdisplay.c 1 Jul 2022 13:49:10 -0000
> @@ -45,7 +45,6 @@
> #include <sys/fcntl.h>
> #include <sys/vnode.h>
> #include <sys/timeout.h>
> -#include <sys/poll.h>
>
> #include <dev/wscons/wscons_features.h>
> #include <dev/wscons/wsconsio.h>
> @@ -1404,24 +1403,6 @@ wsdisplaymmap(dev_t dev, off_t offset, i
>
> /* pass mmap to display */
> return ((*sc->sc_accessops->mmap)(sc->sc_accesscookie, offset, prot));
> -}
> -
> -int
> -wsdisplaypoll(dev_t dev, int events, struct proc *p)
> -{
> - struct wsdisplay_softc *sc = wsdisplay_cd.cd_devs[WSDISPLAYUNIT(dev)];
> - struct wsscreen *scr;
> -
> - if (ISWSDISPLAYCTL(dev))
> - return (0);
> -
> - if ((scr = sc->sc_scr[WSDISPLAYSCREEN(dev)]) == NULL)
> - return (POLLERR);
> -
> - if (!WSSCREEN_HAS_TTY(scr))
> - return (POLLERR);
> -
> - return (ttpoll(dev, events, p));
> }
>
> int
> Index: dev/wscons/wsevent.c
> ===================================================================
> RCS file: src/sys/dev/wscons/wsevent.c,v
> retrieving revision 1.25
> diff -u -p -r1.25 wsevent.c
> --- dev/wscons/wsevent.c 25 Dec 2020 12:59:52 -0000 1.25
> +++ dev/wscons/wsevent.c 1 Jul 2022 13:49:10 -0000
> @@ -79,8 +79,6 @@
> #include <sys/malloc.h>
> #include <sys/systm.h>
> #include <sys/vnode.h>
> -#include <sys/selinfo.h>
> -#include <sys/poll.h>
>
> #include <dev/wscons/wsconsio.h>
> #include <dev/wscons/wseventvar.h>
> @@ -140,7 +138,7 @@ wsevent_fini(struct wseventvar *ev)
> }
>
> /*
> - * User-level interface: read, poll.
> + * User-level interface: read, kqueue.
> * (User cannot write an event queue.)
> */
> int
> @@ -198,23 +196,6 @@ wsevent_read(struct wseventvar *ev, stru
> cnt * sizeof(struct wscons_event), uio);
> ev->get = cnt;
> return (error);
> -}
> -
> -int
> -wsevent_poll(struct wseventvar *ev, int events, struct proc *p)
> -{
> - int revents = 0;
> - int s = splwsevent();
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (ev->get != ev->put)
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &ev->sel);
> - }
> -
> - splx(s);
> - return (revents);
> }
>
> int
> Index: dev/wscons/wseventvar.h
> ===================================================================
> RCS file: src/sys/dev/wscons/wseventvar.h,v
> retrieving revision 1.10
> diff -u -p -r1.10 wseventvar.h
> --- dev/wscons/wseventvar.h 22 May 2019 18:52:14 -0000 1.10
> +++ dev/wscons/wseventvar.h 1 Jul 2022 13:49:10 -0000
> @@ -107,7 +107,6 @@ struct wseventvar {
> int wsevent_init(struct wseventvar *);
> void wsevent_fini(struct wseventvar *);
> int wsevent_read(struct wseventvar *, struct uio *, int);
> -int wsevent_poll(struct wseventvar *, int, struct proc *);
> int wsevent_kqfilter(struct wseventvar *, struct knote *);
>
> /*
> Index: dev/wscons/wskbd.c
> ===================================================================
> RCS file: src/sys/dev/wscons/wskbd.c,v
> retrieving revision 1.112
> diff -u -p -r1.112 wskbd.c
> --- dev/wscons/wskbd.c 6 Apr 2022 18:59:30 -0000 1.112
> +++ dev/wscons/wskbd.c 1 Jul 2022 13:49:10 -0000
> @@ -94,7 +94,6 @@
> #include <sys/errno.h>
> #include <sys/fcntl.h>
> #include <sys/vnode.h>
> -#include <sys/poll.h>
>
> #include <ddb/db_var.h>
>
> @@ -1254,16 +1253,6 @@ getkeyrepeat:
> }
> #endif
> return (error);
> -}
> -
> -int
> -wskbdpoll(dev_t dev, int events, struct proc *p)
> -{
> - struct wskbd_softc *sc = wskbd_cd.cd_devs[minor(dev)];
> -
> - if (sc->sc_base.me_evp == NULL)
> - return (POLLERR);
> - return (wsevent_poll(sc->sc_base.me_evp, events, p));
> }
>
> int
> Index: dev/wscons/wsmouse.c
> ===================================================================
> RCS file: src/sys/dev/wscons/wsmouse.c,v
> retrieving revision 1.68
> diff -u -p -r1.68 wsmouse.c
> --- dev/wscons/wsmouse.c 6 Apr 2022 18:59:30 -0000 1.68
> +++ dev/wscons/wsmouse.c 1 Jul 2022 13:49:11 -0000
> @@ -103,7 +103,6 @@
> #include <sys/signalvar.h>
> #include <sys/device.h>
> #include <sys/vnode.h>
> -#include <sys/poll.h>
> #include <sys/malloc.h>
>
> #include <dev/wscons/wscons_features.h>
> @@ -531,16 +530,6 @@ wsmouse_do_ioctl(struct wsmouse_softc *s
> error = (*sc->sc_accessops->ioctl)(sc->sc_accesscookie, cmd,
> data, flag, p);
> return (error != -1 ? error : ENOTTY);
> -}
> -
> -int
> -wsmousepoll(dev_t dev, int events, struct proc *p)
> -{
> - struct wsmouse_softc *sc = wsmouse_cd.cd_devs[minor(dev)];
> -
> - if (sc->sc_base.me_evp == NULL)
> - return (POLLERR);
> - return (wsevent_poll(sc->sc_base.me_evp, events, p));
> }
>
> int
> Index: dev/wscons/wsmux.c
> ===================================================================
> RCS file: src/sys/dev/wscons/wsmux.c,v
> retrieving revision 1.55
> diff -u -p -r1.55 wsmux.c
> --- dev/wscons/wsmux.c 22 Sep 2021 15:44:12 -0000 1.55
> +++ dev/wscons/wsmux.c 1 Jul 2022 13:49:11 -0000
> @@ -55,7 +55,6 @@
> #include <sys/tty.h>
> #include <sys/signalvar.h>
> #include <sys/device.h>
> -#include <sys/poll.h>
>
> #include <dev/wscons/wsconsio.h>
> #include <dev/wscons/wsksymdef.h>
> @@ -559,24 +558,6 @@ wsmux_do_ioctl(struct device *dv, u_long
> error = 0;
>
> return (error);
> -}
> -
> -/*
> - * poll() of the pseudo device from device table.
> - */
> -int
> -wsmuxpoll(dev_t dev, int events, struct proc *p)
> -{
> - struct wsmux_softc *sc = wsmuxdevs[minor(dev)];
> -
> - if (sc->sc_base.me_evp == NULL) {
> -#ifdef DIAGNOSTIC
> - printf("wsmuxpoll: not open\n");
> -#endif
> - return (POLLERR);
> - }
> -
> - return (wsevent_poll(sc->sc_base.me_evp, events, p));
> }
>
> int
> Index: kern/subr_log.c
> ===================================================================
> RCS file: src/sys/kern/subr_log.c,v
> retrieving revision 1.74
> diff -u -p -r1.74 subr_log.c
> --- kern/subr_log.c 18 Mar 2021 08:43:38 -0000 1.74
> +++ kern/subr_log.c 1 Jul 2022 13:49:11 -0000
> @@ -46,7 +46,6 @@
> #include <sys/tty.h>
> #include <sys/signalvar.h>
> #include <sys/syslog.h>
> -#include <sys/poll.h>
> #include <sys/malloc.h>
> #include <sys/filedesc.h>
> #include <sys/socket.h>
> @@ -297,22 +296,6 @@ logread(dev_t dev, struct uio *uio, int
> out:
> mtx_leave(&log_mtx);
> return (error);
> -}
> -
> -int
> -logpoll(dev_t dev, int events, struct proc *p)
> -{
> - int revents = 0;
> -
> - mtx_enter(&log_mtx);
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (msgbufp->msg_bufr != msgbufp->msg_bufx)
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &logsoftc.sc_selp);
> - }
> - mtx_leave(&log_mtx);
> - return (revents);
> }
>
> int
> Index: kern/tty.c
> ===================================================================
> RCS file: src/sys/kern/tty.c,v
> retrieving revision 1.174
> diff -u -p -r1.174 tty.c
> --- kern/tty.c 15 Feb 2022 03:53:58 -0000 1.174
> +++ kern/tty.c 1 Jul 2022 13:49:11 -0000
> @@ -57,7 +57,6 @@
> #include <sys/resourcevar.h>
> #include <sys/sysctl.h>
> #include <sys/pool.h>
> -#include <sys/poll.h>
> #include <sys/unistd.h>
> #include <sys/pledge.h>
>
> @@ -1056,38 +1055,6 @@ ttioctl(struct tty *tp, u_long cmd, cadd
> return (-1);
> }
> return (0);
> -}
> -
> -int
> -ttpoll(dev_t device, int events, struct proc *p)
> -{
> - struct tty *tp;
> - int revents, s;
> -
> - tp = (*cdevsw[major(device)].d_tty)(device);
> -
> - revents = 0;
> - s = spltty();
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (ttnread(tp) > 0 || (!ISSET(tp->t_cflag, CLOCAL) &&
> - !ISSET(tp->t_state, TS_CARR_ON)))
> - revents |= events & (POLLIN | POLLRDNORM);
> - }
> - /* NOTE: POLLHUP and POLLOUT/POLLWRNORM are mutually exclusive */
> - if (!ISSET(tp->t_cflag, CLOCAL) && !ISSET(tp->t_state, TS_CARR_ON)) {
> - revents |= POLLHUP;
> - } else if (events & (POLLOUT | POLLWRNORM)) {
> - if (tp->t_outq.c_cc <= tp->t_lowat)
> - revents |= events & (POLLOUT | POLLWRNORM);
> - }
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM))
> - selrecord(p, &tp->t_rsel);
> - if (events & (POLLOUT | POLLWRNORM))
> - selrecord(p, &tp->t_wsel);
> - }
> - splx(s);
> - return (revents);
> }
>
> const struct filterops ttyread_filtops = {
> Index: kern/tty_pty.c
> ===================================================================
> RCS file: src/sys/kern/tty_pty.c,v
> retrieving revision 1.112
> diff -u -p -r1.112 tty_pty.c
> --- kern/tty_pty.c 15 Dec 2021 15:30:47 -0000 1.112
> +++ kern/tty_pty.c 1 Jul 2022 13:49:11 -0000
> @@ -55,7 +55,6 @@
> #include <sys/conf.h>
> #include <sys/stat.h>
> #include <sys/sysctl.h>
> -#include <sys/poll.h>
> #include <sys/pledge.h>
> #include <sys/rwlock.h>
>
> @@ -600,55 +599,6 @@ done:
> if (bufcc)
> explicit_bzero(buf, bufcc);
> return (error);
> -}
> -
> -int
> -ptcpoll(dev_t dev, int events, struct proc *p)
> -{
> - struct pt_softc *pti = pt_softc[minor(dev)];
> - struct tty *tp = pti->pt_tty;
> - int revents = 0, s;
> -
> - if (!ISSET(tp->t_state, TS_ISOPEN) && ISSET(tp->t_state, TS_CARR_ON))
> - goto notopen;
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - /*
> - * Need to protect access to t_outq
> - */
> - s = spltty();
> - if ((tp->t_outq.c_cc && !ISSET(tp->t_state, TS_TTSTOP)) ||
> - ((pti->pt_flags & PF_PKT) && pti->pt_send) ||
> - ((pti->pt_flags & PF_UCNTL) && pti->pt_ucntl))
> - revents |= events & (POLLIN | POLLRDNORM);
> - splx(s);
> - }
> - /* NOTE: POLLHUP and POLLOUT/POLLWRNORM are mutually exclusive */
> - if (!ISSET(tp->t_state, TS_CARR_ON)) {
> - revents |= POLLHUP;
> - } else if (events & (POLLOUT | POLLWRNORM)) {
> - if ((pti->pt_flags & PF_REMOTE) ?
> - (tp->t_canq.c_cc == 0) :
> - ((tp->t_rawq.c_cc + tp->t_canq.c_cc < TTYHOG(tp) - 2) ||
> - (tp->t_canq.c_cc == 0 && ISSET(tp->t_lflag, ICANON))))
> - revents |= events & (POLLOUT | POLLWRNORM);
> - }
> - if (events & (POLLPRI | POLLRDBAND)) {
> - /* If in packet or user control mode, check for data. */
> - if (((pti->pt_flags & PF_PKT) && pti->pt_send) ||
> - ((pti->pt_flags & PF_UCNTL) && pti->pt_ucntl))
> - revents |= events & (POLLPRI | POLLRDBAND);
> - }
> -
> - if (revents == 0) {
> -notopen:
> - if (events & (POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND))
> - selrecord(p, &pti->pt_selr);
> - if (events & (POLLOUT | POLLWRNORM))
> - selrecord(p, &pti->pt_selw);
> - }
> -
> - return (revents);
> }
>
> void
> Index: miscfs/fuse/fuse_device.c
> ===================================================================
> RCS file: src/sys/miscfs/fuse/fuse_device.c,v
> retrieving revision 1.36
> diff -u -p -r1.36 fuse_device.c
> --- miscfs/fuse/fuse_device.c 11 Mar 2021 13:31:35 -0000 1.36
> +++ miscfs/fuse/fuse_device.c 1 Jul 2022 13:49:11 -0000
> @@ -21,7 +21,6 @@
> #include <sys/ioctl.h>
> #include <sys/malloc.h>
> #include <sys/mount.h>
> -#include <sys/poll.h>
> #include <sys/stat.h>
> #include <sys/statvfs.h>
> #include <sys/vnode.h>
> @@ -64,7 +63,6 @@ int fuseclose(dev_t, int, int, struct pr
> int fuseioctl(dev_t, u_long, caddr_t, int, struct proc *);
> int fuseread(dev_t, struct uio *, int);
> int fusewrite(dev_t, struct uio *, int);
> -int fusepoll(dev_t, int, struct proc *);
> int fusekqfilter(dev_t dev, struct knote *kn);
> int filt_fuse_read(struct knote *, long);
> void filt_fuse_rdetach(struct knote *);
> @@ -506,30 +504,6 @@ end:
> }
>
> return (error);
> -}
> -
> -int
> -fusepoll(dev_t dev, int events, struct proc *p)
> -{
> - struct fuse_d *fd;
> - int revents = 0;
> -
> - fd = fuse_lookup(minor(dev));
> - if (fd == NULL)
> - return (POLLERR);
> -
> - if (events & (POLLIN | POLLRDNORM))
> - if (!SIMPLEQ_EMPTY(&fd->fd_fbufs_in))
> - revents |= events & (POLLIN | POLLRDNORM);
> -
> - if (events & (POLLOUT | POLLWRNORM))
> - revents |= events & (POLLOUT | POLLWRNORM);
> -
> - if (revents == 0)
> - if (events & (POLLIN | POLLRDNORM))
> - selrecord(p, &fd->fd_rsel);
> -
> - return (revents);
> }
>
> int
> Index: net/bpf.c
> ===================================================================
> RCS file: src/sys/net/bpf.c,v
> retrieving revision 1.216
> diff -u -p -r1.216 bpf.c
> --- net/bpf.c 17 Mar 2022 14:22:03 -0000 1.216
> +++ net/bpf.c 1 Jul 2022 13:49:11 -0000
> @@ -50,7 +50,6 @@
> #include <sys/vnode.h>
> #include <sys/fcntl.h>
> #include <sys/socket.h>
> -#include <sys/poll.h>
> #include <sys/kernel.h>
> #include <sys/sysctl.h>
> #include <sys/rwlock.h>
> @@ -98,7 +97,6 @@ void bpf_mcopy(const void *, void *, siz
> int bpf_movein(struct uio *, struct bpf_d *, struct mbuf **,
> struct sockaddr *);
> int bpf_setif(struct bpf_d *, struct ifreq *);
> -int bpfpoll(dev_t, int, struct proc *);
> int bpfkqfilter(dev_t, struct knote *);
> void bpf_wakeup(struct bpf_d *);
> void bpf_wakeup_cb(void *);
> @@ -1141,46 +1139,6 @@ void
> bpf_ifname(struct bpf_if *bif, struct ifreq *ifr)
> {
> bcopy(bif->bif_name, ifr->ifr_name, sizeof(ifr->ifr_name));
> -}
> -
> -/*
> - * Support for poll() system call
> - */
> -int
> -bpfpoll(dev_t dev, int events, struct proc *p)
> -{
> - struct bpf_d *d;
> - int revents;
> -
> - KERNEL_ASSERT_LOCKED();
> -
> - /*
> - * An imitation of the FIONREAD ioctl code.
> - */
> - d = bpfilter_lookup(minor(dev));
> -
> - /*
> - * XXX The USB stack manages it to trigger some race condition
> - * which causes bpfilter_lookup to return NULL when a USB device
> - * gets detached while it is up and has an open bpf handler (e.g.
> - * dhclient). We still should recheck if we can fix the root
> - * cause of this issue.
> - */
> - if (d == NULL)
> - return (POLLERR);
> -
> - /* Always ready to write data */
> - revents = events & (POLLOUT | POLLWRNORM);
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - mtx_enter(&d->bd_mtx);
> - if (d->bd_hlen != 0 || (d->bd_immediate && d->bd_slen != 0))
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &d->bd_sel);
> - mtx_leave(&d->bd_mtx);
> - }
> - return (revents);
> }
>
> const struct filterops bpfread_filtops = {
> Index: net/if_pppx.c
> ===================================================================
> RCS file: src/sys/net/if_pppx.c,v
> retrieving revision 1.117
> diff -u -p -r1.117 if_pppx.c
> --- net/if_pppx.c 26 Jun 2022 22:51:58 -0000 1.117
> +++ net/if_pppx.c 1 Jul 2022 13:49:11 -0000
> @@ -56,7 +56,6 @@
> #include <sys/socket.h>
> #include <sys/ioctl.h>
> #include <sys/vnode.h>
> -#include <sys/poll.h>
> #include <sys/selinfo.h>
>
> #include <net/if.h>
> @@ -448,27 +447,6 @@ pppxioctl(dev_t dev, u_long cmd, caddr_t
> }
>
> int
> -pppxpoll(dev_t dev, int events, struct proc *p)
> -{
> - struct pppx_dev *pxd = pppx_dev2pxd(dev);
> - int revents = 0;
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (!mq_empty(&pxd->pxd_svcq))
> - revents |= events & (POLLIN | POLLRDNORM);
> - }
> - if (events & (POLLOUT | POLLWRNORM))
> - revents |= events & (POLLOUT | POLLWRNORM);
> -
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM))
> - selrecord(p, &pxd->pxd_rsel);
> - }
> -
> - return (revents);
> -}
> -
> -int
> pppxkqfilter(dev_t dev, struct knote *kn)
> {
> struct pppx_dev *pxd = pppx_dev2pxd(dev);
> @@ -1210,27 +1188,6 @@ pppacioctl(dev_t dev, u_long cmd, caddr_
> NET_UNLOCK();
>
> return (error);
> -}
> -
> -int
> -pppacpoll(dev_t dev, int events, struct proc *p)
> -{
> - struct pppac_softc *sc = pppac_lookup(dev);
> - int revents = 0;
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (!mq_empty(&sc->sc_mq))
> - revents |= events & (POLLIN | POLLRDNORM);
> - }
> - if (events & (POLLOUT | POLLWRNORM))
> - revents |= events & (POLLOUT | POLLWRNORM);
> -
> - if (revents == 0) {
> - if (events & (POLLIN | POLLRDNORM))
> - selrecord(p, &sc->sc_rsel);
> - }
> -
> - return (revents);
> }
>
> int
> Index: net/if_tun.c
> ===================================================================
> RCS file: src/sys/net/if_tun.c,v
> retrieving revision 1.236
> diff -u -p -r1.236 if_tun.c
> --- net/if_tun.c 26 Feb 2022 02:15:45 -0000 1.236
> +++ net/if_tun.c 1 Jul 2022 13:49:11 -0000
> @@ -53,7 +53,6 @@
> #include <sys/device.h>
> #include <sys/vnode.h>
> #include <sys/signalvar.h>
> -#include <sys/poll.h>
> #include <sys/conf.h>
> #include <sys/smr.h>
>
> @@ -110,7 +109,6 @@ int tun_dev_close(dev_t, struct proc *);
> int tun_dev_ioctl(dev_t, u_long, void *);
> int tun_dev_read(dev_t, struct uio *, int);
> int tun_dev_write(dev_t, struct uio *, int, int);
> -int tun_dev_poll(dev_t, int, struct proc *);
> int tun_dev_kqfilter(dev_t, struct knote *);
>
> int tun_ioctl(struct ifnet *, u_long, caddr_t);
> @@ -941,50 +939,6 @@ tun_input(struct ifnet *ifp, struct mbuf
> m_freem(m0);
> break;
> }
> -}
> -
> -/*
> - * tunpoll - the poll interface, this is only useful on reads
> - * really. The write detect always returns true, write never blocks
> - * anyway, it either accepts the packet or drops it.
> - */
> -int
> -tunpoll(dev_t dev, int events, struct proc *p)
> -{
> - return (tun_dev_poll(dev, events, p));
> -}
> -
> -int
> -tappoll(dev_t dev, int events, struct proc *p)
> -{
> - return (tun_dev_poll(dev, events, p));
> -}
> -
> -int
> -tun_dev_poll(dev_t dev, int events, struct proc *p)
> -{
> - struct tun_softc *sc;
> - struct ifnet *ifp;
> - int revents;
> -
> - sc = tun_get(dev);
> - if (sc == NULL)
> - return (POLLERR);
> -
> - ifp = &sc->sc_if;
> - revents = 0;
> -
> - if (events & (POLLIN | POLLRDNORM)) {
> - if (!ifq_empty(&ifp->if_snd))
> - revents |= events & (POLLIN | POLLRDNORM);
> - else
> - selrecord(p, &sc->sc_rsel);
> - }
> - if (events & (POLLOUT | POLLWRNORM))
> - revents |= events & (POLLOUT | POLLWRNORM);
> -
> - tun_put(sc);
> - return (revents);
> }
>
> int
> Index: net/pipex.c
> ===================================================================
> RCS file: src/sys/net/pipex.c,v
> retrieving revision 1.142
> diff -u -p -r1.142 pipex.c
> --- net/pipex.c 28 Jun 2022 08:01:40 -0000 1.142
> +++ net/pipex.c 1 Jul 2022 13:49:11 -0000
> @@ -31,7 +31,6 @@
> #include <sys/mbuf.h>
> #include <sys/socket.h>
> #include <sys/ioctl.h>
> -#include <sys/select.h>
> #include <sys/sysctl.h>
> #include <sys/syslog.h>
> #include <sys/conf.h>
> Index: scsi/mpath.c
> ===================================================================
> RCS file: src/sys/scsi/mpath.c,v
> retrieving revision 1.56
> diff -u -p -r1.56 mpath.c
> --- scsi/mpath.c 16 Apr 2022 19:19:59 -0000 1.56
> +++ scsi/mpath.c 1 Jul 2022 13:49:11 -0000
> @@ -25,8 +25,6 @@
> #include <sys/queue.h>
> #include <sys/rwlock.h>
> #include <sys/ioctl.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
>
> #include <scsi/scsi_all.h>
> #include <scsi/scsiconf.h>
> Index: scsi/mpath_emc.c
> ===================================================================
> RCS file: src/sys/scsi/mpath_emc.c,v
> retrieving revision 1.24
> diff -u -p -r1.24 mpath_emc.c
> --- scsi/mpath_emc.c 24 Oct 2021 16:57:30 -0000 1.24
> +++ scsi/mpath_emc.c 1 Jul 2022 13:49:11 -0000
> @@ -28,8 +28,6 @@
> #include <sys/rwlock.h>
> #include <sys/pool.h>
> #include <sys/ioctl.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
>
> #include <scsi/scsi_all.h>
> #include <scsi/scsiconf.h>
> Index: scsi/mpath_hds.c
> ===================================================================
> RCS file: src/sys/scsi/mpath_hds.c,v
> retrieving revision 1.25
> diff -u -p -r1.25 mpath_hds.c
> --- scsi/mpath_hds.c 24 Oct 2021 16:57:30 -0000 1.25
> +++ scsi/mpath_hds.c 1 Jul 2022 13:49:11 -0000
> @@ -28,8 +28,6 @@
> #include <sys/rwlock.h>
> #include <sys/pool.h>
> #include <sys/ioctl.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
>
> #include <scsi/scsi_all.h>
> #include <scsi/scsiconf.h>
> Index: scsi/mpath_rdac.c
> ===================================================================
> RCS file: src/sys/scsi/mpath_rdac.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 mpath_rdac.c
> --- scsi/mpath_rdac.c 24 Oct 2021 16:57:30 -0000 1.26
> +++ scsi/mpath_rdac.c 1 Jul 2022 13:49:11 -0000
> @@ -28,8 +28,6 @@
> #include <sys/rwlock.h>
> #include <sys/pool.h>
> #include <sys/ioctl.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
>
> #include <scsi/scsi_all.h>
> #include <scsi/scsiconf.h>
> Index: scsi/mpath_sym.c
> ===================================================================
> RCS file: src/sys/scsi/mpath_sym.c,v
> retrieving revision 1.27
> diff -u -p -r1.27 mpath_sym.c
> --- scsi/mpath_sym.c 24 Oct 2021 16:57:30 -0000 1.27
> +++ scsi/mpath_sym.c 1 Jul 2022 13:49:11 -0000
> @@ -26,8 +26,6 @@
> #include <sys/rwlock.h>
> #include <sys/pool.h>
> #include <sys/ioctl.h>
> -#include <sys/poll.h>
> -#include <sys/selinfo.h>
>
> #include <scsi/scsi_all.h>
> #include <scsi/scsiconf.h>
> Index: sys/tty.h
> ===================================================================
> RCS file: src/sys/sys/tty.h,v
> retrieving revision 1.40
> diff -u -p -r1.40 tty.h
> --- sys/tty.h 2 Dec 2021 15:13:49 -0000 1.40
> +++ sys/tty.h 1 Jul 2022 13:49:11 -0000
> @@ -272,7 +272,6 @@ int ttioctl(struct tty *tp, u_long com,
> struct proc *p);
> int ttread(struct tty *tp, struct uio *uio, int flag);
> void ttrstrt(void *tp);
> -int ttpoll(dev_t device, int events, struct proc *p);
> int ttkqfilter(dev_t dev, struct knote *kn);
> void ttsetwater(struct tty *tp);
> int ttspeedtab(int speed, const struct speedtab *table);
>
>