scsi: Export function scsi_scan.c:sanitize_inquiry_string

The hpsa driver uses this function to cleanup inquiry data. Our new pqi
driver will also use this function. This function was copied into both
drivers.

This patch exports sanitize_inquiry_string so the hpsa and the pqi
drivers can use this function directly.

Suggested-by: Hannes Reinecke <hare@suse.de>
Suggested-by: Matthew R. Ochs mrochs@linux.vnet.ibm.com
Reviewed-by: Kevin Barnett <kevin.barnett@pmcs.com>
Reviewed-by: Justin Lindley <justin.lindley@pmcs.com>
Reviewed-by: Scott Teel <scott.teel@pmcs.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Don Brace <don.brace@pmcs.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Don Brace 2016-01-27 20:16:26 -06:00 committed by Martin K. Petersen
parent dde3283346
commit 3846470a1b
2 changed files with 8 additions and 5 deletions

View File

@ -518,7 +518,8 @@ void scsi_target_reap(struct scsi_target *starget)
} }
/** /**
* sanitize_inquiry_string - remove non-graphical chars from an INQUIRY result string * scsi_sanitize_inquiry_string - remove non-graphical chars from an
* INQUIRY result string
* @s: INQUIRY result string to sanitize * @s: INQUIRY result string to sanitize
* @len: length of the string * @len: length of the string
* *
@ -531,7 +532,7 @@ void scsi_target_reap(struct scsi_target *starget)
* string terminator, so all the following characters are set to * string terminator, so all the following characters are set to
* spaces. * spaces.
**/ **/
static void sanitize_inquiry_string(unsigned char *s, int len) void scsi_sanitize_inquiry_string(unsigned char *s, int len)
{ {
int terminated = 0; int terminated = 0;
@ -542,6 +543,7 @@ static void sanitize_inquiry_string(unsigned char *s, int len)
*s = ' '; *s = ' ';
} }
} }
EXPORT_SYMBOL(scsi_sanitize_inquiry_string);
/** /**
* scsi_probe_lun - probe a single LUN using a SCSI INQUIRY * scsi_probe_lun - probe a single LUN using a SCSI INQUIRY
@ -627,9 +629,9 @@ static int scsi_probe_lun(struct scsi_device *sdev, unsigned char *inq_result,
} }
if (result == 0) { if (result == 0) {
sanitize_inquiry_string(&inq_result[8], 8); scsi_sanitize_inquiry_string(&inq_result[8], 8);
sanitize_inquiry_string(&inq_result[16], 16); scsi_sanitize_inquiry_string(&inq_result[16], 16);
sanitize_inquiry_string(&inq_result[32], 4); scsi_sanitize_inquiry_string(&inq_result[32], 4);
response_len = inq_result[4] + 5; response_len = inq_result[4] + 5;
if (response_len > 255) if (response_len > 255)

View File

@ -397,6 +397,7 @@ extern void scsi_remove_target(struct device *);
extern const char *scsi_device_state_name(enum scsi_device_state); extern const char *scsi_device_state_name(enum scsi_device_state);
extern int scsi_is_sdev_device(const struct device *); extern int scsi_is_sdev_device(const struct device *);
extern int scsi_is_target_device(const struct device *); extern int scsi_is_target_device(const struct device *);
extern void scsi_sanitize_inquiry_string(unsigned char *s, int len);
extern int scsi_execute(struct scsi_device *sdev, const unsigned char *cmd, extern int scsi_execute(struct scsi_device *sdev, const unsigned char *cmd,
int data_direction, void *buffer, unsigned bufflen, int data_direction, void *buffer, unsigned bufflen,
unsigned char *sense, int timeout, int retries, unsigned char *sense, int timeout, int retries,