[SCSI] libsas: Convert sas_proto users to sas_protocol
sparse complains about the mixing of enums in libsas. Since the underlying numeric values of both enums are the same, combine them to get rid of the warning. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Родитель
e5a69e27cc
Коммит
5929faf333
|
@ -165,7 +165,7 @@ static int asd_init_target_ddb(struct domain_device *dev)
|
||||||
if (dev->port->oob_mode != SATA_OOB_MODE) {
|
if (dev->port->oob_mode != SATA_OOB_MODE) {
|
||||||
flags |= OPEN_REQUIRED;
|
flags |= OPEN_REQUIRED;
|
||||||
if ((dev->dev_type == SATA_DEV) ||
|
if ((dev->dev_type == SATA_DEV) ||
|
||||||
(dev->tproto & SAS_PROTO_STP)) {
|
(dev->tproto & SAS_PROTOCOL_STP)) {
|
||||||
struct smp_resp *rps_resp = &dev->sata_dev.rps_resp;
|
struct smp_resp *rps_resp = &dev->sata_dev.rps_resp;
|
||||||
if (rps_resp->frame_type == SMP_RESPONSE &&
|
if (rps_resp->frame_type == SMP_RESPONSE &&
|
||||||
rps_resp->function == SMP_REPORT_PHY_SATA &&
|
rps_resp->function == SMP_REPORT_PHY_SATA &&
|
||||||
|
@ -193,7 +193,7 @@ static int asd_init_target_ddb(struct domain_device *dev)
|
||||||
asd_ddbsite_write_byte(asd_ha, ddb, DDB_TARG_FLAGS, flags);
|
asd_ddbsite_write_byte(asd_ha, ddb, DDB_TARG_FLAGS, flags);
|
||||||
|
|
||||||
flags = 0;
|
flags = 0;
|
||||||
if (dev->tproto & SAS_PROTO_STP)
|
if (dev->tproto & SAS_PROTOCOL_STP)
|
||||||
flags |= STP_CL_POL_NO_TX;
|
flags |= STP_CL_POL_NO_TX;
|
||||||
asd_ddbsite_write_byte(asd_ha, ddb, DDB_TARG_FLAGS2, flags);
|
asd_ddbsite_write_byte(asd_ha, ddb, DDB_TARG_FLAGS2, flags);
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ static int asd_init_target_ddb(struct domain_device *dev)
|
||||||
asd_ddbsite_write_word(asd_ha, ddb, SEND_QUEUE_TAIL, 0xFFFF);
|
asd_ddbsite_write_word(asd_ha, ddb, SEND_QUEUE_TAIL, 0xFFFF);
|
||||||
asd_ddbsite_write_word(asd_ha, ddb, SISTER_DDB, 0xFFFF);
|
asd_ddbsite_write_word(asd_ha, ddb, SISTER_DDB, 0xFFFF);
|
||||||
|
|
||||||
if (dev->dev_type == SATA_DEV || (dev->tproto & SAS_PROTO_STP)) {
|
if (dev->dev_type == SATA_DEV || (dev->tproto & SAS_PROTOCOL_STP)) {
|
||||||
i = asd_init_sata(dev);
|
i = asd_init_sata(dev);
|
||||||
if (i < 0) {
|
if (i < 0) {
|
||||||
asd_free_ddb(asd_ha, ddb);
|
asd_free_ddb(asd_ha, ddb);
|
||||||
|
|
|
@ -903,11 +903,11 @@ void asd_dump_frame_rcvd(struct asd_phy *phy,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
switch ((dl->status_block[1] & 0x70) >> 3) {
|
switch ((dl->status_block[1] & 0x70) >> 3) {
|
||||||
case SAS_PROTO_STP:
|
case SAS_PROTOCOL_STP:
|
||||||
ASD_DPRINTK("STP proto device-to-host FIS:\n");
|
ASD_DPRINTK("STP proto device-to-host FIS:\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
case SAS_PROTO_SSP:
|
case SAS_PROTOCOL_SSP:
|
||||||
ASD_DPRINTK("SAS proto IDENTIFY:\n");
|
ASD_DPRINTK("SAS proto IDENTIFY:\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,7 @@ static int asd_init_phy(struct asd_phy *phy)
|
||||||
|
|
||||||
sas_phy->enabled = 1;
|
sas_phy->enabled = 1;
|
||||||
sas_phy->class = SAS;
|
sas_phy->class = SAS;
|
||||||
sas_phy->iproto = SAS_PROTO_ALL;
|
sas_phy->iproto = SAS_PROTOCOL_ALL;
|
||||||
sas_phy->tproto = 0;
|
sas_phy->tproto = 0;
|
||||||
sas_phy->type = PHY_TYPE_PHYSICAL;
|
sas_phy->type = PHY_TYPE_PHYSICAL;
|
||||||
sas_phy->role = PHY_ROLE_INITIATOR;
|
sas_phy->role = PHY_ROLE_INITIATOR;
|
||||||
|
|
|
@ -788,12 +788,12 @@ void asd_build_control_phy(struct asd_ascb *ascb, int phy_id, u8 subfunc)
|
||||||
|
|
||||||
/* initiator port settings are in the hi nibble */
|
/* initiator port settings are in the hi nibble */
|
||||||
if (phy->sas_phy.role == PHY_ROLE_INITIATOR)
|
if (phy->sas_phy.role == PHY_ROLE_INITIATOR)
|
||||||
control_phy->port_type = SAS_PROTO_ALL << 4;
|
control_phy->port_type = SAS_PROTOCOL_ALL << 4;
|
||||||
else if (phy->sas_phy.role == PHY_ROLE_TARGET)
|
else if (phy->sas_phy.role == PHY_ROLE_TARGET)
|
||||||
control_phy->port_type = SAS_PROTO_ALL;
|
control_phy->port_type = SAS_PROTOCOL_ALL;
|
||||||
else
|
else
|
||||||
control_phy->port_type =
|
control_phy->port_type =
|
||||||
(SAS_PROTO_ALL << 4) | SAS_PROTO_ALL;
|
(SAS_PROTOCOL_ALL << 4) | SAS_PROTOCOL_ALL;
|
||||||
|
|
||||||
/* link reset retries, this should be nominal */
|
/* link reset retries, this should be nominal */
|
||||||
control_phy->link_reset_retries = 10;
|
control_phy->link_reset_retries = 10;
|
||||||
|
|
|
@ -187,7 +187,7 @@ static void asd_get_response_tasklet(struct asd_ascb *ascb,
|
||||||
ts->buf_valid_size = 0;
|
ts->buf_valid_size = 0;
|
||||||
edb = asd_ha->seq.edb_arr[edb_id + escb->edb_index];
|
edb = asd_ha->seq.edb_arr[edb_id + escb->edb_index];
|
||||||
r = edb->vaddr;
|
r = edb->vaddr;
|
||||||
if (task->task_proto == SAS_PROTO_SSP) {
|
if (task->task_proto == SAS_PROTOCOL_SSP) {
|
||||||
struct ssp_response_iu *iu =
|
struct ssp_response_iu *iu =
|
||||||
r + 16 + sizeof(struct ssp_frame_hdr);
|
r + 16 + sizeof(struct ssp_frame_hdr);
|
||||||
|
|
||||||
|
@ -341,14 +341,14 @@ Again:
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (task->task_proto) {
|
switch (task->task_proto) {
|
||||||
case SATA_PROTO:
|
case SAS_PROTOCOL_SATA:
|
||||||
case SAS_PROTO_STP:
|
case SAS_PROTOCOL_STP:
|
||||||
asd_unbuild_ata_ascb(ascb);
|
asd_unbuild_ata_ascb(ascb);
|
||||||
break;
|
break;
|
||||||
case SAS_PROTO_SMP:
|
case SAS_PROTOCOL_SMP:
|
||||||
asd_unbuild_smp_ascb(ascb);
|
asd_unbuild_smp_ascb(ascb);
|
||||||
break;
|
break;
|
||||||
case SAS_PROTO_SSP:
|
case SAS_PROTOCOL_SSP:
|
||||||
asd_unbuild_ssp_ascb(ascb);
|
asd_unbuild_ssp_ascb(ascb);
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -586,17 +586,17 @@ int asd_execute_task(struct sas_task *task, const int num,
|
||||||
list_for_each_entry(a, &alist, list) {
|
list_for_each_entry(a, &alist, list) {
|
||||||
t = a->uldd_task;
|
t = a->uldd_task;
|
||||||
a->uldd_timer = 1;
|
a->uldd_timer = 1;
|
||||||
if (t->task_proto & SAS_PROTO_STP)
|
if (t->task_proto & SAS_PROTOCOL_STP)
|
||||||
t->task_proto = SAS_PROTO_STP;
|
t->task_proto = SAS_PROTOCOL_STP;
|
||||||
switch (t->task_proto) {
|
switch (t->task_proto) {
|
||||||
case SATA_PROTO:
|
case SAS_PROTOCOL_SATA:
|
||||||
case SAS_PROTO_STP:
|
case SAS_PROTOCOL_STP:
|
||||||
res = asd_build_ata_ascb(a, t, gfp_flags);
|
res = asd_build_ata_ascb(a, t, gfp_flags);
|
||||||
break;
|
break;
|
||||||
case SAS_PROTO_SMP:
|
case SAS_PROTOCOL_SMP:
|
||||||
res = asd_build_smp_ascb(a, t, gfp_flags);
|
res = asd_build_smp_ascb(a, t, gfp_flags);
|
||||||
break;
|
break;
|
||||||
case SAS_PROTO_SSP:
|
case SAS_PROTOCOL_SSP:
|
||||||
res = asd_build_ssp_ascb(a, t, gfp_flags);
|
res = asd_build_ssp_ascb(a, t, gfp_flags);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -633,14 +633,14 @@ out_err_unmap:
|
||||||
t->task_state_flags &= ~SAS_TASK_AT_INITIATOR;
|
t->task_state_flags &= ~SAS_TASK_AT_INITIATOR;
|
||||||
spin_unlock_irqrestore(&t->task_state_lock, flags);
|
spin_unlock_irqrestore(&t->task_state_lock, flags);
|
||||||
switch (t->task_proto) {
|
switch (t->task_proto) {
|
||||||
case SATA_PROTO:
|
case SAS_PROTOCOL_SATA:
|
||||||
case SAS_PROTO_STP:
|
case SAS_PROTOCOL_STP:
|
||||||
asd_unbuild_ata_ascb(a);
|
asd_unbuild_ata_ascb(a);
|
||||||
break;
|
break;
|
||||||
case SAS_PROTO_SMP:
|
case SAS_PROTOCOL_SMP:
|
||||||
asd_unbuild_smp_ascb(a);
|
asd_unbuild_smp_ascb(a);
|
||||||
break;
|
break;
|
||||||
case SAS_PROTO_SSP:
|
case SAS_PROTOCOL_SSP:
|
||||||
asd_unbuild_ssp_ascb(a);
|
asd_unbuild_ssp_ascb(a);
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -372,21 +372,21 @@ int asd_abort_task(struct sas_task *task)
|
||||||
scb->header.opcode = ABORT_TASK;
|
scb->header.opcode = ABORT_TASK;
|
||||||
|
|
||||||
switch (task->task_proto) {
|
switch (task->task_proto) {
|
||||||
case SATA_PROTO:
|
case SAS_PROTOCOL_SATA:
|
||||||
case SAS_PROTO_STP:
|
case SAS_PROTOCOL_STP:
|
||||||
scb->abort_task.proto_conn_rate = (1 << 5); /* STP */
|
scb->abort_task.proto_conn_rate = (1 << 5); /* STP */
|
||||||
break;
|
break;
|
||||||
case SAS_PROTO_SSP:
|
case SAS_PROTOCOL_SSP:
|
||||||
scb->abort_task.proto_conn_rate = (1 << 4); /* SSP */
|
scb->abort_task.proto_conn_rate = (1 << 4); /* SSP */
|
||||||
scb->abort_task.proto_conn_rate |= task->dev->linkrate;
|
scb->abort_task.proto_conn_rate |= task->dev->linkrate;
|
||||||
break;
|
break;
|
||||||
case SAS_PROTO_SMP:
|
case SAS_PROTOCOL_SMP:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (task->task_proto == SAS_PROTO_SSP) {
|
if (task->task_proto == SAS_PROTOCOL_SSP) {
|
||||||
scb->abort_task.ssp_frame.frame_type = SSP_TASK;
|
scb->abort_task.ssp_frame.frame_type = SSP_TASK;
|
||||||
memcpy(scb->abort_task.ssp_frame.hashed_dest_addr,
|
memcpy(scb->abort_task.ssp_frame.hashed_dest_addr,
|
||||||
task->dev->hashed_sas_addr, HASHED_SAS_ADDR_SIZE);
|
task->dev->hashed_sas_addr, HASHED_SAS_ADDR_SIZE);
|
||||||
|
@ -512,7 +512,7 @@ static int asd_initiate_ssp_tmf(struct domain_device *dev, u8 *lun,
|
||||||
int res = 1;
|
int res = 1;
|
||||||
struct scb *scb;
|
struct scb *scb;
|
||||||
|
|
||||||
if (!(dev->tproto & SAS_PROTO_SSP))
|
if (!(dev->tproto & SAS_PROTOCOL_SSP))
|
||||||
return TMF_RESP_FUNC_ESUPP;
|
return TMF_RESP_FUNC_ESUPP;
|
||||||
|
|
||||||
ascb = asd_ascb_alloc_list(asd_ha, &res, GFP_KERNEL);
|
ascb = asd_ascb_alloc_list(asd_ha, &res, GFP_KERNEL);
|
||||||
|
|
|
@ -98,7 +98,7 @@ static int sas_get_port_device(struct asd_sas_port *port)
|
||||||
dev->dev_type = SATA_PM;
|
dev->dev_type = SATA_PM;
|
||||||
else
|
else
|
||||||
dev->dev_type = SATA_DEV;
|
dev->dev_type = SATA_DEV;
|
||||||
dev->tproto = SATA_PROTO;
|
dev->tproto = SAS_PROTOCOL_SATA;
|
||||||
} else {
|
} else {
|
||||||
struct sas_identify_frame *id =
|
struct sas_identify_frame *id =
|
||||||
(struct sas_identify_frame *) dev->frame_rcvd;
|
(struct sas_identify_frame *) dev->frame_rcvd;
|
||||||
|
|
|
@ -656,9 +656,9 @@ static struct domain_device *sas_ex_discover_end_dev(
|
||||||
sas_ex_get_linkrate(parent, child, phy);
|
sas_ex_get_linkrate(parent, child, phy);
|
||||||
|
|
||||||
#ifdef CONFIG_SCSI_SAS_ATA
|
#ifdef CONFIG_SCSI_SAS_ATA
|
||||||
if ((phy->attached_tproto & SAS_PROTO_STP) || phy->attached_sata_dev) {
|
if ((phy->attached_tproto & SAS_PROTOCOL_STP) || phy->attached_sata_dev) {
|
||||||
child->dev_type = SATA_DEV;
|
child->dev_type = SATA_DEV;
|
||||||
if (phy->attached_tproto & SAS_PROTO_STP)
|
if (phy->attached_tproto & SAS_PROTOCOL_STP)
|
||||||
child->tproto = phy->attached_tproto;
|
child->tproto = phy->attached_tproto;
|
||||||
if (phy->attached_sata_dev)
|
if (phy->attached_sata_dev)
|
||||||
child->tproto |= SATA_DEV;
|
child->tproto |= SATA_DEV;
|
||||||
|
@ -695,7 +695,7 @@ static struct domain_device *sas_ex_discover_end_dev(
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
if (phy->attached_tproto & SAS_PROTO_SSP) {
|
if (phy->attached_tproto & SAS_PROTOCOL_SSP) {
|
||||||
child->dev_type = SAS_END_DEV;
|
child->dev_type = SAS_END_DEV;
|
||||||
rphy = sas_end_device_alloc(phy->port);
|
rphy = sas_end_device_alloc(phy->port);
|
||||||
/* FIXME: error handling */
|
/* FIXME: error handling */
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
void sas_scsi_recover_host(struct Scsi_Host *shost);
|
void sas_scsi_recover_host(struct Scsi_Host *shost);
|
||||||
|
|
||||||
int sas_show_class(enum sas_class class, char *buf);
|
int sas_show_class(enum sas_class class, char *buf);
|
||||||
int sas_show_proto(enum sas_proto proto, char *buf);
|
int sas_show_proto(enum sas_protocol proto, char *buf);
|
||||||
int sas_show_linkrate(enum sas_linkrate linkrate, char *buf);
|
int sas_show_linkrate(enum sas_linkrate linkrate, char *buf);
|
||||||
int sas_show_oob_mode(enum sas_oob_mode oob_mode, char *buf);
|
int sas_show_oob_mode(enum sas_oob_mode oob_mode, char *buf);
|
||||||
|
|
||||||
|
|
|
@ -122,8 +122,8 @@ struct ex_phy {
|
||||||
u8 attached_sata_dev:1;
|
u8 attached_sata_dev:1;
|
||||||
u8 attached_sata_ps:1;
|
u8 attached_sata_ps:1;
|
||||||
|
|
||||||
enum sas_proto attached_tproto;
|
enum sas_protocol attached_tproto;
|
||||||
enum sas_proto attached_iproto;
|
enum sas_protocol attached_iproto;
|
||||||
|
|
||||||
u8 attached_sas_addr[SAS_ADDR_SIZE];
|
u8 attached_sas_addr[SAS_ADDR_SIZE];
|
||||||
u8 attached_phy_id;
|
u8 attached_phy_id;
|
||||||
|
@ -191,8 +191,8 @@ struct domain_device {
|
||||||
|
|
||||||
struct list_head dev_list_node;
|
struct list_head dev_list_node;
|
||||||
|
|
||||||
enum sas_proto iproto;
|
enum sas_protocol iproto;
|
||||||
enum sas_proto tproto;
|
enum sas_protocol tproto;
|
||||||
|
|
||||||
struct sas_rphy *rphy;
|
struct sas_rphy *rphy;
|
||||||
|
|
||||||
|
@ -245,8 +245,8 @@ struct asd_sas_port {
|
||||||
enum sas_class class;
|
enum sas_class class;
|
||||||
u8 sas_addr[SAS_ADDR_SIZE];
|
u8 sas_addr[SAS_ADDR_SIZE];
|
||||||
u8 attached_sas_addr[SAS_ADDR_SIZE];
|
u8 attached_sas_addr[SAS_ADDR_SIZE];
|
||||||
enum sas_proto iproto;
|
enum sas_protocol iproto;
|
||||||
enum sas_proto tproto;
|
enum sas_protocol tproto;
|
||||||
|
|
||||||
enum sas_oob_mode oob_mode;
|
enum sas_oob_mode oob_mode;
|
||||||
|
|
||||||
|
@ -289,8 +289,8 @@ struct asd_sas_phy {
|
||||||
|
|
||||||
int id; /* must be set */
|
int id; /* must be set */
|
||||||
enum sas_class class;
|
enum sas_class class;
|
||||||
enum sas_proto iproto;
|
enum sas_protocol iproto;
|
||||||
enum sas_proto tproto;
|
enum sas_protocol tproto;
|
||||||
|
|
||||||
enum sas_phy_type type;
|
enum sas_phy_type type;
|
||||||
enum sas_phy_role role;
|
enum sas_phy_role role;
|
||||||
|
@ -537,7 +537,7 @@ struct sas_task {
|
||||||
spinlock_t task_state_lock;
|
spinlock_t task_state_lock;
|
||||||
unsigned task_state_flags;
|
unsigned task_state_flags;
|
||||||
|
|
||||||
enum sas_proto task_proto;
|
enum sas_protocol task_proto;
|
||||||
|
|
||||||
/* Used by the discovery code. */
|
/* Used by the discovery code. */
|
||||||
struct timer_list timer;
|
struct timer_list timer;
|
||||||
|
|
|
@ -102,13 +102,12 @@ enum sas_dev_type {
|
||||||
SATA_PM_PORT= 8,
|
SATA_PM_PORT= 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Partly from IDENTIFY address frame. */
|
enum sas_protocol {
|
||||||
enum sas_proto {
|
SAS_PROTOCOL_SATA = 0x01,
|
||||||
SATA_PROTO = 1,
|
SAS_PROTOCOL_SMP = 0x02,
|
||||||
SAS_PROTO_SMP = 2, /* protocol */
|
SAS_PROTOCOL_STP = 0x04,
|
||||||
SAS_PROTO_STP = 4, /* protocol */
|
SAS_PROTOCOL_SSP = 0x08,
|
||||||
SAS_PROTO_SSP = 8, /* protocol */
|
SAS_PROTOCOL_ALL = 0x0E,
|
||||||
SAS_PROTO_ALL = 0xE,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* From the spec; local phys only */
|
/* From the spec; local phys only */
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include <linux/transport_class.h>
|
#include <linux/transport_class.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
#include <scsi/sas.h>
|
||||||
|
|
||||||
struct scsi_transport_template;
|
struct scsi_transport_template;
|
||||||
struct sas_rphy;
|
struct sas_rphy;
|
||||||
|
@ -16,13 +17,6 @@ enum sas_device_type {
|
||||||
SAS_FANOUT_EXPANDER_DEVICE,
|
SAS_FANOUT_EXPANDER_DEVICE,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum sas_protocol {
|
|
||||||
SAS_PROTOCOL_SATA = 0x01,
|
|
||||||
SAS_PROTOCOL_SMP = 0x02,
|
|
||||||
SAS_PROTOCOL_STP = 0x04,
|
|
||||||
SAS_PROTOCOL_SSP = 0x08,
|
|
||||||
};
|
|
||||||
|
|
||||||
static inline int sas_protocol_ata(enum sas_protocol proto)
|
static inline int sas_protocol_ata(enum sas_protocol proto)
|
||||||
{
|
{
|
||||||
return ((proto & SAS_PROTOCOL_SATA) ||
|
return ((proto & SAS_PROTOCOL_SATA) ||
|
||||||
|
|
Загрузка…
Ссылка в новой задаче