From owner-svn-src-all@FreeBSD.ORG Tue Feb 3 05:50:37 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2756F1065672; Tue, 3 Feb 2009 05:50:37 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 147788FC1F; Tue, 3 Feb 2009 05:50:37 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n135oawH018665; Tue, 3 Feb 2009 05:50:36 GMT (envelope-from thompsa@svn.freebsd.org) Received: (from thompsa@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n135oapF018660; Tue, 3 Feb 2009 05:50:36 GMT (envelope-from thompsa@svn.freebsd.org) Message-Id: <200902030550.n135oapF018660@svn.freebsd.org> From: Andrew Thompson Date: Tue, 3 Feb 2009 05:50:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r188048 - in head/sys/dev/usb2: core include quirk X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Feb 2009 05:50:37 -0000 Author: thompsa Date: Tue Feb 3 05:50:36 2009 New Revision: 188048 URL: http://svn.freebsd.org/changeset/base/188048 Log: Move away from autogenerated enums, these values never change and its helpful to be able to look them up. Modified: head/sys/dev/usb2/core/usb2_error.c head/sys/dev/usb2/include/usb2_error.h head/sys/dev/usb2/include/usb2_mfunc.h head/sys/dev/usb2/include/usb2_revision.h head/sys/dev/usb2/quirk/usb2_quirk.h Modified: head/sys/dev/usb2/core/usb2_error.c ============================================================================== --- head/sys/dev/usb2/core/usb2_error.c Tue Feb 3 04:37:45 2009 (r188047) +++ head/sys/dev/usb2/core/usb2_error.c Tue Feb 3 05:50:36 2009 (r188048) @@ -29,8 +29,37 @@ #include -USB_MAKE_DEBUG_TABLE(USB_ERR); - +static const char* usb_errstr_table[USB_ERR_MAX] = { + [USB_ERR_NORMAL_COMPLETION] = "USB_ERR_NORMAL_COMPLETION", + [USB_ERR_BAD_ADDRESS] = "USB_ERR_BAD_ADDRESS", + [USB_ERR_BAD_BUFSIZE] = "USB_ERR_BAD_BUFSIZE", + [USB_ERR_BAD_CONTEXT] = "USB_ERR_BAD_CONTEXT", + [USB_ERR_BAD_FLAG] = "USB_ERR_BAD_FLAG", + [USB_ERR_CANCELLED] = "USB_ERR_CANCELLED", + [USB_ERR_DMA_LOAD_FAILED] = "USB_ERR_DMA_LOAD_FAILED", + [USB_ERR_INTERRUPTED] = "USB_ERR_INTERRUPTED", + [USB_ERR_INVAL] = "USB_ERR_INVAL", + [USB_ERR_IN_USE] = "USB_ERR_IN_USE", + [USB_ERR_IOERROR] = "USB_ERR_IOERROR", + [USB_ERR_NOMEM] = "USB_ERR_NOMEM", + [USB_ERR_NOT_CONFIGURED] = "USB_ERR_NOT_CONFIGURED", + [USB_ERR_NOT_LOCKED] = "USB_ERR_NOT_LOCKED", + [USB_ERR_NOT_STARTED] = "USB_ERR_NOT_STARTED", + [USB_ERR_NO_ADDR] = "USB_ERR_NO_ADDR", + [USB_ERR_NO_CALLBACK] = "USB_ERR_NO_CALLBACK", + [USB_ERR_NO_INTR_THREAD] = "USB_ERR_NO_INTR_THREAD", + [USB_ERR_NO_PIPE] = "USB_ERR_NO_PIPE", + [USB_ERR_NO_POWER] = "USB_ERR_NO_POWER", + [USB_ERR_NO_ROOT_HUB] = "USB_ERR_NO_ROOT_HUB", + [USB_ERR_PENDING_REQUESTS] = "USB_ERR_PENDING_REQUESTS", + [USB_ERR_SET_ADDR_FAILED] = "USB_ERR_SET_ADDR_FAILED", + [USB_ERR_SHORT_XFER] = "USB_ERR_SHORT_XFER", + [USB_ERR_STALLED] = "USB_ERR_STALLED", + [USB_ERR_TIMEOUT] = "USB_ERR_TIMEOUT", + [USB_ERR_TOO_DEEP] = "USB_ERR_TOO_DEEP", + [USB_ERR_ZERO_MAXP] = "USB_ERR_ZERO_MAXP", + [USB_ERR_ZERO_NFRAMES] = "USB_ERR_ZERO_NFRAMES", +}; /*------------------------------------------------------------------------* * usb2_errstr * @@ -39,5 +68,5 @@ USB_MAKE_DEBUG_TABLE(USB_ERR); const char * usb2_errstr(usb2_error_t err) { - return ((err < USB_ERR_MAX) ? USB_ERR[err] : "USB_ERR_UNKNOWN"); + return (err < USB_ERR_MAX ? usb_errstr_table[err] : "USB_ERR_UNKNOWN"); } Modified: head/sys/dev/usb2/include/usb2_error.h ============================================================================== --- head/sys/dev/usb2/include/usb2_error.h Tue Feb 3 04:37:45 2009 (r188047) +++ head/sys/dev/usb2/include/usb2_error.h Tue Feb 3 05:50:36 2009 (r188048) @@ -27,42 +27,37 @@ #ifndef _USB2_ERROR_H_ #define _USB2_ERROR_H_ -/* - * The "USB_STATUS" macro defines all the USB error codes. - * NOTE: "USB_ERR_NORMAL_COMPLETION" is not an error code. - * NOTE: "USB_ERR_STARTING" is not an error code. - */ -#define USB_ERR(m,n)\ -m(n, USB_ERR_NORMAL_COMPLETION)\ -m(n, USB_ERR_PENDING_REQUESTS)\ -m(n, USB_ERR_NOT_STARTED)\ -m(n, USB_ERR_INVAL)\ -m(n, USB_ERR_NOMEM)\ -m(n, USB_ERR_CANCELLED)\ -m(n, USB_ERR_BAD_ADDRESS)\ -m(n, USB_ERR_BAD_BUFSIZE)\ -m(n, USB_ERR_BAD_FLAG)\ -m(n, USB_ERR_NO_CALLBACK)\ -m(n, USB_ERR_IN_USE)\ -m(n, USB_ERR_NO_ADDR)\ -m(n, USB_ERR_NO_PIPE)\ -m(n, USB_ERR_ZERO_NFRAMES)\ -m(n, USB_ERR_ZERO_MAXP)\ -m(n, USB_ERR_SET_ADDR_FAILED)\ -m(n, USB_ERR_NO_POWER)\ -m(n, USB_ERR_TOO_DEEP)\ -m(n, USB_ERR_IOERROR)\ -m(n, USB_ERR_NOT_CONFIGURED)\ -m(n, USB_ERR_TIMEOUT)\ -m(n, USB_ERR_SHORT_XFER)\ -m(n, USB_ERR_STALLED)\ -m(n, USB_ERR_INTERRUPTED)\ -m(n, USB_ERR_DMA_LOAD_FAILED)\ -m(n, USB_ERR_BAD_CONTEXT)\ -m(n, USB_ERR_NO_ROOT_HUB)\ -m(n, USB_ERR_NO_INTR_THREAD)\ -m(n, USB_ERR_NOT_LOCKED)\ - -USB_MAKE_ENUM(USB_ERR); +enum { /* keep in sync with usb_errstr_table */ + USB_ERR_NORMAL_COMPLETION = 0, + USB_ERR_PENDING_REQUESTS, /* 1 */ + USB_ERR_NOT_STARTED, /* 2 */ + USB_ERR_INVAL, /* 3 */ + USB_ERR_NOMEM, /* 4 */ + USB_ERR_CANCELLED, /* 5 */ + USB_ERR_BAD_ADDRESS, /* 6 */ + USB_ERR_BAD_BUFSIZE, /* 7 */ + USB_ERR_BAD_FLAG, /* 8 */ + USB_ERR_NO_CALLBACK, /* 9 */ + USB_ERR_IN_USE, /* 10 */ + USB_ERR_NO_ADDR, /* 11 */ + USB_ERR_NO_PIPE, /* 12 */ + USB_ERR_ZERO_NFRAMES, /* 13 */ + USB_ERR_ZERO_MAXP, /* 14 */ + USB_ERR_SET_ADDR_FAILED, /* 15 */ + USB_ERR_NO_POWER, /* 16 */ + USB_ERR_TOO_DEEP, /* 17 */ + USB_ERR_IOERROR, /* 18 */ + USB_ERR_NOT_CONFIGURED, /* 19 */ + USB_ERR_TIMEOUT, /* 20 */ + USB_ERR_SHORT_XFER, /* 21 */ + USB_ERR_STALLED, /* 22 */ + USB_ERR_INTERRUPTED, /* 23 */ + USB_ERR_DMA_LOAD_FAILED, /* 24 */ + USB_ERR_BAD_CONTEXT, /* 25 */ + USB_ERR_NO_ROOT_HUB, /* 26 */ + USB_ERR_NO_INTR_THREAD, /* 27 */ + USB_ERR_NOT_LOCKED, /* 28 */ + USB_ERR_MAX +}; #endif /* _USB2_ERROR_H_ */ Modified: head/sys/dev/usb2/include/usb2_mfunc.h ============================================================================== --- head/sys/dev/usb2/include/usb2_mfunc.h Tue Feb 3 04:37:45 2009 (r188047) +++ head/sys/dev/usb2/include/usb2_mfunc.h Tue Feb 3 05:50:36 2009 (r188048) @@ -29,14 +29,6 @@ #ifndef _USB2_MFUNC_H_ #define _USB2_MFUNC_H_ -#define USB_MAKE_001(n,ENUM) ENUM, -#define USB_MAKE_ENUM(m) \ -enum { m(USB_MAKE_001,) m##_MAX } - -#define USB_MAKE_002(n,ENUM) #ENUM, -#define USB_MAKE_DEBUG_TABLE(m) \ -static const char * m[m##_MAX] = { m(USB_MAKE_002,) } - #define USB_LOG2(n) ( \ ((x) <= (1<<0x00)) ? 0x00 : \ ((x) <= (1<<0x01)) ? 0x01 : \ Modified: head/sys/dev/usb2/include/usb2_revision.h ============================================================================== --- head/sys/dev/usb2/include/usb2_revision.h Tue Feb 3 04:37:45 2009 (r188047) +++ head/sys/dev/usb2/include/usb2_revision.h Tue Feb 3 05:50:36 2009 (r188048) @@ -27,41 +27,39 @@ #ifndef _USB2_REVISION_H_ #define _USB2_REVISION_H_ -#include - /* * The "USB_SPEED" macro defines all the supported USB speeds. */ -#define USB_SPEED(m,n)\ -m(n, USB_SPEED_VARIABLE)\ -m(n, USB_SPEED_LOW)\ -m(n, USB_SPEED_FULL)\ -m(n, USB_SPEED_HIGH)\ -m(n, USB_SPEED_SUPER)\ - -USB_MAKE_ENUM(USB_SPEED); +enum { + USB_SPEED_VARIABLE, + USB_SPEED_LOW, + USB_SPEED_FULL, + USB_SPEED_HIGH, + USB_SPEED_SUPER, + USB_SPEED_MAX +}; /* * The "USB_REV" macro defines all the supported USB revisions. */ -#define USB_REV(m,n)\ -m(n, USB_REV_UNKNOWN)\ -m(n, USB_REV_PRE_1_0)\ -m(n, USB_REV_1_0)\ -m(n, USB_REV_1_1)\ -m(n, USB_REV_2_0)\ -m(n, USB_REV_2_5)\ -m(n, USB_REV_3_0)\ - -USB_MAKE_ENUM(USB_REV); +enum { + USB_REV_UNKNOWN, + USB_REV_PRE_1_0, + USB_REV_1_0, + USB_REV_1_1, + USB_REV_2_0, + USB_REV_2_5, + USB_REV_3_0, + USB_REV_MAX +}; /* * The "USB_MODE" macro defines all the supported USB modes. */ -#define USB_MODE(m,n)\ -m(n, USB_MODE_HOST)\ -m(n, USB_MODE_DEVICE)\ - -USB_MAKE_ENUM(USB_MODE); +enum { + USB_MODE_HOST, + USB_MODE_DEVICE, + USB_MODE_MAX +}; #endif /* _USB2_REVISION_H_ */ Modified: head/sys/dev/usb2/quirk/usb2_quirk.h ============================================================================== --- head/sys/dev/usb2/quirk/usb2_quirk.h Tue Feb 3 04:37:45 2009 (r188047) +++ head/sys/dev/usb2/quirk/usb2_quirk.h Tue Feb 3 05:50:36 2009 (r188048) @@ -28,56 +28,32 @@ #define _USB2_QUIRK_H_ /* NOTE: UQ_NONE is not a valid quirk */ - -#define USB_QUIRK(m,n) \ - m(n, UQ_NONE) \ - /* left and right sound channels are swapped */ \ - m(n, UQ_AUDIO_SWAP_LR) \ - /* input is async despite claim of adaptive */ \ - m(n, UQ_AU_INP_ASYNC) \ - /* don't adjust for fractional samples */ \ - m(n, UQ_AU_NO_FRAC) \ - /* audio device has broken extension unit */ \ - m(n, UQ_AU_NO_XU) \ - /* bad audio spec version number */ \ - m(n, UQ_BAD_ADC) \ - /* device claims audio class, but isn't */ \ - m(n, UQ_BAD_AUDIO) \ - /* printer has broken bidir mode */ \ - m(n, UQ_BROKEN_BIDIR) \ - /* device is bus powered, despite claim */ \ - m(n, UQ_BUS_POWERED) \ - /* device should be ignored by hid class */ \ - m(n, UQ_HID_IGNORE) \ - /* device should be ignored by kbd class */ \ - m(n, UQ_KBD_IGNORE) \ - /* doesn't identify properly */ \ - m(n, UQ_MS_BAD_CLASS) \ - /* mouse sends an unknown leading byte */ \ - m(n, UQ_MS_LEADING_BYTE) \ - /* mouse has Z-axis reversed */ \ - m(n, UQ_MS_REVZ) \ - /* string descriptors are broken */ \ - m(n, UQ_NO_STRINGS) \ - /* device needs clear endpoint stall */ \ - m(n, UQ_OPEN_CLEARSTALL) \ - /* hub lies about power status */ \ - m(n, UQ_POWER_CLAIM) \ - /* spurious mouse button up events */ \ - m(n, UQ_SPUR_BUT_UP) \ - /* has some Unicode strings swapped */ \ - m(n, UQ_SWAP_UNICODE) \ - /* select configuration index 1 by default */ \ - m(n, UQ_CFG_INDEX_1) \ - /* select configuration index 2 by default */ \ - m(n, UQ_CFG_INDEX_2) \ - /* select configuration index 3 by default */ \ - m(n, UQ_CFG_INDEX_3) \ - /* select configuration index 4 by default */ \ - m(n, UQ_CFG_INDEX_4) \ - /* select configuration index 0 by default */ \ - m(n, UQ_CFG_INDEX_0) - -USB_MAKE_ENUM(USB_QUIRK); +enum { + UQ_NONE, + UQ_AUDIO_SWAP_LR, /* left and right sound channels are swapped */ + UQ_AU_INP_ASYNC, /* input is async despite claim of adaptive */ + UQ_AU_NO_FRAC, /* don't adjust for fractional samples */ + UQ_AU_NO_XU, /* audio device has broken extension unit */ + UQ_BAD_ADC, /* bad audio spec version number */ + UQ_BAD_AUDIO, /* device claims audio class, but isn't */ + UQ_BROKEN_BIDIR, /* printer has broken bidir mode */ + UQ_BUS_POWERED, /* device is bus powered, despite claim */ + UQ_HID_IGNORE, /* device should be ignored by hid class */ + UQ_KBD_IGNORE, /* device should be ignored by kbd class */ + UQ_MS_BAD_CLASS, /* doesn't identify properly */ + UQ_MS_LEADING_BYTE, /* mouse sends an unknown leading byte */ + UQ_MS_REVZ, /* mouse has Z-axis reversed */ + UQ_NO_STRINGS, /* string descriptors are broken */ + UQ_OPEN_CLEARSTALL, /* device needs clear endpoint stall */ + UQ_POWER_CLAIM, /* hub lies about power status */ + UQ_SPUR_BUT_UP, /* spurious mouse button up events */ + UQ_SWAP_UNICODE, /* has some Unicode strings swapped */ + UQ_CFG_INDEX_1, /* select configuration index 1 by default */ + UQ_CFG_INDEX_2, /* select configuration index 2 by default */ + UQ_CFG_INDEX_3, /* select configuration index 3 by default */ + UQ_CFG_INDEX_4, /* select configuration index 4 by default */ + UQ_CFG_INDEX_0, /* select configuration index 0 by default */ + USB_QUIRK_MAX +}; #endif /* _USB2_QUIRK_H_ */