cio_debug.h 849 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef CIO_DEBUG_H
  2. #define CIO_DEBUG_H
  3. #include <asm/debug.h>
  4. /* for use of debug feature */
  5. extern debug_info_t *cio_debug_msg_id;
  6. extern debug_info_t *cio_debug_trace_id;
  7. extern debug_info_t *cio_debug_crw_id;
  8. #define CIO_TRACE_EVENT(imp, txt) do { \
  9. debug_text_event(cio_debug_trace_id, imp, txt); \
  10. } while (0)
  11. #define CIO_MSG_EVENT(imp, args...) do { \
  12. debug_sprintf_event(cio_debug_msg_id, imp , ##args); \
  13. } while (0)
  14. #define CIO_CRW_EVENT(imp, args...) do { \
  15. debug_sprintf_event(cio_debug_crw_id, imp , ##args); \
  16. } while (0)
  17. static inline void CIO_HEX_EVENT(int level, void *data, int length)
  18. {
  19. if (unlikely(!cio_debug_trace_id))
  20. return;
  21. while (length > 0) {
  22. debug_event(cio_debug_trace_id, level, data, length);
  23. length -= cio_debug_trace_id->buf_size;
  24. data += cio_debug_trace_id->buf_size;
  25. }
  26. }
  27. #endif