scsi: core: Remove scsi_build_sense() and scsi_build_sense_buffer()

Now that all code has been converted to use 16-bit sense codes and to
initialize sense with scsi_set_sense() and scsi_set_sense_buffer(), remove
the inline definitions of these new functions, change scsi_build_sense()
and scsi_build_sense_buffer() to use a single 16-bit sense code as argument
(instead of separate arguments for the ASC and ASCQ), and rename them to
scsi_set_sense() and scsi_set_sense_buffer().

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Hannes Reinecke <hare@kernel.org>
Link: https://patch.msgid.link/20260908090308.1085097-41-dlemoal@kernel.org
Signed-off-by: Martin K. Petersen (Oracle) <mkp@kernel.org>
This commit is contained in:
Damien Le Moal 2026-09-08 18:03:08 +09:00 committed by Martin K. Petersen (Oracle)
parent ddfb3e0257
commit 15de2788c9
4 changed files with 14 additions and 27 deletions

View File

@ -276,17 +276,19 @@ const u8 * scsi_sense_desc_find(const u8 * sense_buffer, int sb_len,
EXPORT_SYMBOL(scsi_sense_desc_find);
/**
* scsi_build_sense_buffer - build sense data in a buffer
* scsi_set_sense_buffer - build sense data in a buffer
* @desc: Sense format (non-zero == descriptor format,
* 0 == fixed format)
* @buf: Where to build sense data
* @key: Sense key
* @asc: Additional sense code
* @ascq: Additional sense code qualifier
* @code: Additional sense code and sense code qualifier
*
**/
void scsi_build_sense_buffer(int desc, u8 *buf, u8 key, u8 asc, u8 ascq)
void scsi_set_sense_buffer(int desc, u8 *buf, u8 key, u16 code)
{
u8 asc = scsi_sense_code_asc(code);
u8 ascq = scsi_sense_code_ascq(code);
if (desc) {
buf[0] = 0x72; /* descriptor, current */
buf[1] = key;
@ -301,7 +303,7 @@ void scsi_build_sense_buffer(int desc, u8 *buf, u8 key, u8 asc, u8 ascq)
buf[13] = ascq;
}
}
EXPORT_SYMBOL(scsi_build_sense_buffer);
EXPORT_SYMBOL(scsi_set_sense_buffer);
/**
* scsi_set_sense_information - set the information field in a

View File

@ -3585,21 +3585,20 @@ int scsi_vpd_tpg_id(struct scsi_device *sdev, int *rel_id)
EXPORT_SYMBOL(scsi_vpd_tpg_id);
/**
* scsi_build_sense - build sense data for a command
* scsi_set_sense - build sense data for a command
* @scmd: scsi command for which the sense should be formatted
* @desc: Sense format (non-zero == descriptor format,
* 0 == fixed format)
* @key: Sense key
* @asc: Additional sense code
* @ascq: Additional sense code qualifier
* @code: Additional sense code and sense code qualifier
*
**/
void scsi_build_sense(struct scsi_cmnd *scmd, int desc, u8 key, u8 asc, u8 ascq)
void scsi_set_sense(struct scsi_cmnd *scmd, int desc, u8 key, u16 code)
{
scsi_build_sense_buffer(desc, scmd->sense_buffer, key, asc, ascq);
scsi_set_sense_buffer(desc, scmd->sense_buffer, key, code);
scmd->result = SAM_STAT_CHECK_CONDITION;
}
EXPORT_SYMBOL_GPL(scsi_build_sense);
EXPORT_SYMBOL_GPL(scsi_set_sense);
#ifdef CONFIG_SCSI_LIB_KUNIT_TEST
#include "scsi_lib_test.c"

View File

@ -391,15 +391,7 @@ static inline unsigned scsi_transfer_length(struct scsi_cmnd *scmd)
return xfer_len;
}
extern void scsi_build_sense(struct scsi_cmnd *scmd, int desc,
u8 key, u8 asc, u8 ascq);
static inline void scsi_set_sense(struct scsi_cmnd *scmd, int desc,
u8 key, u16 code)
{
scsi_build_sense(scmd, desc, key, scsi_sense_code_asc(code),
scsi_sense_code_ascq(code));
}
void scsi_set_sense(struct scsi_cmnd *scmd, int desc, u8 key, u16 code);
struct request *scsi_alloc_request(struct request_queue *q, blk_opf_t opf,
blk_mq_req_flags_t flags);

View File

@ -99,13 +99,7 @@ static inline u8 scsi_sense_ascq(const struct scsi_sense_hdr *sshdr)
extern bool scsi_normalize_sense(const u8 *sense_buffer, int sb_len,
struct scsi_sense_hdr *sshdr);
extern void scsi_build_sense_buffer(int desc, u8 *buf, u8 key, u8 asc, u8 ascq);
static inline void scsi_set_sense_buffer(int desc, u8 *buf, u8 key, u16 code)
{
scsi_build_sense_buffer(desc, buf, key, scsi_sense_code_asc(code),
scsi_sense_code_ascq(code));
}
void scsi_set_sense_buffer(int desc, u8 *buf, u8 key, u16 code);
int scsi_set_sense_information(u8 *buf, int buf_len, u64 info);
int scsi_set_sense_field_pointer(u8 *buf, int buf_len, u16 fp, u8 bp, bool cd);