summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2009-02-03 05:50:36 +0000
committerthompsa <thompsa@FreeBSD.org>2009-02-03 05:50:36 +0000
commit7c53da752dace5089b02b946904c58ecb94de6fa (patch)
treef2f457f3dffb3b80cb225dedaca1b04f3ee7d484
parent5177438e9d6caeee3628c47a57ca8603cafe459f (diff)
downloadFreeBSD-src-7c53da752dace5089b02b946904c58ecb94de6fa.zip
FreeBSD-src-7c53da752dace5089b02b946904c58ecb94de6fa.tar.gz
Move away from autogenerated enums, these values never change and its helpful
to be able to look them up.
-rw-r--r--sys/dev/usb2/core/usb2_error.c35
-rw-r--r--sys/dev/usb2/include/usb2_error.h69
-rw-r--r--sys/dev/usb2/include/usb2_mfunc.h8
-rw-r--r--sys/dev/usb2/include/usb2_revision.h48
-rw-r--r--sys/dev/usb2/quirk/usb2_quirk.h78
5 files changed, 114 insertions, 124 deletions
diff --git a/sys/dev/usb2/core/usb2_error.c b/sys/dev/usb2/core/usb2_error.c
index 417f111..6d9a8e9 100644
--- a/sys/dev/usb2/core/usb2_error.c
+++ b/sys/dev/usb2/core/usb2_error.c
@@ -29,8 +29,37 @@
#include <dev/usb2/core/usb2_core.h>
-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");
}
diff --git a/sys/dev/usb2/include/usb2_error.h b/sys/dev/usb2/include/usb2_error.h
index 86c62c2..91f0245 100644
--- a/sys/dev/usb2/include/usb2_error.h
+++ b/sys/dev/usb2/include/usb2_error.h
@@ -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_ */
diff --git a/sys/dev/usb2/include/usb2_mfunc.h b/sys/dev/usb2/include/usb2_mfunc.h
index 37be051..0fad203 100644
--- a/sys/dev/usb2/include/usb2_mfunc.h
+++ b/sys/dev/usb2/include/usb2_mfunc.h
@@ -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 : \
diff --git a/sys/dev/usb2/include/usb2_revision.h b/sys/dev/usb2/include/usb2_revision.h
index b57946c..06d1b21 100644
--- a/sys/dev/usb2/include/usb2_revision.h
+++ b/sys/dev/usb2/include/usb2_revision.h
@@ -27,41 +27,39 @@
#ifndef _USB2_REVISION_H_
#define _USB2_REVISION_H_
-#include <dev/usb2/include/usb2_mfunc.h>
-
/*
* 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_ */
diff --git a/sys/dev/usb2/quirk/usb2_quirk.h b/sys/dev/usb2/quirk/usb2_quirk.h
index 9b57a2e..626128d 100644
--- a/sys/dev/usb2/quirk/usb2_quirk.h
+++ b/sys/dev/usb2/quirk/usb2_quirk.h
@@ -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_ */
OpenPOWER on IntegriCloud