Module Name:    src
Committed By:   thorpej
Date:           Sun Sep 26 15:08:29 UTC 2021

Modified Files:
        src/sys/dev/usb: uirda.c uirdavar.h

Log Message:
- Use seltrue_filtops rather than rolling our own with filt_seltrue.
- Remove sc_wr_sel completely; nothing actually uses it.


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 src/sys/dev/usb/uirda.c
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/usb/uirdavar.h

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/usb/uirda.c
diff -u src/sys/dev/usb/uirda.c:1.51 src/sys/dev/usb/uirda.c:1.52
--- src/sys/dev/usb/uirda.c:1.51	Sun Sep 26 01:16:09 2021
+++ src/sys/dev/usb/uirda.c	Sun Sep 26 15:08:29 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: uirda.c,v 1.51 2021/09/26 01:16:09 thorpej Exp $	*/
+/*	$NetBSD: uirda.c,v 1.52 2021/09/26 15:08:29 thorpej Exp $	*/
 
 /*
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uirda.c,v 1.51 2021/09/26 01:16:09 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uirda.c,v 1.52 2021/09/26 15:08:29 thorpej Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -283,7 +283,6 @@ uirda_attach(device_t parent, device_t s
 	mutex_init(&sc->sc_wr_buf_lk, MUTEX_DEFAULT, IPL_NONE);
 	mutex_init(&sc->sc_rd_buf_lk, MUTEX_DEFAULT, IPL_NONE);
 	selinit(&sc->sc_rd_sel);
-	selinit(&sc->sc_wr_sel);
 
 	ia.ia_type = IR_TYPE_IRFRAME;
 	ia.ia_methods = sc->sc_irm ? sc->sc_irm : &uirda_methods;
@@ -346,7 +345,6 @@ uirda_detach(device_t self, int flags)
 	mutex_destroy(&sc->sc_wr_buf_lk);
 	mutex_destroy(&sc->sc_rd_buf_lk);
 	seldestroy(&sc->sc_rd_sel);
-	seldestroy(&sc->sc_wr_sel);
 
 	return rv;
 }
@@ -629,17 +627,6 @@ filt_uirdaread(struct knote *kn, long hi
 	return kn->kn_data > 0;
 }
 
-static void
-filt_uirdawdetach(struct knote *kn)
-{
-	struct uirda_softc *sc = kn->kn_hook;
-	int s;
-
-	s = splusb();
-	selremove_knote(&sc->sc_wr_sel, kn);
-	splx(s);
-}
-
 static const struct filterops uirdaread_filtops = {
 	.f_flags = FILTEROP_ISFD,
 	.f_attach = NULL,
@@ -647,39 +634,29 @@ static const struct filterops uirdaread_
 	.f_event = filt_uirdaread,
 };
 
-static const struct filterops uirdawrite_filtops = {
-	.f_flags = FILTEROP_ISFD,
-	.f_attach = NULL,
-	.f_detach = filt_uirdawdetach,
-	.f_event = filt_seltrue,
-};
-
 int
 uirda_kqfilter(void *h, struct knote *kn)
 {
 	struct uirda_softc *sc = kn->kn_hook;
-	struct selinfo *sip;
 	int s;
 
 	switch (kn->kn_filter) {
 	case EVFILT_READ:
-		sip = &sc->sc_rd_sel;
 		kn->kn_fop = &uirdaread_filtops;
+		kn->kn_hook = sc;
+		s = splusb();
+		selrecord_knote(&sc->sc_rd_sel, kn);
+		splx(s);
 		break;
+
 	case EVFILT_WRITE:
-		sip = &sc->sc_wr_sel;
-		kn->kn_fop = &uirdawrite_filtops;
+		kn->kn_fop = &seltrue_filtops;
 		break;
+
 	default:
 		return EINVAL;
 	}
 
-	kn->kn_hook = sc;
-
-	s = splusb();
-	selrecord_knote(sip, kn);
-	splx(s);
-
 	return 0;
 }
 

Index: src/sys/dev/usb/uirdavar.h
diff -u src/sys/dev/usb/uirdavar.h:1.7 src/sys/dev/usb/uirdavar.h:1.8
--- src/sys/dev/usb/uirdavar.h:1.7	Sun Dec  4 10:12:35 2016
+++ src/sys/dev/usb/uirdavar.h	Sun Sep 26 15:08:29 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: uirdavar.h,v 1.7 2016/12/04 10:12:35 skrll Exp $	*/
+/*	$NetBSD: uirdavar.h,v 1.8 2021/09/26 15:08:29 thorpej Exp $	*/
 
 /*
  * Copyright (c) 2001,2007 The NetBSD Foundation, Inc.
@@ -136,7 +136,6 @@ struct uirda_softc {
 	struct usbd_xfer	*sc_wr_xfer;
 	struct usbd_pipe	*sc_wr_pipe;
 	int			sc_wr_hdr;
-	struct selinfo		sc_wr_sel;
 
 	device_t		sc_child;
 	struct irda_params	sc_params;

Reply via email to