NetBSD (where our usb stack came from) has a /dev/usb device node. this node exists primarily for reading usb events. however, we do not create /dev/usb, which means we have no way to get the usb events. usb events are device/driver attach/detachments. we have hotplug(4) to get this info.
I don't see any reason to keep the usb event handling. thoughts? ok? PS notice how some drivers only do one of attach and detach instead of both, and that some drivers don't do either ... -- [email protected] SDF Public Access UNIX System - http://sdf.lonestar.org Index: if_athn_usb.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_athn_usb.c,v retrieving revision 1.6 diff -u -p -r1.6 if_athn_usb.c --- if_athn_usb.c 8 Jan 2011 15:18:01 -0000 1.6 +++ if_athn_usb.c 23 Jan 2011 03:54:07 -0000 @@ -281,8 +281,6 @@ athn_usb_attach(struct device *parent, s mountroothook_establish(athn_usb_attachhook, usc); else athn_usb_attachhook(usc); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, usc->sc_udev, &sc->sc_dev); } int @@ -304,7 +302,6 @@ athn_usb_detach(struct device *self, int athn_usb_free_tx_list(usc); athn_usb_free_rx_list(usc); - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, usc->sc_udev, &sc->sc_dev); return (0); } Index: if_aue.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_aue.c,v retrieving revision 1.83 diff -u -p -r1.83 if_aue.c --- if_aue.c 6 Dec 2010 04:41:39 -0000 1.83 +++ if_aue.c 23 Jan 2011 03:54:08 -0000 @@ -837,9 +837,6 @@ aue_attach(struct device *parent, struct timeout_set(&sc->aue_stat_ch, aue_tick, sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->aue_udev, - &sc->aue_dev); } int @@ -886,9 +883,6 @@ aue_detach(struct device *self, int flag usb_detach_wait(&sc->aue_dev); } splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->aue_udev, - &sc->aue_dev); return (0); } Index: if_axe.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_axe.c,v retrieving revision 1.104 diff -u -p -r1.104 if_axe.c --- if_axe.c 6 Dec 2010 04:41:39 -0000 1.104 +++ if_axe.c 23 Jan 2011 03:54:09 -0000 @@ -814,9 +814,6 @@ axe_attach(struct device *parent, struct timeout_set(&sc->axe_stat_ch, axe_tick, sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->axe_udev, - &sc->axe_dev); } int @@ -875,9 +872,6 @@ axe_detach(struct device *self, int flag usb_detach_wait(&sc->axe_dev); } splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->axe_udev, - &sc->axe_dev); return (0); } Index: if_cdce.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_cdce.c,v retrieving revision 1.48 diff -u -p -r1.48 if_cdce.c --- if_cdce.c 16 Jan 2011 22:35:29 -0000 1.48 +++ if_cdce.c 23 Jan 2011 03:54:10 -0000 @@ -360,9 +360,6 @@ found: sc->cdce_attached = 1; splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->cdce_udev, - &sc->cdce_dev); } int @@ -387,9 +384,6 @@ cdce_detach(struct device *self, int fla sc->cdce_attached = 0; splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->cdce_udev, - &sc->cdce_dev); return (0); } Index: if_cue.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_cue.c,v retrieving revision 1.58 diff -u -p -r1.58 if_cue.c --- if_cue.c 17 Dec 2010 13:48:06 -0000 1.58 +++ if_cue.c 23 Jan 2011 03:54:10 -0000 @@ -542,9 +542,6 @@ cue_attach(struct device *parent, struct timeout_set(&sc->cue_stat_ch, cue_tick, sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->cue_udev, - &sc->cue_dev); } int @@ -585,9 +582,6 @@ cue_detach(struct device *self, int flag #endif splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->cue_udev, - &sc->cue_dev); return (0); } Index: if_kue.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_kue.c,v retrieving revision 1.62 diff -u -p -r1.62 if_kue.c --- if_kue.c 17 Dec 2010 13:48:06 -0000 1.62 +++ if_kue.c 23 Jan 2011 03:54:11 -0000 @@ -543,9 +543,6 @@ kue_attach(struct device *parent, struct mountroothook_establish(kue_attachhook, sc); else kue_attachhook(sc); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->kue_udev, - &sc->kue_dev); } int Index: if_mos.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_mos.c,v retrieving revision 1.12 diff -u -p -r1.12 if_mos.c --- if_mos.c 6 Dec 2010 04:41:39 -0000 1.12 +++ if_mos.c 23 Jan 2011 03:54:11 -0000 @@ -753,9 +753,6 @@ mos_attach(struct device *parent, struct timeout_set(&sc->mos_stat_ch, mos_tick, sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->mos_udev, - &sc->mos_dev); } int @@ -813,9 +810,6 @@ mos_detach(struct device *self, int flag usb_detach_wait(&sc->mos_dev); } splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->mos_udev, - &sc->mos_dev); return (0); } Index: if_otus.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_otus.c,v retrieving revision 1.26 diff -u -p -r1.26 if_otus.c --- if_otus.c 6 Jan 2011 19:49:58 -0000 1.26 +++ if_otus.c 23 Jan 2011 03:54:12 -0000 @@ -234,8 +234,6 @@ otus_attach(struct device *parent, struc mountroothook_establish(otus_attachhook, sc); else otus_attachhook(sc); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); } int @@ -265,8 +263,6 @@ otus_detach(struct device *self, int fla otus_close_pipes(sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return 0; } Index: if_ral.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_ral.c,v retrieving revision 1.119 diff -u -p -r1.119 if_ral.c --- if_ral.c 30 Dec 2010 05:22:51 -0000 1.119 +++ if_ral.c 23 Jan 2011 03:54:13 -0000 @@ -349,9 +349,6 @@ ural_attach(struct device *parent, struc sc->sc_txtap.wt_ihdr.it_len = htole16(sc->sc_txtap_len); sc->sc_txtap.wt_ihdr.it_present = htole32(RAL_TX_RADIOTAP_PRESENT); #endif - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int @@ -396,9 +393,6 @@ ural_detach(struct device *self, int fla ural_free_tx_list(sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: if_rsu.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_rsu.c,v retrieving revision 1.9 diff -u -p -r1.9 if_rsu.c --- if_rsu.c 31 Dec 2010 20:50:14 -0000 1.9 +++ if_rsu.c 23 Jan 2011 03:54:17 -0000 @@ -332,8 +332,6 @@ rsu_attach(struct device *parent, struct sc->sc_txtap.wt_ihdr.it_len = htole16(sc->sc_txtap_len); sc->sc_txtap.wt_ihdr.it_present = htole32(RSU_TX_RADIOTAP_PRESENT); #endif - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); } int @@ -362,7 +360,6 @@ rsu_detach(struct device *self, int flag rsu_free_rx_list(sc); splx(s); - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return (0); } Index: if_rum.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_rum.c,v retrieving revision 1.96 diff -u -p -r1.96 if_rum.c --- if_rum.c 30 Dec 2010 05:22:51 -0000 1.96 +++ if_rum.c 23 Jan 2011 03:54:17 -0000 @@ -446,9 +446,6 @@ rum_attach(struct device *parent, struct sc->sc_txtap.wt_ihdr.it_len = htole16(sc->sc_txtap_len); sc->sc_txtap.wt_ihdr.it_present = htole32(RT2573_TX_RADIOTAP_PRESENT); #endif - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int @@ -491,9 +488,6 @@ rum_detach(struct device *self, int flag rum_free_tx_list(sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: if_run.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_run.c,v retrieving revision 1.83 diff -u -p -r1.83 if_run.c --- if_run.c 10 Jan 2011 16:59:05 -0000 1.83 +++ if_run.c 23 Jan 2011 03:54:25 -0000 @@ -582,8 +582,6 @@ run_attach(struct device *parent, struct sc->sc_txtap.wt_ihdr.it_len = htole16(sc->sc_txtap_len); sc->sc_txtap.wt_ihdr.it_present = htole32(RUN_TX_RADIOTAP_PRESENT); #endif - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); } int @@ -630,8 +628,6 @@ run_detach(struct device *self, int flag run_free_rx_ring(sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return 0; } Index: if_uath.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_uath.c,v retrieving revision 1.48 diff -u -p -r1.48 if_uath.c --- if_uath.c 6 Jan 2011 19:49:58 -0000 1.48 +++ if_uath.c 23 Jan 2011 03:54:26 -0000 @@ -416,9 +416,6 @@ uath_attach(struct device *parent, struc sc->sc_txtap.wt_ihdr.it_present = htole32(UATH_TX_RADIOTAP_PRESENT); #endif - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - return; fail4: uath_free_tx_data_list(sc); @@ -466,9 +463,6 @@ uath_detach(struct device *self, int fla } splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: if_udav.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_udav.c,v retrieving revision 1.50 diff -u -p -r1.50 if_udav.c --- if_udav.c 6 Dec 2010 04:41:39 -0000 1.50 +++ if_udav.c 23 Jan 2011 03:54:26 -0000 @@ -312,8 +312,6 @@ udav_attach(struct device *parent, struc splx(s); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, dev, &sc->sc_dev); - return; bad: @@ -366,9 +364,6 @@ udav_detach(struct device *self, int fla sc->sc_dev.dv_xname); #endif splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: if_upgt.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_upgt.c,v retrieving revision 1.54 diff -u -p -r1.54 if_upgt.c --- if_upgt.c 6 Dec 2010 04:41:39 -0000 1.54 +++ if_upgt.c 23 Jan 2011 03:54:27 -0000 @@ -449,8 +449,6 @@ upgt_attach_hook(void *arg) sc->sc_txtap.wt_ihdr.it_present = htole32(UPGT_TX_RADIOTAP_PRESENT); #endif - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); - printf("%s: address %s\n", sc->sc_dev.dv_xname, ether_sprintf(ic->ic_myaddr)); @@ -503,8 +501,6 @@ upgt_detach(struct device *self, int fla } splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return (0); } Index: if_upl.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_upl.c,v retrieving revision 1.46 diff -u -p -r1.46 if_upl.c --- if_upl.c 17 Dec 2010 13:48:06 -0000 1.46 +++ if_upl.c 23 Jan 2011 03:54:27 -0000 @@ -301,9 +301,6 @@ upl_attach(struct device *parent, struct sc->sc_attached = 1; splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int @@ -337,9 +334,6 @@ upl_detach(struct device *self, int flag sc->sc_attached = 0; splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: if_url.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_url.c,v retrieving revision 1.60 diff -u -p -r1.60 if_url.c --- if_url.c 6 Dec 2010 04:41:39 -0000 1.60 +++ if_url.c 23 Jan 2011 03:54:28 -0000 @@ -318,8 +318,6 @@ url_attach(struct device *parent, struct splx(s); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, dev, &sc->sc_dev); - return; bad: @@ -373,9 +371,6 @@ url_detach(struct device *self, int flag #endif splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: if_urndis.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_urndis.c,v retrieving revision 1.28 diff -u -p -r1.28 if_urndis.c --- if_urndis.c 16 Jan 2011 22:35:29 -0000 1.28 +++ if_urndis.c 23 Jan 2011 03:54:29 -0000 @@ -1509,8 +1509,6 @@ urndis_attach(struct device *parent, str sc->sc_attached = 1; splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); } int @@ -1541,9 +1539,6 @@ urndis_detach(struct device *self, int f sc->sc_attached = 0; splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: if_urtw.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_urtw.c,v retrieving revision 1.37 diff -u -p -r1.37 if_urtw.c --- if_urtw.c 11 Jan 2011 21:04:46 -0000 1.37 +++ if_urtw.c 23 Jan 2011 03:54:31 -0000 @@ -756,9 +756,6 @@ urtw_attach(struct device *parent, struc sc->sc_txtap.wt_ihdr.it_present = htole32(URTW_TX_RADIOTAP_PRESENT); #endif - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - printf(", address %s\n", ether_sprintf(ic->ic_myaddr)); return; @@ -796,9 +793,6 @@ urtw_detach(struct device *self, int fla urtw_close_pipes(sc); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: if_urtwn.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_urtwn.c,v retrieving revision 1.12 diff -u -p -r1.12 if_urtwn.c --- if_urtwn.c 31 Dec 2010 20:50:14 -0000 1.12 +++ if_urtwn.c 23 Jan 2011 03:54:32 -0000 @@ -360,8 +360,6 @@ urtwn_attach(struct device *parent, stru sc->sc_txtap.wt_ihdr.it_len = htole16(sc->sc_txtap_len); sc->sc_txtap.wt_ihdr.it_present = htole32(URTWN_TX_RADIOTAP_PRESENT); #endif - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); } int @@ -392,7 +390,6 @@ urtwn_detach(struct device *self, int fl urtwn_free_rx_list(sc); splx(s); - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return (0); } Index: if_wi_usb.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_wi_usb.c,v retrieving revision 1.49 diff -u -p -r1.49 if_wi_usb.c --- if_wi_usb.c 27 Oct 2010 17:51:11 -0000 1.49 +++ if_wi_usb.c 23 Jan 2011 03:54:33 -0000 @@ -386,9 +386,6 @@ wi_usb_attach(struct device *parent, str sc->wi_usb_attached = 1; kthread_create_deferred(wi_usb_start_thread, sc); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->wi_usb_udev, - &sc->wi_usb_dev); } int @@ -488,8 +485,6 @@ wi_usb_detach(struct device *self, int f splx(s); - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->wi_usb_udev, - &sc->wi_usb_dev); return (0); } Index: if_zyd.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_zyd.c,v retrieving revision 1.86 diff -u -p -r1.86 if_zyd.c --- if_zyd.c 6 Dec 2010 04:41:39 -0000 1.86 +++ if_zyd.c 23 Jan 2011 03:54:34 -0000 @@ -427,9 +427,6 @@ zyd_complete_attach(struct zyd_softc *sc sc->sc_txtap.wt_ihdr.it_present = htole32(ZYD_TX_RADIOTAP_PRESENT); #endif - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - fail: return error; } @@ -466,9 +463,6 @@ zyd_detach(struct device *self, int flag sc->attached = 0; splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: moscom.c =================================================================== RCS file: /cvs/src/sys/dev/usb/moscom.c,v retrieving revision 1.14 diff -u -p -r1.14 moscom.c --- moscom.c 24 Sep 2010 08:33:59 -0000 1.14 +++ moscom.c 23 Jan 2011 03:54:34 -0000 @@ -260,9 +260,6 @@ moscom_attach(struct device *parent, str uca.methods = &moscom_methods; uca.arg = sc; uca.info = NULL; - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); } @@ -277,9 +274,6 @@ moscom_detach(struct device *self, int f rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: uark.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uark.c,v retrieving revision 1.14 diff -u -p -r1.14 uark.c --- uark.c 24 Sep 2010 08:33:59 -0000 1.14 +++ uark.c 23 Jan 2011 03:54:34 -0000 @@ -187,9 +187,6 @@ uark_attach(struct device *parent, struc uca.methods = &uark_methods; uca.arg = sc; uca.info = NULL; - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); } @@ -204,9 +201,6 @@ uark_detach(struct device *self, int fla rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: uaudio.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uaudio.c,v retrieving revision 1.90 diff -u -p -r1.90 uaudio.c --- uaudio.c 16 Jan 2011 22:35:29 -0000 1.90 +++ uaudio.c 23 Jan 2011 03:54:36 -0000 @@ -560,9 +560,6 @@ uaudio_attach(struct device *parent, str uaudio_create_encodings(sc); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - DPRINTF(("uaudio_attach: doing audio_attach_mi\n")); sc->sc_audiodev = audio_attach_mi(&uaudio_hw_if, sc, &sc->sc_dev); } @@ -604,9 +601,6 @@ uaudio_detach(struct device *self, int f if (sc->sc_audiodev != NULL) rv = config_detach(sc->sc_audiodev, flags); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: uberry.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uberry.c,v retrieving revision 1.18 diff -u -p -r1.18 uberry.c --- uberry.c 27 Dec 2010 03:03:50 -0000 1.18 +++ uberry.c 23 Jan 2011 03:54:36 -0000 @@ -140,18 +140,13 @@ uberry_attach(struct device *parent, str */ usb_needs_reattach(sc->sc_udev); } - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int uberry_detach(struct device *self, int flags) { - struct uberry_softc *sc = (struct uberry_softc *)self; + /* struct uberry_softc *sc = (struct uberry_softc *)self; */ - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: ubsa.c =================================================================== RCS file: /cvs/src/sys/dev/usb/ubsa.c,v retrieving revision 1.51 diff -u -p -r1.51 ubsa.c --- ubsa.c 17 Dec 2010 21:53:34 -0000 1.51 +++ ubsa.c 23 Jan 2011 03:54:36 -0000 @@ -365,9 +365,6 @@ ubsa_attach(struct device *parent, struc uca.arg = sc; uca.info = NULL; - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - DPRINTF(("ubsa: in = 0x%x, out = 0x%x, intr = 0x%x\n", uca.bulkin, uca.bulkout, sc->sc_intr_number)); @@ -397,9 +394,6 @@ ubsa_detach(struct device *self, int fla rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: ubt.c =================================================================== RCS file: /cvs/src/sys/dev/usb/ubt.c,v retrieving revision 1.19 diff -u -p -r1.19 ubt.c --- ubt.c 24 Sep 2010 08:33:59 -0000 1.19 +++ ubt.c 23 Jan 2011 03:54:37 -0000 @@ -443,9 +443,6 @@ ubt_attach(struct device *parent, struct /* Attach HCI */ sc->sc_unit = hci_attach(&ubt_hci, &sc->sc_dev, 0); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - sc->sc_ok = 1; /* XXX pmf_device_deregister in NetBSD (power hook) */ } @@ -484,9 +481,6 @@ ubt_detach(struct device *self, int flag usb_detach_wait(&sc->sc_dev); splx(s); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); DPRINTFN(1, "driver detached\n"); Index: uchcom.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uchcom.c,v retrieving revision 1.13 diff -u -p -r1.13 uchcom.c --- uchcom.c 17 Dec 2010 22:38:54 -0000 1.13 +++ uchcom.c 23 Jan 2011 03:54:37 -0000 @@ -303,9 +303,6 @@ uchcom_attach(struct device *parent, str uca.methods = &uchcom_methods; uca.arg = sc; uca.info = NULL; - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); @@ -329,9 +326,6 @@ uchcom_detach(struct device *self, int f rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return rv; } Index: ucycom.c =================================================================== RCS file: /cvs/src/sys/dev/usb/ucycom.c,v retrieving revision 1.18 diff -u -p -r1.18 ucycom.c --- ucycom.c 19 Dec 2010 21:32:57 -0000 1.18 +++ ucycom.c 23 Jan 2011 03:54:38 -0000 @@ -237,9 +237,6 @@ ucycom_attach(struct device *parent, str uca.arg = sc; uca.info = NULL; - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_hdev.sc_dev); - sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); DPRINTF(("ucycom_attach: complete %p\n", sc->sc_subdev)); } Index: udcf.c =================================================================== RCS file: /cvs/src/sys/dev/usb/udcf.c,v retrieving revision 1.52 diff -u -p -r1.52 udcf.c --- udcf.c 17 Dec 2010 21:53:34 -0000 1.52 +++ udcf.c 23 Jan 2011 03:54:38 -0000 @@ -275,9 +275,6 @@ udcf_attach(struct device *parent, struc break; } - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - /* convert timevals to hz */ t.tv_sec = 0L; t.tv_usec = 150000L; @@ -355,8 +352,6 @@ udcf_detach(struct device *self, int fla if (sc->sc_detect_ct) usb_rem_task(sc->sc_udev, &sc->sc_ct_task); - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: udfu.c =================================================================== RCS file: /cvs/src/sys/dev/usb/udfu.c,v retrieving revision 1.2 diff -u -p -r1.2 udfu.c --- udfu.c 27 Dec 2010 03:03:50 -0000 1.2 +++ udfu.c 23 Jan 2011 03:54:38 -0000 @@ -154,18 +154,13 @@ udfu_attach(struct device *parent, struc if (!sc->sc_will_detach && err == 0) usb_needs_reattach(sc->sc_udev); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int udfu_detach(struct device *self, int flags) { - struct udfu_softc *sc = (struct udfu_softc *)self; + /* struct udfu_softc *sc = (struct udfu_softc *)self; */ - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: udl.c =================================================================== RCS file: /cvs/src/sys/dev/usb/udl.c,v retrieving revision 1.66 diff -u -p -r1.66 udl.c --- udl.c 27 Dec 2010 03:03:50 -0000 1.66 +++ udl.c 23 Jan 2011 03:54:39 -0000 @@ -389,8 +389,6 @@ udl_attach(struct device *parent, struct sc->sc_wsdisplay = config_found(self, &aa, wsemuldisplaydevprint); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); - /* * Load Huffman table. */ @@ -478,8 +476,6 @@ udl_detach(struct device *self, int flag */ if (sc->sc_wsdisplay != NULL) config_detach(sc->sc_wsdisplay, DETACH_FORCE); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return (0); } Index: udsbr.c =================================================================== RCS file: /cvs/src/sys/dev/usb/udsbr.c,v retrieving revision 1.21 diff -u -p -r1.21 udsbr.c --- udsbr.c 13 Oct 2009 19:33:17 -0000 1.21 +++ udsbr.c 23 Jan 2011 03:54:39 -0000 @@ -147,9 +147,6 @@ udsbr_attach(struct device *parent, stru DPRINTFN(10, ("udsbr_attach: %p\n", sc->sc_udev)); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - sc->sc_child = radio_attach_mi(&udsbr_hw_if, sc, &sc->sc_dev); } @@ -161,9 +158,6 @@ udsbr_detach(struct device *self, int fl if (sc->sc_child != NULL) rv = config_detach(sc->sc_child, flags); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: ueagle.c =================================================================== RCS file: /cvs/src/sys/dev/usb/ueagle.c,v retrieving revision 1.31 diff -u -p -r1.31 ueagle.c --- ueagle.c 6 Dec 2010 05:46:17 -0000 1.31 +++ ueagle.c 23 Jan 2011 03:54:40 -0000 @@ -229,9 +229,6 @@ ueagle_attach(struct device *parent, str #if NBPFILTER > 0 bpfattach(&ifp->if_bpf, ifp, DLT_RAW, 0); #endif - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int @@ -258,9 +255,6 @@ ueagle_detach(struct device *self, int f if (ifp->if_softc != NULL) if_detach(ifp); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: uftdi.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uftdi.c,v retrieving revision 1.57 diff -u -p -r1.57 uftdi.c --- uftdi.c 24 Sep 2010 08:33:59 -0000 1.57 +++ uftdi.c 23 Jan 2011 03:54:40 -0000 @@ -874,9 +874,6 @@ uftdi_attach(struct device *parent, stru uca.arg = sc; uca.info = NULL; - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - DPRINTF(("uftdi: in=0x%x out=0x%x\n", uca.bulkin, uca.bulkout)); sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); @@ -916,9 +913,6 @@ uftdi_detach(struct device *self, int fl config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: ugen.c =================================================================== RCS file: /cvs/src/sys/dev/usb/ugen.c,v retrieving revision 1.63 diff -u -p -r1.63 ugen.c --- ugen.c 16 Jan 2011 22:35:29 -0000 1.63 +++ ugen.c 23 Jan 2011 03:54:41 -0000 @@ -190,9 +190,6 @@ ugen_attach(struct device *parent, struc sc->sc_dying = 1; return; } - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int @@ -797,9 +794,6 @@ ugen_detach(struct device *self, int fla /* Nuke the vnodes for any open instances (calls close). */ mn = self->dv_unit * USB_MAX_ENDPOINTS; vdevgone(maj, mn, mn + USB_MAX_ENDPOINTS - 1, VCHR); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: uhid.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uhid.c,v retrieving revision 1.50 diff -u -p -r1.50 uhid.c --- uhid.c 24 Sep 2010 08:33:59 -0000 1.50 +++ uhid.c 23 Jan 2011 03:54:41 -0000 @@ -195,12 +195,6 @@ uhid_detach(struct device *self, int fla mn = self->dv_unit; vdevgone(maj, mn, mn, VCHR); -#if 0 - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, - sc->sc_hdev.sc_parent->sc_udev, - &sc->sc_hdev.sc_dev); -#endif - return (0); } Index: uhidev.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uhidev.c,v retrieving revision 1.40 diff -u -p -r1.40 uhidev.c --- uhidev.c 24 Sep 2010 08:33:59 -0000 1.40 +++ uhidev.c 23 Jan 2011 03:54:41 -0000 @@ -246,9 +246,6 @@ uhidev_attach(struct device *parent, str sc->sc_nrepid = nrepid; sc->sc_isize = 0; - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - for (repid = 0; repid < nrepid; repid++) { repsz = hid_report_size(desc, size, hid_input, repid); DPRINTF(("uhidev_match: repid=%d, repsz=%d\n", repid, repsz)); @@ -376,9 +373,6 @@ uhidev_detach(struct device *self, int f sc->sc_subdevs[i] = NULL; } } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: uhub.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uhub.c,v retrieving revision 1.56 diff -u -p -r1.56 uhub.c --- uhub.c 6 Dec 2010 04:41:40 -0000 1.56 +++ uhub.c 23 Jan 2011 03:54:42 -0000 @@ -252,8 +252,6 @@ uhub_attach(struct device *parent, struc /* Wait with power off for a while. */ usbd_delay_ms(dev, USB_POWER_DOWN_TIME); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, dev, &sc->sc_dev); - /* * To have the best chance of success we do things in the exact same * order as Windoze98. This should not be necessary, but some @@ -570,9 +568,6 @@ uhub_detach(struct device *self, int fla if (rup->device) usb_disconnect_port(rup, self); } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_hub, - &sc->sc_dev); if (hub->ports[0].tt) free(hub->ports[0].tt, M_USBDEV); Index: uipaq.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uipaq.c,v retrieving revision 1.18 diff -u -p -r1.18 uipaq.c --- uipaq.c 24 Sep 2010 08:33:59 -0000 1.18 +++ uipaq.c 23 Jan 2011 03:54:42 -0000 @@ -213,9 +213,6 @@ uipaq_attach(struct device *parent, stru goto bad; }*/ - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - uca.bulkin = uca.bulkout = -1; for (i=0; i<id->bNumEndpoints; i++) { ed = usbd_interface2endpoint_descriptor(iface, i); @@ -387,9 +384,6 @@ uipaq_detach(struct device *self, int fl rv |= config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: ulpt.c =================================================================== RCS file: /cvs/src/sys/dev/usb/ulpt.c,v retrieving revision 1.37 diff -u -p -r1.37 ulpt.c --- ulpt.c 24 Sep 2010 08:33:59 -0000 1.37 +++ ulpt.c 23 Jan 2011 03:54:43 -0000 @@ -298,8 +298,6 @@ ulpt_attach(struct device *parent, struc } } #endif - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int @@ -349,9 +347,6 @@ ulpt_detach(struct device *self, int fla mn = self->dv_unit; vdevgone(maj, mn, mn, VCHR); vdevgone(maj, mn | ULPT_NOPRIME , mn | ULPT_NOPRIME, VCHR); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: umass.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umass.c,v retrieving revision 1.59 diff -u -p -r1.59 umass.c --- umass.c 13 Oct 2009 19:33:19 -0000 1.59 +++ umass.c 23 Jan 2011 03:54:43 -0000 @@ -620,9 +620,6 @@ umass_attach(struct device *parent, stru return; } - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - DPRINTF(UDMASS_GEN, ("%s: Attach finished\n", sc->sc_dev.dv_xname)); } @@ -673,9 +670,6 @@ umass_detach(struct device *self, int fl return (rv); umass_disco(sc); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: umbg.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umbg.c,v retrieving revision 1.15 diff -u -p -r1.15 umbg.c --- umbg.c 6 Dec 2010 04:41:40 -0000 1.15 +++ umbg.c 23 Jan 2011 03:54:44 -0000 @@ -275,9 +275,6 @@ umbg_attach(struct device *parent, struc #endif printf("\n"); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - t_wait = 5; t_trust = TRUSTTIME; @@ -328,7 +325,6 @@ umbg_detach(struct device *self, int fla /* Unregister the clock with the kernel */ sensordev_deinstall(&sc->sc_sensordev); - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return 0; } Index: umct.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umct.c,v retrieving revision 1.31 diff -u -p -r1.31 umct.c --- umct.c 17 Dec 2010 21:53:34 -0000 1.31 +++ umct.c 23 Jan 2011 03:54:44 -0000 @@ -303,9 +303,6 @@ umct_attach(struct device *parent, struc umct_init(sc); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - DPRINTF(("umct: in=0x%x out=0x%x intr=0x%x\n", uca.bulkin, uca.bulkout, sc->sc_intr_number )); sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); @@ -330,9 +327,6 @@ umct_detach(struct device *self, int fla rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: umidi.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umidi.c,v retrieving revision 1.27 diff -u -p -r1.27 umidi.c --- umidi.c 24 Sep 2010 08:33:59 -0000 1.27 +++ umidi.c 23 Jan 2011 03:54:44 -0000 @@ -222,9 +222,6 @@ umidi_attach(struct device *parent, stru (void)start_input_transfer(&sc->sc_in_ep[i]); } - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, - sc->sc_udev, &sc->sc_dev); - return; error: printf("%s: disabled.\n", sc->sc_dev.dv_xname); @@ -260,9 +257,6 @@ umidi_detach(struct device *self, int fl free_all_mididevs(sc); free_all_jacks(sc); free_all_endpoints(sc); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return 0; } Index: umodem.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umodem.c,v retrieving revision 1.40 diff -u -p -r1.40 umodem.c --- umodem.c 16 Jan 2011 22:35:29 -0000 1.40 +++ umodem.c 23 Jan 2011 03:54:45 -0000 @@ -385,9 +385,6 @@ umodem_attach(struct device *parent, str uca.arg = sc; uca.info = NULL; - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - DPRINTF(("umodem_attach: sc=%p\n", sc)); sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); @@ -761,9 +758,6 @@ umodem_detach(struct device *self, int f if (sc->sc_subdev != NULL) rv = config_detach(sc->sc_subdev, flags); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: umsm.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umsm.c,v retrieving revision 1.70 diff -u -p -r1.70 umsm.c --- umsm.c 30 Dec 2010 16:28:12 -0000 1.70 +++ umsm.c 23 Jan 2011 03:54:45 -0000 @@ -385,9 +385,6 @@ umsm_attach(struct device *parent, struc uca.info = NULL; uca.portno = UCOM_UNK_PORTNO; - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); } @@ -410,9 +407,6 @@ umsm_detach(struct device *self, int fla rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: uow.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uow.c,v retrieving revision 1.28 diff -u -p -r1.28 uow.c --- uow.c 27 Dec 2010 03:03:50 -0000 1.28 +++ uow.c 23 Jan 2011 03:54:45 -0000 @@ -260,9 +260,6 @@ uow_detach(struct device *self, int flag splx(s); - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); - return (rv); } Index: uplcom.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uplcom.c,v retrieving revision 1.54 diff -u -p -r1.54 uplcom.c --- uplcom.c 16 Nov 2010 22:28:55 -0000 1.54 +++ uplcom.c 23 Jan 2011 03:54:46 -0000 @@ -410,9 +410,6 @@ uplcom_attach(struct device *parent, str return; } - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - DPRINTF(("uplcom: in=0x%x out=0x%x intr=0x%x\n", uca.bulkin, uca.bulkout, sc->sc_intr_number )); sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); @@ -437,9 +434,6 @@ uplcom_detach(struct device *self, int f rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: urio.c =================================================================== RCS file: /cvs/src/sys/dev/usb/urio.c,v retrieving revision 1.37 diff -u -p -r1.37 urio.c --- urio.c 17 Dec 2010 21:53:34 -0000 1.37 +++ urio.c 23 Jan 2011 03:54:46 -0000 @@ -183,9 +183,6 @@ urio_attach(struct device *parent, struc } DPRINTFN(10, ("urio_attach: %p\n", sc->sc_udev)); - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int @@ -224,9 +221,6 @@ urio_detach(struct device *self, int fla /* Nuke the vnodes for any open instances (calls close). */ mn = self->dv_unit; vdevgone(maj, mn, mn, VCHR); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: usb.c =================================================================== RCS file: /cvs/src/sys/dev/usb/usb.c,v retrieving revision 1.71 diff -u -p -r1.71 usb.c --- usb.c 15 Jan 2011 23:58:43 -0000 1.71 +++ usb.c 23 Jan 2011 03:54:46 -0000 @@ -60,8 +60,6 @@ #include <dev/usb/usbdi.h> #include <dev/usb/usbdi_util.h> -#define USB_DEV_MINOR 255 - #include <machine/bus.h> #include <dev/usb/usbdivar.h> @@ -115,21 +113,6 @@ struct proc *usb_task_thread_proc = NULL void usb_abort_task_thread(void *); struct proc *usb_abort_task_thread_proc = NULL; -#define USB_MAX_EVENTS 100 -struct usb_event_q { - struct usb_event ue; - SIMPLEQ_ENTRY(usb_event_q) next; -}; -SIMPLEQ_HEAD(, usb_event_q) usb_events = - SIMPLEQ_HEAD_INITIALIZER(usb_events); -int usb_nevents = 0; -struct selinfo usb_selevent; -struct proc *usb_async_proc; /* process that wants USB SIGIO */ -int usb_dev_open = 0; -void usb_add_event(int, struct usb_event *); - -int usb_get_next_event(struct usb_event *); - const char *usbrev_str[] = USBREV_STR; int usb_match(struct device *, void *, void *); @@ -164,7 +147,6 @@ usb_attach(struct device *parent, struct usbd_status err; int usbrev; int speed; - struct usb_event ue; DPRINTF(("usbd_attach\n")); @@ -201,9 +183,6 @@ usb_attach(struct device *parent, struct usb_init_task(&sc->sc_explore_task, usb_explore, sc, USB_TASK_TYPE_EXPLORE); - ue.u.ue_ctrlr.ue_bus = sc->sc_dev.dv_unit; - usb_add_event(USB_EVENT_CTRLR_ATTACH, &ue); - /* XXX we should have our own level */ sc->sc_bus->soft = softintr_establish(IPL_SOFTNET, sc->sc_bus->methods->soft_intr, sc->sc_bus); @@ -496,14 +475,6 @@ usbopen(dev_t dev, int flag, int mode, s int unit = minor(dev); struct usb_softc *sc; - if (unit == USB_DEV_MINOR) { - if (usb_dev_open) - return (EBUSY); - usb_dev_open = 1; - usb_async_proc = 0; - return (0); - } - if (unit >= usb_cd.cd_ndevs) return (ENXIO); sc = usb_cd.cd_devs[unit]; @@ -517,48 +488,8 @@ usbopen(dev_t dev, int flag, int mode, s } int -usbread(dev_t dev, struct uio *uio, int flag) -{ - struct usb_event ue; - int s, error, n; - - if (minor(dev) != USB_DEV_MINOR) - return (ENXIO); - - if (uio->uio_resid != sizeof(struct usb_event)) - return (EINVAL); - - error = 0; - s = splusb(); - for (;;) { - n = usb_get_next_event(&ue); - if (n != 0) - break; - if (flag & IO_NDELAY) { - error = EWOULDBLOCK; - break; - } - error = tsleep(&usb_events, PZERO | PCATCH, "usbrea", 0); - if (error) - break; - } - splx(s); - if (!error) - error = uiomove((void *)&ue, uio->uio_resid, uio); - - return (error); -} - -int usbclose(dev_t dev, int flag, int mode, struct proc *p) { - int unit = minor(dev); - - if (unit == USB_DEV_MINOR) { - usb_async_proc = 0; - usb_dev_open = 0; - } - return (0); } @@ -569,24 +500,6 @@ usbioctl(dev_t devt, u_long cmd, caddr_t int unit = minor(devt); int error; - if (unit == USB_DEV_MINOR) { - switch (cmd) { - case FIONBIO: - /* All handled in the upper FS layer. */ - return (0); - - case FIOASYNC: - if (*(int *)data) - usb_async_proc = p; - else - usb_async_proc = 0; - return (0); - - default: - return (EINVAL); - } - } - sc = usb_cd.cd_devs[unit]; if (sc->sc_bus->dying) @@ -717,83 +630,6 @@ usbioctl(dev_t devt, u_long cmd, caddr_t return (0); } -int -usbpoll(dev_t dev, int events, struct proc *p) -{ - int revents, mask, s; - - if (minor(dev) == USB_DEV_MINOR) { - revents = 0; - mask = POLLIN | POLLRDNORM; - - s = splusb(); - if (events & mask && usb_nevents > 0) - revents |= events & mask; - if (revents == 0 && events & mask) - selrecord(p, &usb_selevent); - splx(s); - - return (revents); - } else { - return (POLLERR); - } -} - -void filt_usbrdetach(struct knote *); -int filt_usbread(struct knote *, long); -int usbkqfilter(dev_t, struct knote *); - -void -filt_usbrdetach(struct knote *kn) -{ - int s; - - s = splusb(); - SLIST_REMOVE(&usb_selevent.si_note, kn, knote, kn_selnext); - splx(s); -} - -int -filt_usbread(struct knote *kn, long hint) -{ - - if (usb_nevents == 0) - return (0); - - kn->kn_data = sizeof(struct usb_event); - return (1); -} - -struct filterops usbread_filtops = - { 1, NULL, filt_usbrdetach, filt_usbread }; - -int -usbkqfilter(dev_t dev, struct knote *kn) -{ - struct klist *klist; - int s; - - switch (kn->kn_filter) { - case EVFILT_READ: - if (minor(dev) != USB_DEV_MINOR) - return (1); - klist = &usb_selevent.si_note; - kn->kn_fop = &usbread_filtops; - break; - - default: - return (1); - } - - kn->kn_hook = NULL; - - s = splusb(); - SLIST_INSERT_HEAD(klist, kn, kn_selnext); - splx(s); - - return (0); -} - /* * Explore device tree from the root. We need mutual exclusion to this * hub while traversing the device tree, but this is guaranteed since this @@ -846,78 +682,6 @@ usb_needs_reattach(usbd_device_handle de usb_needs_explore(dev, 0); } -/* Called at splusb() */ -int -usb_get_next_event(struct usb_event *ue) -{ - struct usb_event_q *ueq; - - if (usb_nevents <= 0) - return (0); - ueq = SIMPLEQ_FIRST(&usb_events); -#ifdef DIAGNOSTIC - if (ueq == NULL) { - printf("usb: usb_nevents got out of sync! %d\n", usb_nevents); - usb_nevents = 0; - return (0); - } -#endif - *ue = ueq->ue; - SIMPLEQ_REMOVE_HEAD(&usb_events, next); - free(ueq, M_USBDEV); - usb_nevents--; - return (1); -} - -void -usbd_add_dev_event(int type, usbd_device_handle udev) -{ - struct usb_event ue; - - usbd_fill_deviceinfo(udev, &ue.u.ue_device, USB_EVENT_IS_ATTACH(type)); - usb_add_event(type, &ue); -} - -void -usbd_add_drv_event(int type, usbd_device_handle udev, struct device *dev) -{ - struct usb_event ue; - - ue.u.ue_driver.ue_cookie = udev->cookie; - strncpy(ue.u.ue_driver.ue_devname, dev->dv_xname, - sizeof ue.u.ue_driver.ue_devname); - usb_add_event(type, &ue); -} - -void -usb_add_event(int type, struct usb_event *uep) -{ - struct usb_event_q *ueq; - struct usb_event ue; - struct timespec thetime; - int s; - - nanotime(&thetime); - /* Don't want to wait here inside splusb() */ - ueq = malloc(sizeof *ueq, M_USBDEV, M_WAITOK); - ueq->ue = *uep; - ueq->ue.ue_type = type; - ueq->ue.ue_time = thetime; - - s = splusb(); - if (++usb_nevents >= USB_MAX_EVENTS) { - /* Too many queued events, drop an old one. */ - DPRINTFN(-1,("usb: event dropped\n")); - (void)usb_get_next_event(&ue); - } - SIMPLEQ_INSERT_TAIL(&usb_events, ueq, next); - wakeup(&usb_events); - selwakeup(&usb_selevent); - if (usb_async_proc != NULL) - psignal(usb_async_proc, SIGIO); - splx(s); -} - void usb_schedsoftintr(usbd_bus_handle bus) { @@ -959,7 +723,6 @@ int usb_detach(struct device *self, int flags) { struct usb_softc *sc = (struct usb_softc *)self; - struct usb_event ue; DPRINTF(("usb_detach: start\n")); @@ -979,9 +742,6 @@ usb_detach(struct device *self, int flag softintr_disestablish(sc->sc_bus->soft); sc->sc_bus->soft = NULL; } - - ue.u.ue_ctrlr.ue_bus = sc->sc_dev.dv_unit; - usb_add_event(USB_EVENT_CTRLR_DETACH, &ue); return (0); } Index: usb_subr.c =================================================================== RCS file: /cvs/src/sys/dev/usb/usb_subr.c,v retrieving revision 1.79 diff -u -p -r1.79 usb_subr.c --- usb_subr.c 16 Jan 2011 22:35:29 -0000 1.79 +++ usb_subr.c 23 Jan 2011 03:54:47 -0000 @@ -1234,8 +1234,6 @@ usbd_new_device(struct device *parent, u DPRINTF(("usbd_new_device: new dev (addr %d), dev=%p, parent=%p\n", addr, dev, parent)); - usbd_add_dev_event(USB_EVENT_DEVICE_ATTACH, dev); - err = usbd_probe_and_attach(parent, dev, port, addr); if (err) { usbd_remove_device(dev, up); @@ -1489,7 +1487,6 @@ usb_disconnect_port(struct usbd_port *up } } - usbd_add_dev_event(USB_EVENT_DEVICE_DETACH, dev); dev->bus->devices[dev->address] = NULL; up->device = NULL; usb_free_device(dev); Index: usbdi.h =================================================================== RCS file: /cvs/src/sys/dev/usb/usbdi.h,v retrieving revision 1.38 diff -u -p -r1.38 usbdi.h --- usbdi.h 16 Jan 2011 22:35:29 -0000 1.38 +++ usbdi.h 23 Jan 2011 03:54:47 -0000 @@ -151,9 +151,6 @@ void usbd_set_polling(usbd_device_handle const char *usbd_errstr(usbd_status err); -void usbd_add_dev_event(int, usbd_device_handle); -void usbd_add_drv_event(int, usbd_device_handle, struct device *); - char *usbd_devinfo_alloc(usbd_device_handle dev, int showclass); void usbd_devinfo_free(char *devinfop); @@ -185,8 +182,8 @@ void usb_desc_iter_init(usbd_device_hand const usb_descriptor_t *usb_desc_iter_next(usbd_desc_iter_t *); /* - * The usb_task structs form a queue of things to run in the USB event - * thread. Normally this is just device discovery when a connect/disconnect + * The usb_task structs form a queue of things to run in the USB task + * threads. Normally this is just device discovery when a connect/disconnect * has been detected. But it may also be used by drivers that need to * perform (short) tasks that must have a process context. */ Index: uscanner.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uscanner.c,v retrieving revision 1.43 diff -u -p -r1.43 uscanner.c --- uscanner.c 24 Sep 2010 08:33:59 -0000 1.43 +++ uscanner.c 23 Jan 2011 03:54:47 -0000 @@ -321,9 +321,6 @@ uscanner_attach(struct device *parent, s sc->sc_bulkin = ed_bulkin->bEndpointAddress; sc->sc_bulkout = ed_bulkout->bEndpointAddress; - - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); } int @@ -604,8 +601,6 @@ uscanner_detach(struct device *self, int /* Nuke the vnodes for any open instances (calls close). */ mn = self->dv_unit * USB_MAX_ENDPOINTS; vdevgone(maj, mn, mn + USB_MAX_ENDPOINTS - 1, VCHR); - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: uslcom.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uslcom.c,v retrieving revision 1.21 diff -u -p -r1.21 uslcom.c --- uslcom.c 24 Sep 2010 08:33:59 -0000 1.21 +++ uslcom.c 23 Jan 2011 03:54:47 -0000 @@ -241,9 +241,6 @@ uslcom_attach(struct device *parent, str uca.arg = sc; uca.info = NULL; - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); } @@ -257,9 +254,6 @@ uslcom_detach(struct device *self, int f rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: uthum.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uthum.c,v retrieving revision 1.15 diff -u -p -r1.15 uthum.c --- uthum.c 24 Sep 2010 08:33:59 -0000 1.15 +++ uthum.c 23 Jan 2011 03:54:48 -0000 @@ -220,8 +220,6 @@ uthum_attach(struct device *parent, stru sc->sc_olen = hid_report_size(desc, size, hid_output, repid); sc->sc_flen = hid_report_size(desc, size, hid_feature, repid); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_hdev.sc_dev); printf("\n"); if (sc->sc_flen < 32) { @@ -281,9 +279,6 @@ uthum_detach(struct device *self, int fl if (sc->sc_sensortask != NULL) sensor_task_unregister(sc->sc_sensortask); } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_hdev.sc_dev); return (rv); } Index: uticom.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uticom.c,v retrieving revision 1.12 diff -u -p -r1.12 uticom.c --- uticom.c 17 Dec 2010 21:02:58 -0000 1.12 +++ uticom.c 23 Jan 2011 03:54:48 -0000 @@ -497,8 +497,6 @@ uticom_detach(struct device *self, int f sc->sc_intr_pipe = NULL; } - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (0); } Index: utrh.c =================================================================== RCS file: /cvs/src/sys/dev/usb/utrh.c,v retrieving revision 1.6 diff -u -p -r1.6 utrh.c --- utrh.c 19 Dec 2010 21:32:58 -0000 1.6 +++ utrh.c 23 Jan 2011 03:54:48 -0000 @@ -140,8 +140,6 @@ utrh_attach(struct device *parent, struc } sc->sc_ibuf = malloc(sc->sc_ilen, M_USBDEV, M_WAITOK); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_hdev.sc_dev); printf("\n"); /* attach sensor */ @@ -191,9 +189,6 @@ utrh_detach(struct device *self, int fla free(sc->sc_ibuf, M_USBDEV); sc->sc_ibuf = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_hdev.sc_dev); return (rv); } Index: uts.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uts.c,v retrieving revision 1.27 diff -u -p -r1.27 uts.c --- uts.c 24 Sep 2010 08:33:59 -0000 1.27 +++ uts.c 23 Jan 2011 03:54:48 -0000 @@ -221,8 +221,6 @@ uts_attach(struct device *parent, struct return; } - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); - a.accessops = &uts_accessops; a.accesscookie = sc; @@ -245,8 +243,6 @@ uts_detach(struct device *self, int flag rv = config_detach(sc->sc_wsmousedev, flags); sc->sc_wsmousedev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return (rv); } Index: utwitch.c =================================================================== RCS file: /cvs/src/sys/dev/usb/utwitch.c,v retrieving revision 1.2 diff -u -p -r1.2 utwitch.c --- utwitch.c 19 Dec 2010 21:32:58 -0000 1.2 +++ utwitch.c 23 Jan 2011 03:54:48 -0000 @@ -154,8 +154,6 @@ utwitch_attach(struct device *parent, st } sc->sc_ibuf = malloc(sc->sc_ilen, M_USBDEV, M_WAITOK); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_hdev.sc_dev); printf("\n"); @@ -207,9 +205,6 @@ utwitch_detach(struct device *self, int free(sc->sc_ibuf, M_USBDEV); sc->sc_ibuf = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_hdev.sc_dev); return (rv); } Index: uvideo.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uvideo.c,v retrieving revision 1.148 diff -u -p -r1.148 uvideo.c --- uvideo.c 16 Jan 2011 22:35:29 -0000 1.148 +++ uvideo.c 23 Jan 2011 03:54:50 -0000 @@ -556,8 +556,6 @@ uvideo_attach_hook(void *arg) sc->sc_mmap_cur = 0; sc->sc_mmap_count = 0; - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, &sc->sc_dev); - DPRINTF(1, "uvideo_attach: doing video_attach_mi\n"); sc->sc_videodev = video_attach_mi(&uvideo_hw_if, sc, &sc->sc_dev); } @@ -575,8 +573,6 @@ uvideo_detach(struct device *self, int f if (sc->sc_videodev != NULL) rv = config_detach(sc->sc_videodev, flags); - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, &sc->sc_dev); return (rv); } Index: uvisor.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uvisor.c,v retrieving revision 1.42 diff -u -p -r1.42 uvisor.c --- uvisor.c 24 Sep 2010 08:33:59 -0000 1.42 +++ uvisor.c 23 Jan 2011 03:54:50 -0000 @@ -289,9 +289,6 @@ uvisor_attach(struct device *parent, str goto bad; } - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - if (sc->sc_flags & VISOR) { sc->sc_numcon = UGETW(coninfo.num_ports); if (sc->sc_numcon > UVISOR_MAX_CONN) @@ -414,9 +411,6 @@ uvisor_detach(struct device *self, int f sc->sc_subdevs[i] = NULL; } } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); } Index: uvscom.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uvscom.c,v retrieving revision 1.22 diff -u -p -r1.22 uvscom.c --- uvscom.c 17 Dec 2010 21:53:34 -0000 1.22 +++ uvscom.c 23 Jan 2011 03:54:50 -0000 @@ -359,9 +359,6 @@ uvscom_attach(struct device *parent, str DPRINTF(("uvscom: in = 0x%x out = 0x%x intr = 0x%x\n", ucom->sc_bulkin_no, ucom->sc_bulkout_no, sc->sc_intr_number)); - usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, - &sc->sc_dev); - DPRINTF(("uplcom: in=0x%x out=0x%x intr=0x%x\n", uca.bulkin, uca.bulkout, sc->sc_intr_number )); sc->sc_subdev = config_found_sm(self, &uca, ucomprint, ucomsubmatch); @@ -386,9 +383,6 @@ uvscom_detach(struct device *self, int f rv = config_detach(sc->sc_subdev, flags); sc->sc_subdev = NULL; } - - usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, - &sc->sc_dev); return (rv); }
