2017-11-03 11:28:30 +01:00
// SPDX-License-Identifier: GPL-2.0+
2016-04-18 13:09:11 +03:00
/*
* Driver for USB Mass Storage compliant devices
2005-04-16 15:20:36 -07:00
* Debugging Functions Header File
*
* Current development and maintenance by :
* ( c ) 1999 - 2002 Matthew Dharm ( mdharm - usb @ one - eyed - alien . net )
*
* Initial work by :
* ( c ) 1999 Michael Gee ( michael @ linuxspecific . com )
*
* This driver is based on the ' USB Mass Storage Class ' document . This
* describes in detail the protocol used to communicate with such
* devices . Clearly , the designers had SCSI and ATAPI commands in
* mind when they created this document . The commands are all very
* similar to commands in the SCSI - II and ATAPI specifications .
*
* It is important to note that in a number of cases this class
* exhibits class - specific exemptions from the USB specification .
* Notably the usage of NAK , STALL and ACK differs from the norm , in
* that they are used to communicate wait , failed and OK on commands .
*
* Also , for certain devices , the interrupt endpoint is used to convey
* status of a command .
*/
# ifndef _DEBUG_H_
# define _DEBUG_H_
# include <linux/kernel.h>
# define USB_STORAGE "usb-storage: "
# ifdef CONFIG_USB_STORAGE_DEBUG
2013-04-19 11:44:00 -07:00
void usb_stor_show_command ( const struct us_data * us , struct scsi_cmnd * srb ) ;
void usb_stor_show_sense ( const struct us_data * us , unsigned char key ,
unsigned char asc , unsigned char ascq ) ;
2014-10-20 20:51:00 -07:00
__printf ( 2 , 3 ) void usb_stor_dbg ( const struct us_data * us ,
const char * fmt , . . . ) ;
2013-04-16 22:44:07 -07:00
# define US_DEBUG(x) x
2005-04-16 15:20:36 -07:00
# else
2013-04-19 11:44:00 -07:00
__printf ( 2 , 3 )
2014-10-20 20:51:00 -07:00
static inline void _usb_stor_dbg ( const struct us_data * us ,
const char * fmt , . . . )
{
}
2013-04-19 11:44:00 -07:00
# define usb_stor_dbg(us, fmt, ...) \
do { if ( 0 ) _usb_stor_dbg ( us , fmt , # # __VA_ARGS__ ) ; } while ( 0 )
2005-04-16 15:20:36 -07:00
# define US_DEBUG(x)
# endif
# endif