diff options
author | thompsa <thompsa@FreeBSD.org> | 2009-02-27 17:27:16 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2009-02-27 17:27:16 +0000 |
commit | 1f16c7700d04a735aa3df3ed26ab236e680c21ad (patch) | |
tree | 799ccaf32ee5b67a3fd075acab472e59c72735d8 /sys/dev/usb/input | |
parent | 03a6b7577d94c2fbc97da1c5539e0bcae374f497 (diff) | |
download | FreeBSD-src-1f16c7700d04a735aa3df3ed26ab236e680c21ad.zip FreeBSD-src-1f16c7700d04a735aa3df3ed26ab236e680c21ad.tar.gz |
Change USB over to make_dev() for all device nodes, previously it hooked into
the devfs clone handler to open the (invisible) devices on the fly.
The /dev entries are layed out as follows,
/dev/usbctl = master device
/dev/usb/0.1.0.5 = usb device, (<bus>.<dev>.<iface>.<endpoint>)
/dev/ugen0.1 -> usb/0.1.0.0 = ugen link to ctrl endpoint
This also removes the custom permissions model from USB. Bump
__FreeBSD_version to 800066.
Submitted by: rink (earlier version)
Diffstat (limited to 'sys/dev/usb/input')
-rw-r--r-- | sys/dev/usb/input/uhid.c | 12 | ||||
-rw-r--r-- | sys/dev/usb/input/ums.c | 14 |
2 files changed, 10 insertions, 16 deletions
diff --git a/sys/dev/usb/input/uhid.c b/sys/dev/usb/input/uhid.c index 563bd99..c2307f5 100644 --- a/sys/dev/usb/input/uhid.c +++ b/sys/dev/usb/input/uhid.c @@ -447,7 +447,7 @@ done: } static int -uhid_open(struct usb2_fifo *fifo, int fflags, struct thread *td) +uhid_open(struct usb2_fifo *fifo, int fflags) { struct uhid_softc *sc = fifo->priv_sc0; @@ -474,7 +474,7 @@ uhid_open(struct usb2_fifo *fifo, int fflags, struct thread *td) } static void -uhid_close(struct usb2_fifo *fifo, int fflags, struct thread *td) +uhid_close(struct usb2_fifo *fifo, int fflags) { if (fflags & (FREAD | FWRITE)) { usb2_fifo_free_buffer(fifo); @@ -483,7 +483,7 @@ uhid_close(struct usb2_fifo *fifo, int fflags, struct thread *td) static int uhid_ioctl(struct usb2_fifo *fifo, u_long cmd, void *addr, - int fflags, struct thread *td) + int fflags) { struct uhid_softc *sc = fifo->priv_sc0; struct usb2_gen_descriptor *ugd; @@ -734,13 +734,11 @@ uhid_attach(device_t dev) sc->sc_fsize); sc->sc_fsize = UHID_BSIZE; } - /* set interface permissions */ - usb2_set_iface_perm(uaa->device, uaa->info.bIfaceIndex, - UID_ROOT, GID_OPERATOR, 0644); error = usb2_fifo_attach(uaa->device, sc, &sc->sc_mtx, &uhid_fifo_methods, &sc->sc_fifo, - unit, 0 - 1, uaa->info.bIfaceIndex); + unit, 0 - 1, uaa->info.bIfaceIndex, + UID_ROOT, GID_OPERATOR, 0644); if (error) { goto detach; } diff --git a/sys/dev/usb/input/ums.c b/sys/dev/usb/input/ums.c index 04e2580..36460b4 100644 --- a/sys/dev/usb/input/ums.c +++ b/sys/dev/usb/input/ums.c @@ -583,13 +583,10 @@ ums_attach(device_t dev) sc->sc_status.dy = 0; sc->sc_status.dz = 0; - /* set interface permissions */ - usb2_set_iface_perm(uaa->device, uaa->info.bIfaceIndex, - UID_ROOT, GID_OPERATOR, 0644); - err = usb2_fifo_attach(uaa->device, sc, &sc->sc_mtx, &ums_fifo_methods, &sc->sc_fifo, - unit, 0 - 1, uaa->info.bIfaceIndex); + unit, 0 - 1, uaa->info.bIfaceIndex, + UID_ROOT, GID_OPERATOR, 0644); if (err) { goto detach; } @@ -697,7 +694,7 @@ ums_reset_buf(struct ums_softc *sc) } static int -ums_open(struct usb2_fifo *fifo, int fflags, struct thread *td) +ums_open(struct usb2_fifo *fifo, int fflags) { struct ums_softc *sc = fifo->priv_sc0; @@ -724,7 +721,7 @@ ums_open(struct usb2_fifo *fifo, int fflags, struct thread *td) } static void -ums_close(struct usb2_fifo *fifo, int fflags, struct thread *td) +ums_close(struct usb2_fifo *fifo, int fflags) { if (fflags & FREAD) { usb2_fifo_free_buffer(fifo); @@ -732,8 +729,7 @@ ums_close(struct usb2_fifo *fifo, int fflags, struct thread *td) } static int -ums_ioctl(struct usb2_fifo *fifo, u_long cmd, void *addr, - int fflags, struct thread *td) +ums_ioctl(struct usb2_fifo *fifo, u_long cmd, void *addr, int fflags) { struct ums_softc *sc = fifo->priv_sc0; mousemode_t mode; |