diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-10-03 17:31:39 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-10-03 17:31:39 +0000 |
commit | 8780b5187b3898e552cbfc09aa8a86ea0e9046e4 (patch) | |
tree | 310507ce5ee647b03b98b4f28b8b30372ae9a1ec | |
parent | da5eede1f9dea96f9bf747830292e75dd7e1f552 (diff) | |
download | px4-nuttx-8780b5187b3898e552cbfc09aa8a86ea0e9046e4.tar.gz px4-nuttx-8780b5187b3898e552cbfc09aa8a86ea0e9046e4.tar.bz2 px4-nuttx-8780b5187b3898e552cbfc09aa8a86ea0e9046e4.zip |
Add debug output if trace disabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@973 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r-- | nuttx/drivers/usbdev/Make.defs | 2 | ||||
-rw-r--r-- | nuttx/drivers/usbdev/usbdev_trace.c | 171 | ||||
-rw-r--r-- | nuttx/include/nuttx/usbdev_trace.h | 23 |
3 files changed, 184 insertions, 12 deletions
diff --git a/nuttx/drivers/usbdev/Make.defs b/nuttx/drivers/usbdev/Make.defs index 24fe794e8..da1af40ae 100644 --- a/nuttx/drivers/usbdev/Make.defs +++ b/nuttx/drivers/usbdev/Make.defs @@ -37,8 +37,6 @@ USBDEV_ASRCS = USBDEV_CSRCS = ifeq ($(CONFIG_USBDEV),y) -ifeq ($(CONFIG_USBDEV_TRACE),y) USBDEV_CSRCS += usbdev_trace.c endif -endif diff --git a/nuttx/drivers/usbdev/usbdev_trace.c b/nuttx/drivers/usbdev/usbdev_trace.c index 0d4b7f4c2..1982ccabc 100644 --- a/nuttx/drivers/usbdev/usbdev_trace.c +++ b/nuttx/drivers/usbdev/usbdev_trace.c @@ -41,6 +41,7 @@ #include <sys/types.h> #include <errno.h> +#include <debug.h> #include <arch/irq.h> #include <nuttx/usbdev_trace.h> @@ -201,4 +202,174 @@ int usbtrace_enumerate(trace_callback_t callback, void *arg) return ret; } +#else + +/******************************************************************************* + * Name: usbtrace + * + * Description: + * Map trace to simple debug output + * + *******************************************************************************/ + +void usbtrace(uint16 event, uint16 value) +{ +#if defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_USB) + irqstate_t flags; + flags = irqsave(); + switch (event) + { + case TRACE_DEVINIT: + lldbg("USB controller initialization: %04x\n", value); + break; + + case TRACE_DEVUNINIT: + lldbg("USB controller un-initialization: %04x\n", value); + break; + + case TRACE_DEVREGISTER: + lldbg("usbdev_register(): %04x\n", value); + break; + + case TRACE_DEVUNREGISTER: + lldbg("usbdev_unregister(): %04x\n", value); + break; + + case TRACE_EPCONFIGURE: + lldbg("Endpoint configure(): %04x\n", value); + break; + + case TRACE_EPALLOCREQ: + lldbg("Endpoint allocreq(): %04x\n", value); + break; + + case TRACE_EPFREEREQ: + lldbg("Endpoint freereq(): %04x\n", value); + break; + + case TRACE_EPALLOCBUFFER: + lldbg("Endpoint allocbuffer(): %04x\n", value); + break; + + case TRACE_EPFREEBUFFER: + lldbg("Endpoint freebuffer(): %04x\n", value); + break; + + case TRACE_EPSUBMIT: + lldbg("Endpoint submit(): %04x\n", value); + break; + + case TRACE_EPCANCEL: + lldbg("Endpoint cancel(): %04x\n", value); + break; + + case TRACE_EPSTALL: + lldbg("Endpoint stall(TRUE): %04x\n", value); + break; + + case TRACE_EPRESUME: + lldbg("Endpoint stall(FALSE): %04x\n", value); + break; + + case TRACE_DEVALLOCEP: + lldbg("Device allocep(): %04x\n", value); + break; + + case TRACE_DEVFREEEP: + lldbg("Device freeep(): %04x\n", value); + break; + + case TRACE_DEVGETFRAME: + lldbg("Device getframe(): %04x\n", value); + break; + + case TRACE_DEVWAKEUP: + lldbg("Device wakeup(): %04x\n", value); + break; + + case TRACE_DEVSELFPOWERED: + lldbg("Device selfpowered(): %04x\n", value); + break; + + case TRACE_DEVPULLUP: + lldbg("Device pullup(): %04x\n", value); + break; + + case TRACE_CLASSBIND: + lldbg("Class bind(): %04x\n", value); + break; + + case TRACE_CLASSUNBIND: + lldbg("Class unbind(): %04x\n", value); + break; + + case TRACE_CLASSDISCONNECT: + lldbg("Class disconnect(): %04x\n", value); + break; + + case TRACE_CLASSSETUP: + lldbg("Class setup(): %04x\n", value); + break; + + case TRACE_CLASSSUSPEND: + lldbg("Class suspend(): %04x\n", value); + break; + + case TRACE_CLASSRESUME: + lldbg("Class resume(): %04x\n", value); + break; + + default: + switch (TRACE_ID(event)) + { + case TRACE_INTENTRY_ID: /* Interrupt handler entry */ + lldbg("Interrrupt %d entry: %04x\n", TRACE_DATA(event), value); + break; + + case TRACE_INTDECODE_ID: /* Decoded interrupt event */ + lldbg("Interrrupt decode %d: %04x\n", TRACE_DATA(event), value); + break; + + case TRACE_INTEXIT_ID: /* Interrupt handler exit */ + lldbg("Interrrupt %d exit: %04x\n", TRACE_DATA(event), value); + break; + + case TRACE_OUTREQQUEUED_ID: /* Request queued for OUT endpoint */ + lldbg("EP%d OUT request queued: %04x\n", TRACE_DATA(event), value); + break; + + case TRACE_INREQQUEUED_ID: /* Request queued for IN endpoint */ + lldbg("EP%d IN request queued: %04x\n", TRACE_DATA(event), value); + break; + + case TRACE_READ_ID: /* Read (OUT) action */ + lldbg("EP%d OUT read: %04x\n", TRACE_DATA(event), value); + break; + + case TRACE_WRITE_ID: /* Write (IN) action */ + lldbg("EP%d IN write: %04x\n", TRACE_DATA(event), value); + break; + + case TRACE_COMPLETE_ID: /* Request completed */ + lldbg("EP%d request complete: %04x\n", TRACE_DATA(event), value); + break; + + case TRACE_DEVERROR_ID: /* USB controller driver error event */ + lldbg("Controller error: %02x:%04x\n", TRACE_DATA(event), value); + break; + + case TRACE_CLSERROR_ID: /* USB class driver error event */ + lldbg("Class error: %02x:%04x\n", TRACE_DATA(event), value); + break; + + default: + lldbg("Unrecognized event: %02x:%02x:%04x\n", + TRACE_ID(event), TRACE_DATA(event), value); + break; + } + } + irqrestore(flags); +#endif /* CONFIG_DEBUG && CONFIG_DEBUG_USB */ +} + #endif /* CONFIG_USBDEV_TRACE */ diff --git a/nuttx/include/nuttx/usbdev_trace.h b/nuttx/include/nuttx/usbdev_trace.h index d018c67eb..02ce49f15 100644 --- a/nuttx/include/nuttx/usbdev_trace.h +++ b/nuttx/include/nuttx/usbdev_trace.h @@ -49,7 +49,7 @@ #define TRACE_EVENT(id,data) ((uint16)(id)|(data)) #define TRACE_ID(event) ((event)&0xff00) -#define TRACE_DATA(event) ((event)0x00ff) +#define TRACE_DATA(event) ((event)&0x00ff) /* Event class IDs */ @@ -60,12 +60,15 @@ #define TRACE_INTENTRY_ID (0x0400) /* Interrupt handler entry */ #define TRACE_INTDECODE_ID (0x0500) /* Decoded interrupt event */ #define TRACE_INTEXIT_ID (0x0600) /* Interrupt handler exit */ -#define TRACE_REQQUEUED_ID (0x0700) /* Request queued */ -#define TRACE_READ_ID (0x0800) /* Read (OUT) action */ -#define TRACE_WRITE_ID (0x0900) /* Write (IN) action */ -#define TRACE_COMPLETE_ID (0x0a00) /* Request completed */ -#define TRACE_DEVERROR_ID (0x0b00) /* USB controller driver error event */ -#define TRACE_CLSERROR_ID (0x0c00) /* USB class driver error event */ +#define TRACE_OUTREQQUEUED_ID (0x0700) /* Request queued for OUT endpoint */ +#define TRACE_INREQQUEUED_ID (0x0800) /* Request queued for IN endpoint */ +#define TRACE_READ_ID (0x0900) /* Read (OUT) action */ +#define TRACE_WRITE_ID (0x0a00) /* Write (IN) action */ +#define TRACE_COMPLETE_ID (0x0b00) /* Request completed */ +#define TRACE_DEVERROR_ID (0x0c00) /* USB controller driver error event */ +#define TRACE_CLSERROR_ID (0x0d00) /* USB class driver error event */ + +#define TRACE_NIDS 14 /* Initialization events */ @@ -112,7 +115,8 @@ /* Data Transfer */ -#define TRACE_REQQUEUED(ep) TRACE_EVENT(TRACE_REQQUEUED_ID, ep) +#define TRACE_OUTREQQUEUED(ep) TRACE_EVENT(TRACE_OUTREQQUEUED_ID, ep) +#define TRACE_INREQQUEUED(ep) TRACE_EVENT(TRACE_INREQQUEUED_ID, ep) #define TRACE_READ(ep) TRACE_EVENT(TRACE_READ_ID, ep) #define TRACE_WRITE(ep) TRACE_EVENT(TRACE_WRITE_ID, ep) #define TRACE_COMPLETE(ep) TRACE_EVENT(TRACE_COMPLETE_ID, ep) @@ -212,7 +216,7 @@ EXTERN void usbtrace_enable(boolean enable); * *******************************************************************************/ -#ifdef CONFIG_USBDEV_TRACE +#if defined(CONFIG_USBDEV_TRACE) || (defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_USB)) EXTERN void usbtrace(uint16 event, uint16 value); #else # define usbtrace(event, value) @@ -231,7 +235,6 @@ EXTERN void usbtrace(uint16 event, uint16 value); #ifdef CONFIG_USBDEV_TRACE EXTERN int usbtrace_enumerate(trace_callback_t callback, void *arg); -#else # define usbtrace_enumerate(event) #endif |