debug.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*
  2. * drivers/net/ibm_newemac/debug.h
  3. *
  4. * Driver for PowerPC 4xx on-chip ethernet controller, debug print routines.
  5. *
  6. * Copyright (c) 2004, 2005 Zultys Technologies
  7. * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
  8. *
  9. * This program is free software; you can redistribute it and/or modify it
  10. * under the terms of the GNU General Public License as published by the
  11. * Free Software Foundation; either version 2 of the License, or (at your
  12. * option) any later version.
  13. *
  14. */
  15. #ifndef __IBM_NEWEMAC_DEBUG_H
  16. #define __IBM_NEWEMAC_DEBUG_H
  17. #include <linux/init.h>
  18. #include "core.h"
  19. #if defined(CONFIG_IBM_NEW_EMAC_DEBUG)
  20. struct emac_instance;
  21. struct mal_instance;
  22. extern void emac_dbg_register(struct emac_instance *dev);
  23. extern void emac_dbg_unregister(struct emac_instance *dev);
  24. extern void mal_dbg_register(struct mal_instance *mal);
  25. extern void mal_dbg_unregister(struct mal_instance *mal);
  26. extern int emac_init_debug(void) __init;
  27. extern void emac_fini_debug(void) __exit;
  28. extern void emac_dbg_dump_all(void);
  29. # define DBG_LEVEL 1
  30. #else
  31. # define emac_dbg_register(x) do { } while(0)
  32. # define emac_dbg_unregister(x) do { } while(0)
  33. # define mal_dbg_register(x) do { } while(0)
  34. # define mal_dbg_unregister(x) do { } while(0)
  35. # define emac_init_debug() do { } while(0)
  36. # define emac_fini_debug() do { } while(0)
  37. # define emac_dbg_dump_all() do { } while(0)
  38. # define DBG_LEVEL 0
  39. #endif
  40. #define EMAC_DBG(dev, name, fmt, arg...) \
  41. printk(KERN_DEBUG #name "%s: " fmt, dev->ofdev->node->full_name, ## arg)
  42. #if DBG_LEVEL > 0
  43. # define DBG(d,f,x...) EMAC_DBG(d, emac, f, ##x)
  44. # define MAL_DBG(d,f,x...) EMAC_DBG(d, mal, f, ##x)
  45. # define ZMII_DBG(d,f,x...) EMAC_DBG(d, zmii, f, ##x)
  46. # define RGMII_DBG(d,f,x...) EMAC_DBG(d, rgmii, f, ##x)
  47. # define NL "\n"
  48. #else
  49. # define DBG(f,x...) ((void)0)
  50. # define MAL_DBG(d,f,x...) ((void)0)
  51. # define ZMII_DBG(d,f,x...) ((void)0)
  52. # define RGMII_DBG(d,f,x...) ((void)0)
  53. #endif
  54. #if DBG_LEVEL > 1
  55. # define DBG2(d,f,x...) DBG(d,f, ##x)
  56. # define MAL_DBG2(d,f,x...) MAL_DBG(d,f, ##x)
  57. # define ZMII_DBG2(d,f,x...) ZMII_DBG(d,f, ##x)
  58. # define RGMII_DBG2(d,f,x...) RGMII_DBG(d,f, ##x)
  59. #else
  60. # define DBG2(f,x...) ((void)0)
  61. # define MAL_DBG2(d,f,x...) ((void)0)
  62. # define ZMII_DBG2(d,f,x...) ((void)0)
  63. # define RGMII_DBG2(d,f,x...) ((void)0)
  64. #endif
  65. #endif /* __IBM_NEWEMAC_DEBUG_H */