Module Name: src Committed By: thorpej Date: Sun Sep 26 14:56:36 UTC 2021
Modified Files: src/sys/dev/pci: oboe.c Log Message: - Use seltrue_filtops rather than rolling our own with filt_seltrue. - Remove sc_wsel completely; nothing actually uses it. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 src/sys/dev/pci/oboe.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/oboe.c diff -u src/sys/dev/pci/oboe.c:1.50 src/sys/dev/pci/oboe.c:1.51 --- src/sys/dev/pci/oboe.c:1.50 Sun Sep 26 01:16:09 2021 +++ src/sys/dev/pci/oboe.c Sun Sep 26 14:56:36 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: oboe.c,v 1.50 2021/09/26 01:16:09 thorpej Exp $ */ +/* $NetBSD: oboe.c,v 1.51 2021/09/26 14:56:36 thorpej Exp $ */ /* XXXXFVDL THIS DRIVER IS BROKEN FOR NON-i386 -- vtophys() usage */ @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: oboe.c,v 1.50 2021/09/26 01:16:09 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: oboe.c,v 1.51 2021/09/26 14:56:36 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -96,7 +96,6 @@ struct oboe_softc { bus_space_handle_t sc_ioh; bus_dma_tag_t sc_dmatag; struct selinfo sc_rsel; - struct selinfo sc_wsel; int sc_state; #define OBOE_RSLP 0x01 /* waiting for data (read) */ @@ -227,7 +226,6 @@ oboe_attach(device_t parent, device_t se aprint_normal_dev(self, "interrupting at %s\n", intrstring); selinit(&sc->sc_rsel); - selinit(&sc->sc_wsel); sc->sc_txs = 0; sc->sc_rxs = 0; @@ -252,7 +250,6 @@ oboe_detach(device_t self, int flags) DPRINTF(("%s: sc=%p\n", __func__, sc)); #endif seldestroy(&sc->sc_rsel); - seldestroy(&sc->sc_wsel); return (0); } @@ -483,17 +480,6 @@ filt_oboeread(struct knote *kn, long hin return (kn->kn_data > 0); } -static void -filt_oboewdetach(struct knote *kn) -{ - struct oboe_softc *sc = kn->kn_hook; - int s; - - s = splir(); - selremove_knote(&sc->sc_wsel, kn); - splx(s); -} - static const struct filterops oboeread_filtops = { .f_flags = FILTEROP_ISFD, .f_attach = NULL, @@ -501,39 +487,28 @@ static const struct filterops oboeread_f .f_event = filt_oboeread, }; -static const struct filterops oboewrite_filtops = { - .f_flags = FILTEROP_ISFD, - .f_attach = NULL, - .f_detach = filt_oboewdetach, - .f_event = filt_seltrue, -}; - static int oboe_kqfilter(void *h, struct knote *kn) { struct oboe_softc *sc = h; - struct selinfo *sip; int s; switch (kn->kn_filter) { case EVFILT_READ: - sip = &sc->sc_rsel; kn->kn_fop = &oboeread_filtops; + kn->kn_hook = sc; + s = splir(); + selrecord_knote(&sc->sc_rsel, kn); + splx(s); break; + case EVFILT_WRITE: - sip = &sc->sc_wsel; - kn->kn_fop = &oboewrite_filtops; + kn->kn_fop = &seltrue_filtops; break; default: return (EINVAL); } - kn->kn_hook = sc; - - s = splir(); - selrecord_knote(sip, kn); - splx(s); - return (0); } @@ -613,7 +588,6 @@ oboe_intr(void *p) DPRINTF(("oboe_intr: waking up writer\n")); wakeup(&sc->sc_txs); } - selnotify(&sc->sc_wsel, 0, 0); } return (1); }