debug.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* Driver for USB Mass Storage compliant devices
  2. * Debugging Functions Header File
  3. *
  4. * $Id: debug.h,v 1.6 2001/01/12 23:51:04 mdharm Exp $
  5. *
  6. * Current development and maintenance by:
  7. * (c) 1999-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
  8. *
  9. * Initial work by:
  10. * (c) 1999 Michael Gee (michael@linuxspecific.com)
  11. *
  12. * This driver is based on the 'USB Mass Storage Class' document. This
  13. * describes in detail the protocol used to communicate with such
  14. * devices. Clearly, the designers had SCSI and ATAPI commands in
  15. * mind when they created this document. The commands are all very
  16. * similar to commands in the SCSI-II and ATAPI specifications.
  17. *
  18. * It is important to note that in a number of cases this class
  19. * exhibits class-specific exemptions from the USB specification.
  20. * Notably the usage of NAK, STALL and ACK differs from the norm, in
  21. * that they are used to communicate wait, failed and OK on commands.
  22. *
  23. * Also, for certain devices, the interrupt endpoint is used to convey
  24. * status of a command.
  25. *
  26. * Please see http://www.one-eyed-alien.net/~mdharm/linux-usb for more
  27. * information about this driver.
  28. *
  29. * This program is free software; you can redistribute it and/or modify it
  30. * under the terms of the GNU General Public License as published by the
  31. * Free Software Foundation; either version 2, or (at your option) any
  32. * later version.
  33. *
  34. * This program is distributed in the hope that it will be useful, but
  35. * WITHOUT ANY WARRANTY; without even the implied warranty of
  36. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  37. * General Public License for more details.
  38. *
  39. * You should have received a copy of the GNU General Public License along
  40. * with this program; if not, write to the Free Software Foundation, Inc.,
  41. * 675 Mass Ave, Cambridge, MA 02139, USA.
  42. */
  43. #ifndef _DEBUG_H_
  44. #define _DEBUG_H_
  45. #include <linux/config.h>
  46. #include <linux/kernel.h>
  47. #define USB_STORAGE "usb-storage: "
  48. #ifdef CONFIG_USB_STORAGE_DEBUG
  49. void usb_stor_show_command(struct scsi_cmnd *srb);
  50. void usb_stor_show_sense( unsigned char key,
  51. unsigned char asc, unsigned char ascq );
  52. #define US_DEBUGP(x...) printk( KERN_DEBUG USB_STORAGE x )
  53. #define US_DEBUGPX(x...) printk( x )
  54. #define US_DEBUG(x) x
  55. #else
  56. #define US_DEBUGP(x...)
  57. #define US_DEBUGPX(x...)
  58. #define US_DEBUG(x)
  59. #endif
  60. #endif