From owner-p4-projects@FreeBSD.ORG Fri Dec 7 22:49:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0CDE316A420; Fri, 7 Dec 2007 22:49:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85FA616A41A for ; Fri, 7 Dec 2007 22:49:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6365C13C458 for ; Fri, 7 Dec 2007 22:49:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lB7MnFSq047618 for ; Fri, 7 Dec 2007 22:49:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lB7MnF5G047615 for perforce@freebsd.org; Fri, 7 Dec 2007 22:49:15 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 7 Dec 2007 22:49:15 GMT Message-Id: <200712072249.lB7MnF5G047615@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 130432 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Dec 2007 22:49:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=130432 Change 130432 by hselasky@hselasky_laptop001 on 2007/12/07 22:49:14 This commit is part of USB device side support. o Add C-routines that build up the real USB descriptors from the USB template descriptors. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb.h#22 edit .. //depot/projects/usb/src/sys/dev/usb/usb_template.c#1 add .. //depot/projects/usb/src/sys/dev/usb/usb_template.h#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb.h#22 (text+ko) ==== @@ -274,6 +274,7 @@ #define UE_ISO_SYNC 0x0c #define UE_GET_ISO_TYPE(a) ((a) & UE_ISO_TYPE) uWord wMaxPacketSize; +#define UE_ZERO_MPS 0xFFFF /* for internal use only */ uByte bInterval; } __packed usb_endpoint_descriptor_t; ==== //depot/projects/usb/src/sys/dev/usb/usb_template.h#2 (text+ko) ==== @@ -31,6 +31,8 @@ #ifndef _USB_TEMPLATE_H_ #define _USB_TEMPLATE_H_ +typedef const uint8_t * (usbd_temp_get_string_desc_t)(struct usbd_device *udev, uint16_t langid, uint8_t index); + struct usb_temp_packet_size { uint16_t mps[USB_SPEED_MAX]; }; @@ -39,6 +41,7 @@ const void **ppRawDesc; const struct usb_temp_packet_size *pPacketSize; uint8_t direction; /* UE_DIR_IN or UE_DIR_OUT */ + uint8_t endpoint; /* endpoint address */ uint8_t bmAttributes; }; @@ -56,10 +59,11 @@ const struct usb_temp_interface_desc **ppIfaceDesc; uint8_t bmAttributes; uint8_t bMaxPower; + uint8_t iConfiguration; }; struct usb_temp_device_desc { - const void ***pppRawStringDesc; + usbd_temp_get_string_desc_t *pGetStringDescFn; const struct usb_temp_config_desc **ppConfigDesc; uint16_t idVendor; uint16_t idProduct;