cio_debug.h 938 B

1234567891011121314151617181920212223242526272829303132333435363738
  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
  18. CIO_HEX_EVENT(int level, void *data, int length)
  19. {
  20. while (length > 0) {
  21. debug_event(cio_debug_trace_id, level, data, length);
  22. length -= cio_debug_trace_id->buf_size;
  23. data += cio_debug_trace_id->buf_size;
  24. }
  25. }
  26. #define CIO_DEBUG(printk_level,event_level,msg...) ({ \
  27. if (cio_show_msg) printk(printk_level msg); \
  28. CIO_MSG_EVENT (event_level, msg); \
  29. })
  30. #endif