Commit 0ad78200 authored by Arjan van de Ven's avatar Arjan van de Ven Committed by James Bottomley

[SCSI] Mark some core scsi data structures const

patch below marks a few scsi core datastructures as const, so that they end up
in the .rodata section and don't cacheline share with things that get dirtied
Signed-off-by: default avatarArjan van de Ven <[email protected]>
Signed-off-by: default avatarJames Bottomley <[email protected]>
parent ce155cce
......@@ -75,7 +75,7 @@ static int vendor_counts[CH_TYPES-4];
module_param_array(vendor_firsts, int, NULL, 0444);
module_param_array(vendor_counts, int, NULL, 0444);
static char *vendor_labels[CH_TYPES-4] = {
static const char * vendor_labels[CH_TYPES-4] = {
"v0", "v1", "v2", "v3"
};
// module_param_string_array(vendor_labels, NULL, 0444);
......@@ -140,7 +140,7 @@ static struct file_operations changer_fops =
#endif
};
static struct {
static const struct {
unsigned char sense;
unsigned char asc;
unsigned char ascq;
......
......@@ -1065,7 +1065,7 @@ struct error_info2 {
const char * fmt;
};
static struct error_info2 additional2[] =
static const struct error_info2 additional2[] =
{
{0x40,0x00,0x7f,"Ram failure (%x)"},
{0x40,0x80,0xff,"Diagnostic failure on component (%x)"},
......@@ -1077,7 +1077,7 @@ static struct error_info2 additional2[] =
};
/* description of the sense key values */
static const char *snstext[] = {
static const char * const snstext[] = {
"No Sense", /* 0: There is no sense information */
"Recovered Error", /* 1: The last command completed successfully
but used error correction */
......@@ -1279,7 +1279,7 @@ void scsi_print_req_sense(const char *devclass, struct scsi_request *sreq)
EXPORT_SYMBOL(scsi_print_req_sense);
#ifdef CONFIG_SCSI_CONSTANTS
static const char *one_byte_msgs[] = {
static const char * const one_byte_msgs[] = {
/* 0x00 */ "Command Complete", NULL, "Save Pointers",
/* 0x03 */ "Restore Pointers", "Disconnect", "Initiator Error",
/* 0x06 */ "Abort", "Message Reject", "Nop", "Message Parity Error",
......@@ -1289,13 +1289,13 @@ static const char *one_byte_msgs[] = {
};
#define NO_ONE_BYTE_MSGS (sizeof(one_byte_msgs) / sizeof (const char *))
static const char *two_byte_msgs[] = {
static const char * const two_byte_msgs[] = {
/* 0x20 */ "Simple Queue Tag", "Head of Queue Tag", "Ordered Queue Tag"
/* 0x23 */ "Ignore Wide Residue"
};
#define NO_TWO_BYTE_MSGS (sizeof(two_byte_msgs) / sizeof (const char *))
static const char *extended_msgs[] = {
static const char * const extended_msgs[] = {
/* 0x00 */ "Modify Data Pointer", "Synchronous Data Transfer Request",
/* 0x02 */ "SCSI-I Extended Identify", "Wide Data Transfer Request"
};
......@@ -1397,7 +1397,7 @@ EXPORT_SYMBOL(scsi_print_command);
#ifdef CONFIG_SCSI_CONSTANTS
static const char * hostbyte_table[]={
static const char * const hostbyte_table[]={
"DID_OK", "DID_NO_CONNECT", "DID_BUS_BUSY", "DID_TIME_OUT", "DID_BAD_TARGET",
"DID_ABORT", "DID_PARITY", "DID_ERROR", "DID_RESET", "DID_BAD_INTR",
"DID_PASSTHROUGH", "DID_SOFT_ERROR", "DID_IMM_RETRY"};
......@@ -1422,12 +1422,12 @@ void scsi_print_hostbyte(int scsiresult)
#ifdef CONFIG_SCSI_CONSTANTS
static const char * driverbyte_table[]={
static const char * const driverbyte_table[]={
"DRIVER_OK", "DRIVER_BUSY", "DRIVER_SOFT", "DRIVER_MEDIA", "DRIVER_ERROR",
"DRIVER_INVALID", "DRIVER_TIMEOUT", "DRIVER_HARD", "DRIVER_SENSE"};
#define NUM_DRIVERBYTE_STRS (sizeof(driverbyte_table) / sizeof(const char *))
static const char * driversuggest_table[]={"SUGGEST_OK",
static const char * const driversuggest_table[]={"SUGGEST_OK",
"SUGGEST_RETRY", "SUGGEST_ABORT", "SUGGEST_REMAP", "SUGGEST_DIE",
"SUGGEST_5", "SUGGEST_6", "SUGGEST_7", "SUGGEST_SENSE"};
#define NUM_SUGGEST_STRS (sizeof(driversuggest_table) / sizeof(const char *))
......
......@@ -115,7 +115,7 @@ static DECLARE_TRANSPORT_CLASS(raid_class,
raid_remove,
NULL);
static struct {
static const struct {
enum raid_state value;
char *name;
} raid_states[] = {
......
......@@ -74,7 +74,7 @@
#define SCSI_SCAN_TARGET_PRESENT 1
#define SCSI_SCAN_LUN_PRESENT 2
static char *scsi_null_device_strs = "nullnullnullnull";
static const char *scsi_null_device_strs = "nullnullnullnull";
#define MAX_SCSI_LUNS 512
......
......@@ -21,7 +21,7 @@
#include "scsi_priv.h"
#include "scsi_logging.h"
static struct {
static const struct {
enum scsi_device_state value;
char *name;
} sdev_states[] = {
......@@ -48,7 +48,7 @@ const char *scsi_device_state_name(enum scsi_device_state state)
return name;
}
static struct {
static const struct {
enum scsi_host_state value;
char *name;
} shost_states[] = {
......
......@@ -111,7 +111,7 @@ fc_enum_name_search(port_state, fc_port_state, fc_port_state_names)
/* Convert fc_tgtid_binding_type values to ascii string name */
static struct {
static const struct {
enum fc_tgtid_binding_type value;
char *name;
int matchlen;
......@@ -149,7 +149,7 @@ get_fc_##title##_names(u32 table_key, char *buf) \
/* Convert FC_COS bit values to ascii string name */
static struct {
static const struct {
u32 value;
char *name;
} fc_cos_names[] = {
......@@ -163,7 +163,7 @@ fc_bitfield_name_search(cos, fc_cos_names)
/* Convert FC_PORTSPEED bit values to ascii string name */
static struct {
static const struct {
u32 value;
char *name;
} fc_port_speed_names[] = {
......@@ -189,7 +189,7 @@ show_fc_fc4s (char *buf, u8 *fc4_list)
/* Convert FC_RPORT_ROLE bit values to ascii string name */
static struct {
static const struct {
u32 value;
char *name;
} fc_remote_port_role_names[] = {
......
......@@ -730,7 +730,7 @@ static void get_capabilities(struct scsi_cd *cd)
unsigned int the_result;
int retries, rc, n;
static char *loadmech[] =
static const char *loadmech[] =
{
"caddy",
"tray",
......
......@@ -17,7 +17,7 @@
Last modified: 18-JAN-1998 Richard Gooch <[email protected]> Devfs support
*/
static char *verstr = "20050830";
static const char *verstr = "20050830";
#include <linux/module.h>
......@@ -134,7 +134,7 @@ static struct st_dev_parm {
#endif
/* Bit reversed order to get same names for same minors with all
mode counts */
static char *st_formats[] = {
static const char *st_formats[] = {
"", "r", "k", "s", "l", "t", "o", "u",
"m", "v", "p", "x", "a", "y", "q", "z"};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment