svn commit: r271159 - in head: . share/man/man4 sys/conf sys/dev/usb sys/dev/usb/misc sys/dev/usb/quirk sys/modules/usb sys/modules/usb/uled
Konstantin Belousov
kostikbel at gmail.com
Fri Sep 5 13:08:37 UTC 2014
On Fri, Sep 05, 2014 at 11:25:58AM +0000, Kevin Lo wrote:
> Author: kevlo
> Date: Fri Sep 5 11:25:58 2014
> New Revision: 271159
> URL: http://svnweb.freebsd.org/changeset/base/271159
>
> Log:
> The USB LED driver for the Dream Cheeky WebMail Notifier.
>
> Reviewed by: hselasky
>
> Added:
> head/share/man/man4/uled.4 (contents, props changed)
> head/sys/dev/usb/misc/uled.c (contents, props changed)
> head/sys/dev/usb/uled_ioctl.h (contents, props changed)
> head/sys/modules/usb/uled/
> head/sys/modules/usb/uled/Makefile (contents, props changed)
> Modified:
> head/Makefile
^^^^^^^^^
> head/share/man/man4/Makefile
> head/sys/conf/NOTES
> head/sys/conf/files
> head/sys/dev/usb/quirk/usb_quirk.c
> head/sys/dev/usb/usbdevs
> head/sys/modules/usb/Makefile
>
> Modified: head/Makefile
> ==============================================================================
> --- head/Makefile Fri Sep 5 11:11:15 2014 (r271158)
> +++ head/Makefile Fri Sep 5 11:25:58 2014 (r271159)
> @@ -1,6 +1,42 @@
> #
> # $FreeBSD$
> #
> +# Copyright (c) 2014 Kevin Lo. All rights reserved.
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions
> +# are met:
> +# 1. Redistributions of source code must retain the above copyright
> +# notice, this list of conditions and the following disclaimer.
> +# 2. Redistributions in binary form must reproduce the above copyright
> +# notice, this list of conditions and the following disclaimer in the
> +# documentation and/or other materials provided with the distribution.
> +#
> +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +# SUCH DAMAGE.
> +#
> +
> +S= ${.CURDIR}/../../..
> +
> +.PATH: $S/dev/usb/misc
> +
> +KMOD= uled
> +SRCS= opt_bus.h opt_usb.h device_if.h bus_if.h usb_if.h vnode_if.h usbdevs.h \
> + uled.c
> +
> +.include <bsd.kmod.mk>
> +#
> +# $FreeBSD$
> +#
> # The user-driven targets are:
> #
> # universe - *Really* build *everything* (buildworld and
>
It seems you mis-patched the commit tree.
> Modified: head/share/man/man4/Makefile
> ==============================================================================
> --- head/share/man/man4/Makefile Fri Sep 5 11:11:15 2014 (r271158)
> +++ head/share/man/man4/Makefile Fri Sep 5 11:25:58 2014 (r271159)
> @@ -527,6 +527,7 @@ MAN= aac.4 \
> uhso.4 \
> uipaq.4 \
> ukbd.4 \
> + uled.4 \
> ulpt.4 \
> umass.4 \
> umcs.4 \
>
> Added: head/share/man/man4/uled.4
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/share/man/man4/uled.4 Fri Sep 5 11:25:58 2014 (r271159)
> @@ -0,0 +1,95 @@
> +.\"
> +.\" Copyright (c) 2014 Kevin Lo
> +.\" All rights reserved.
> +.\"
> +.\" Redistribution and use in source and binary forms, with or without
> +.\" modification, are permitted provided that the following conditions
> +.\" are met:
> +.\" 1. Redistributions of source code must retain the above copyright
> +.\" notice, this list of conditions and the following disclaimer.
> +.\" 2. Redistributions in binary form must reproduce the above copyright
> +.\" notice, this list of conditions and the following disclaimer in the
> +.\" documentation and/or other materials provided with the distribution.
> +.\"
> +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +.\" SUCH DAMAGE.
> +.\"
> +.\" $FreeBSD$
> +.\"
> +.Dd September 5, 2014
> +.Dt ULED 4
> +.Os
> +.Sh NAME
> +.Nm uled
> +.Nd USB LED driver
> +.Sh SYNOPSIS
> +To compile this driver into the kernel, place the following lines into
> +your kernel configuration file:
> +.Bd -ragged -offset indent
> +.Cd "device uled"
> +.Cd "device usb"
> +.Ed
> +.Pp
> +Alternatively, to load the driver as a module at boot time,
> +place the following line in
> +.Xr loader.conf 5 :
> +.Bd -literal -offset indent
> +uled_load="YES"
> +.Ed
> +.Sh DESCRIPTION
> +The
> +.Nm
> +driver provides support for the Dream Cheeky WebMail Notifier device.
> +.Pp
> +Subsequently, the
> +.Pa /dev/uled0
> +device can be used by userland applications.
> +.Sh IOCTLS
> +The following
> +.Xr ioctl 2
> +commands can be performed on
> +.Pa /dev/uled0 ,
> +which are defined in
> +.In dev/usb/uled_ioctl.h :
> +.Bl -tag -width indent
> +.It Dv ULED_GET_COLOR
> +The command returns LED colors with values for RGB.
> +This
> +.Xr ioctl 2
> +takes the following structure:
> +.Bd -literal
> +struct uled_color {
> + uint8_t red;
> + uint8_t green;
> + uint8_t blue;
> +};
> +.Ed
> +.Pp
> +.It Dv ULED_SET_COLOR
> +The command sets LED colors with values for RGB.
> +It uses the same structure as above.
> +.El
> +.Sh FILES
> +.Bl -tag -width ".Pa /dev/uled0" -compact
> +.It Pa /dev/uled0
> +blocking device node
> +.El
> +.Sh SEE ALSO
> +.Xr ohci 4 ,
> +.Xr uhci 4 ,
> +.Xr usb 4
> +.Sh AUTHORS
> +.An -nosplit
> +The
> +.Nm
> +driver was written by
> +.An Kevin Lo Aq Mt kevlo at FreeBSD.org .
>
> Modified: head/sys/conf/NOTES
> ==============================================================================
> --- head/sys/conf/NOTES Fri Sep 5 11:11:15 2014 (r271158)
> +++ head/sys/conf/NOTES Fri Sep 5 11:25:58 2014 (r271159)
> @@ -2653,6 +2653,8 @@ device usb
> device udbp
> # USB Fm Radio
> device ufm
> +# USB LED
> +device uled
> # Human Interface Device (anything with buttons and dials)
> device uhid
> # USB keyboard
>
> Modified: head/sys/conf/files
> ==============================================================================
> --- head/sys/conf/files Fri Sep 5 11:11:15 2014 (r271158)
> +++ head/sys/conf/files Fri Sep 5 11:25:58 2014 (r271159)
> @@ -2542,6 +2542,7 @@ dev/usb/serial/usb_serial.c optional uc
> #
> dev/usb/misc/ufm.c optional ufm
> dev/usb/misc/udbp.c optional udbp
> +dev/usb/misc/uled.c optional uled
> #
> # USB input drivers
> #
>
> Added: head/sys/dev/usb/misc/uled.c
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/sys/dev/usb/misc/uled.c Fri Sep 5 11:25:58 2014 (r271159)
> @@ -0,0 +1,275 @@
> +/*-
> + * Copyright (c) 2014 Kevin Lo
> + * All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + * notice, this list of conditions, and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in the
> + * documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
> + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> + * SUCH DAMAGE.
> + *
> + */
> +
> +#include <sys/cdefs.h>
> +__FBSDID("$FreeBSD$");
> +
> +#include <sys/stdint.h>
> +#include <sys/stddef.h>
> +#include <sys/param.h>
> +#include <sys/queue.h>
> +#include <sys/types.h>
> +#include <sys/systm.h>
> +#include <sys/kernel.h>
> +#include <sys/bus.h>
> +#include <sys/module.h>
> +#include <sys/lock.h>
> +#include <sys/mutex.h>
> +#include <sys/condvar.h>
> +#include <sys/sysctl.h>
> +#include <sys/sx.h>
> +#include <sys/unistd.h>
> +#include <sys/callout.h>
> +#include <sys/malloc.h>
> +#include <sys/priv.h>
> +#include <sys/conf.h>
> +#include <sys/fcntl.h>
> +
> +#include <dev/usb/usb.h>
> +#include <dev/usb/usbdi.h>
> +#include <dev/usb/usbhid.h>
> +#include "usbdevs.h"
> +
> +#define USB_DEBUG_VAR usb_debug
> +#include <dev/usb/usb_debug.h>
> +
> +#include <dev/usb/uled_ioctl.h>
> +
> +struct uled_softc {
> + struct usb_fifo_sc sc_fifo;
> + struct mtx sc_mtx;
> +
> + struct usb_device *sc_udev;
> + struct uled_color sc_color;
> +
> + uint8_t sc_state;
> +#define ULED_ENABLED 0x01
> +};
> +
> +/* prototypes */
> +
> +static device_probe_t uled_probe;
> +static device_attach_t uled_attach;
> +static device_detach_t uled_detach;
> +
> +static usb_fifo_open_t uled_open;
> +static usb_fifo_close_t uled_close;
> +static usb_fifo_ioctl_t uled_ioctl;
> +
> +static struct usb_fifo_methods uled_fifo_methods = {
> + .f_open = &uled_open,
> + .f_close = &uled_close,
> + .f_ioctl = &uled_ioctl,
> + .basename[0] = "uled",
> +};
> +
> +static usb_error_t uled_ctrl_msg(struct uled_softc *, uint8_t, uint8_t,
> + uint16_t, uint16_t, void *buf, uint16_t);
> +static int uled_enable(struct uled_softc *);
> +
> +static devclass_t uled_devclass;
> +
> +static device_method_t uled_methods[] = {
> + DEVMETHOD(device_probe, uled_probe),
> + DEVMETHOD(device_attach, uled_attach),
> + DEVMETHOD(device_detach, uled_detach),
> +
> + DEVMETHOD_END
> +};
> +
> +static driver_t uled_driver = {
> + .name = "uled",
> + .methods = uled_methods,
> + .size = sizeof(struct uled_softc),
> +};
> +
> +DRIVER_MODULE(uled, uhub, uled_driver, uled_devclass, NULL, NULL);
> +MODULE_DEPEND(uled, usb, 1, 1, 1);
> +MODULE_VERSION(uled, 1);
> +
> +static const STRUCT_USB_HOST_ID uled_devs[] = {
> + {USB_VPI(USB_VENDOR_DREAMLINK, USB_PRODUCT_DREAMLINK_DL100B, 0)},
> +};
> +
> +static int
> +uled_probe(device_t dev)
> +{
> + struct usb_attach_arg *uaa;
> +
> + uaa = device_get_ivars(dev);
> + if (uaa->usb_mode != USB_MODE_HOST)
> + return (ENXIO);
> + if (uaa->info.bInterfaceClass != UICLASS_HID)
> + return (ENXIO);
> +
> + return (usbd_lookup_id_by_uaa(uled_devs, sizeof(uled_devs), uaa));
> +}
> +
> +static int
> +uled_attach(device_t dev)
> +{
> + struct usb_attach_arg *uaa;
> + struct uled_softc *sc;
> + int unit;
> + usb_error_t error;
> +
> + uaa = device_get_ivars(dev);
> + sc = device_get_softc(dev);
> + unit = device_get_unit(dev);
> +
> + device_set_usb_desc(dev);
> + mtx_init(&sc->sc_mtx, "uled lock", NULL, MTX_DEF | MTX_RECURSE);
> +
> + sc->sc_udev = uaa->device;
> +
> + error = usb_fifo_attach(uaa->device, sc, &sc->sc_mtx,
> + &uled_fifo_methods, &sc->sc_fifo, unit, -1,
> + uaa->info.bIfaceIndex, UID_ROOT, GID_OPERATOR, 0644);
> + if (error != 0)
> + goto detach;
> +
> + sc->sc_color.red = 0;
> + sc->sc_color.green = 0;
> + sc->sc_color.blue = 0;
> +
> + return (0);
> +
> +detach:
> + uled_detach(dev);
> + return (ENOMEM);
> +}
> +
> +static int
> +uled_detach(device_t dev)
> +{
> + struct uled_softc *sc;
> +
> + sc = device_get_softc(dev);
> + usb_fifo_detach(&sc->sc_fifo);
> + mtx_destroy(&sc->sc_mtx);
> + return (0);
> +}
> +
> +static usb_error_t
> +uled_ctrl_msg(struct uled_softc *sc, uint8_t rt, uint8_t reqno,
> + uint16_t value, uint16_t index, void *buf, uint16_t buflen)
> +{
> + struct usb_device_request req;
> +
> + req.bmRequestType = rt;
> + req.bRequest = reqno;
> + USETW(req.wValue, value);
> + USETW(req.wIndex, index);
> + USETW(req.wLength, buflen);
> +
> + return (usbd_do_request_flags(sc->sc_udev, &sc->sc_mtx, &req, buf,
> + 0, NULL, 2000));
> +}
> +
> +static int
> +uled_enable(struct uled_softc *sc)
> +{
> + static uint8_t cmdbuf[] = { 0x1f, 0x02, 0x00, 0x5f, 0x00, 0x00, 0x1a,
> + 0x03 };
> + int error;
> +
> + sc->sc_state |= ULED_ENABLED;
> + mtx_lock(&sc->sc_mtx);
> + error = uled_ctrl_msg(sc, UT_WRITE_CLASS_INTERFACE, UR_SET_REPORT,
> + 0x200, 0, cmdbuf, sizeof(cmdbuf));
> + mtx_unlock(&sc->sc_mtx);
> + return (error);
> +}
> +
> +static int
> +uled_open(struct usb_fifo *fifo, int fflags)
> +{
> + if (fflags & FREAD) {
> + struct uled_softc *sc;
> + int rc;
> +
> + sc = usb_fifo_softc(fifo);
> + if (sc->sc_state & ULED_ENABLED)
> + return (EBUSY);
> + if ((rc = uled_enable(sc)) != 0)
> + return (rc);
> + }
> + return (0);
> +}
> +
> +static void
> +uled_close(struct usb_fifo *fifo, int fflags)
> +{
> + if (fflags & FREAD) {
> + struct uled_softc *sc;
> +
> + sc = usb_fifo_softc(fifo);
> + sc->sc_state &= ~ULED_ENABLED;
> + }
> +}
> +
> +static int
> +uled_ioctl(struct usb_fifo *fifo, u_long cmd, void *addr, int fflags)
> +{
> + struct uled_softc *sc;
> + struct uled_color color;
> + int error;
> +
> + sc = usb_fifo_softc(fifo);
> + error = 0;
> +
> + mtx_lock(&sc->sc_mtx);
> +
> + switch(cmd) {
> + case ULED_GET_COLOR:
> + *(struct uled_color *)addr = sc->sc_color;
> + break;
> + case ULED_SET_COLOR:
> + color = *(struct uled_color *)addr;
> + uint8_t buf[8];
> +
> + sc->sc_color.red = color.red;
> + sc->sc_color.green = color.green;
> + sc->sc_color.blue = color.blue;
> +
> + buf[0] = color.red;
> + buf[1] = color.green;
> + buf[2] = color.blue;
> + buf[3] = buf[4] = buf[5] = 0;
> + buf[6] = 0x1a;
> + buf[7] = 0x05;
> + error = uled_ctrl_msg(sc, UT_WRITE_CLASS_INTERFACE,
> + UR_SET_REPORT, 0x200, 0, buf, sizeof(buf));
> + break;
> + default:
> + error = ENOTTY;
> + break;
> + }
> +
> + mtx_unlock(&sc->sc_mtx);
> + return (error);
> +}
>
> Modified: head/sys/dev/usb/quirk/usb_quirk.c
> ==============================================================================
> --- head/sys/dev/usb/quirk/usb_quirk.c Fri Sep 5 11:11:15 2014 (r271158)
> +++ head/sys/dev/usb/quirk/usb_quirk.c Fri Sep 5 11:25:58 2014 (r271159)
> @@ -110,6 +110,7 @@ static struct usb_quirk_entry usb_quirks
> USB_QUIRK(CYBERPOWER, 1500CAVRLCD, 0x0000, 0xffff, UQ_HID_IGNORE),
> USB_QUIRK(CYPRESS, SILVERSHIELD, 0x0000, 0xffff, UQ_HID_IGNORE),
> USB_QUIRK(DELORME, EARTHMATE, 0x0000, 0xffff, UQ_HID_IGNORE),
> + USB_QUIRK(DREAMLINK, DL100B, 0x0000, 0xffff, UQ_HID_IGNORE),
> USB_QUIRK(ITUNERNET, USBLCD2X20, 0x0000, 0xffff, UQ_HID_IGNORE),
> USB_QUIRK(ITUNERNET, USBLCD4X20, 0x0000, 0xffff, UQ_HID_IGNORE),
> USB_QUIRK(LIEBERT, POWERSURE_PXT, 0x0000, 0xffff, UQ_HID_IGNORE),
>
> Added: head/sys/dev/usb/uled_ioctl.h
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/sys/dev/usb/uled_ioctl.h Fri Sep 5 11:25:58 2014 (r271159)
> @@ -0,0 +1,43 @@
> +/*-
> + * Copyright (c) 2014 Kevin Lo
> + * All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in the
> + * documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> + * SUCH DAMAGE.
> + *
> + * $FreeBSD$
> + */
> +
> +#ifndef _ULED_IOCTL_H_
> +#define _ULED_IOCTL_H_
> +
> +#include <sys/ioccom.h>
> +
> +struct uled_color {
> + uint8_t red;
> + uint8_t green;
> + uint8_t blue;
> +};
> +
> +#define ULED_GET_COLOR _IOR('U', 205, struct uled_color)
> +#define ULED_SET_COLOR _IOW('U', 206, struct uled_color)
> +
> +#endif /* _ULED_IOCTL_H_ */
>
> Modified: head/sys/dev/usb/usbdevs
> ==============================================================================
> --- head/sys/dev/usb/usbdevs Fri Sep 5 11:11:15 2014 (r271158)
> +++ head/sys/dev/usb/usbdevs Fri Sep 5 11:25:58 2014 (r271159)
> @@ -713,6 +713,7 @@ vendor LONGCHEER 0x1c9e Longcheer Holdin
> vendor MPMAN 0x1cae MpMan
> vendor DRESDENELEKTRONIK 0x1cf1 dresden elektronik
> vendor NEOTEL 0x1d09 Neotel
> +vendor DREAMLINK 0x1d34 Dream Link
> vendor PEGATRON 0x1d4d Pegatron
> vendor QISDA 0x1da5 Qisda
> vendor METAGEEK2 0x1dd5 MetaGeek
> @@ -1657,6 +1658,9 @@ product DMI DISK 0x2bcf Generic Disk
> /* DrayTek products */
> product DRAYTEK VIGOR550 0x0550 Vigor550
>
> +/* Dream Link products */
> +product DREAMLINK DL100B 0x0004 USB Webmail Notifier
> +
> /* dresden elektronik products */
> product DRESDENELEKTRONIK SENSORTERMINALBOARD 0x0001 SensorTerminalBoard
> product DRESDENELEKTRONIK WIRELESSHANDHELDTERMINAL 0x0004 Wireless Handheld Terminal
>
> Modified: head/sys/modules/usb/Makefile
> ==============================================================================
> --- head/sys/modules/usb/Makefile Fri Sep 5 11:11:15 2014 (r271158)
> +++ head/sys/modules/usb/Makefile Fri Sep 5 11:25:58 2014 (r271159)
> @@ -48,7 +48,7 @@ SUBDIR += ${_dwc_otg} ehci ${_musb} ohci
> ${_atmegadci} ${_avr32dci} ${_rsu} ${_rsufw} ${_saf1761otg}
> SUBDIR += ${_rum} ${_run} ${_runfw} ${_uath} upgt usie ural ${_zyd} ${_urtw}
> SUBDIR += ${_urtwn} ${_urtwnfw}
> -SUBDIR += atp uhid ukbd ums udbp ufm uep wsp
> +SUBDIR += atp uhid ukbd ums udbp ufm uep wsp uled
> SUBDIR += ucom u3g uark ubsa ubser uchcom ucycom ufoma uftdi ugensa uipaq ulpt \
> umct umcs umodem umoscom uplcom uslcom uvisor uvscom
> SUBDIR += uether aue axe axge cdce cue ${_kue} mos rue smsc udav uhso ipheth
>
> Added: head/sys/modules/usb/uled/Makefile
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/sys/modules/usb/uled/Makefile Fri Sep 5 11:25:58 2014 (r271159)
> @@ -0,0 +1,36 @@
> +#
> +# $FreeBSD$
> +#
> +# Copyright (c) 2014 Kevin Lo. All rights reserved.
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions
> +# are met:
> +# 1. Redistributions of source code must retain the above copyright
> +# notice, this list of conditions and the following disclaimer.
> +# 2. Redistributions in binary form must reproduce the above copyright
> +# notice, this list of conditions and the following disclaimer in the
> +# documentation and/or other materials provided with the distribution.
> +#
> +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +# SUCH DAMAGE.
> +#
> +
> +S= ${.CURDIR}/../../..
> +
> +.PATH: $S/dev/usb/misc
> +
> +KMOD= uled
> +SRCS= opt_bus.h opt_usb.h device_if.h bus_if.h usb_if.h vnode_if.h usbdevs.h \
> + uled.c
> +
> +.include <bsd.kmod.mk>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20140905/5a337e3e/attachment.sig>
More information about the svn-src-head
mailing list