[SCSI] sas: unify the pointlessly separated enums sas_dev_type and sas_device_type
These enums have been separate since the dawn of SAS, mainly because the latter is a procotol only enum and the former includes additional state for libsas. The dichotomy causes endless confusion about which one you should use where and leads to pointless warnings like this: drivers/scsi/mvsas/mv_sas.c: In function 'mvs_update_phyinfo': drivers/scsi/mvsas/mv_sas.c:1162:34: warning: comparison between 'enum sas_device_type' and 'enum sas_dev_type' [-Wenum-compare] Fix by eliminating one of them. The one kept is effectively the sas.h one, but call it sas_device_type and make sure the enums are all properly namespaced with the SAS_ prefix. Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
@@ -1505,7 +1505,7 @@ void pm8001_work_fn(struct work_struct *work)
|
||||
pm8001_dev = pw->data; /* Most stash device structure */
|
||||
if ((pm8001_dev == NULL)
|
||||
|| ((pw->handler != IO_XFER_ERROR_BREAK)
|
||||
&& (pm8001_dev->dev_type == NO_DEVICE))) {
|
||||
&& (pm8001_dev->dev_type == SAS_PHY_UNUSED))) {
|
||||
kfree(pw);
|
||||
return;
|
||||
}
|
||||
@@ -3443,7 +3443,7 @@ hw_event_sata_phy_up(struct pm8001_hba_info *pm8001_ha, void *piomb)
|
||||
sizeof(struct dev_to_host_fis));
|
||||
phy->frame_rcvd_size = sizeof(struct dev_to_host_fis);
|
||||
phy->identify.target_port_protocols = SAS_PROTOCOL_SATA;
|
||||
phy->identify.device_type = SATA_DEV;
|
||||
phy->identify.device_type = SAS_SATA_DEV;
|
||||
pm8001_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr);
|
||||
spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags);
|
||||
pm8001_bytes_dmaed(pm8001_ha, phy_id);
|
||||
@@ -4465,7 +4465,7 @@ pm8001_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id)
|
||||
payload.ase_sh_lm_slr_phyid = cpu_to_le32(SPINHOLD_DISABLE |
|
||||
LINKMODE_AUTO | LINKRATE_15 |
|
||||
LINKRATE_30 | LINKRATE_60 | phy_id);
|
||||
payload.sas_identify.dev_type = SAS_END_DEV;
|
||||
payload.sas_identify.dev_type = SAS_END_DEVICE;
|
||||
payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL;
|
||||
memcpy(payload.sas_identify.sas_addr,
|
||||
pm8001_ha->sas_addr, SAS_ADDR_SIZE);
|
||||
@@ -4527,11 +4527,11 @@ static int pm8001_chip_reg_dev_req(struct pm8001_hba_info *pm8001_ha,
|
||||
if (flag == 1)
|
||||
stp_sspsmp_sata = 0x02; /*direct attached sata */
|
||||
else {
|
||||
if (pm8001_dev->dev_type == SATA_DEV)
|
||||
if (pm8001_dev->dev_type == SAS_SATA_DEV)
|
||||
stp_sspsmp_sata = 0x00; /* stp*/
|
||||
else if (pm8001_dev->dev_type == SAS_END_DEV ||
|
||||
pm8001_dev->dev_type == EDGE_DEV ||
|
||||
pm8001_dev->dev_type == FANOUT_DEV)
|
||||
else if (pm8001_dev->dev_type == SAS_END_DEVICE ||
|
||||
pm8001_dev->dev_type == SAS_EDGE_EXPANDER_DEVICE ||
|
||||
pm8001_dev->dev_type == SAS_FANOUT_EXPANDER_DEVICE)
|
||||
stp_sspsmp_sata = 0x01; /*ssp or smp*/
|
||||
}
|
||||
if (parent_dev && DEV_IS_EXPANDER(parent_dev->dev_type))
|
||||
@@ -4662,9 +4662,9 @@ int pm8001_chip_abort_task(struct pm8001_hba_info *pm8001_ha,
|
||||
PM8001_EH_DBG(pm8001_ha,
|
||||
pm8001_printk("cmd_tag = %x, abort task tag = 0x%x",
|
||||
cmd_tag, task_tag));
|
||||
if (pm8001_dev->dev_type == SAS_END_DEV)
|
||||
if (pm8001_dev->dev_type == SAS_END_DEVICE)
|
||||
opc = OPC_INB_SSP_ABORT;
|
||||
else if (pm8001_dev->dev_type == SATA_DEV)
|
||||
else if (pm8001_dev->dev_type == SAS_SATA_DEV)
|
||||
opc = OPC_INB_SATA_ABORT;
|
||||
else
|
||||
opc = OPC_INB_SMP_ABORT;/* SMP */
|
||||
|
@@ -361,7 +361,7 @@ static int pm8001_alloc(struct pm8001_hba_info *pm8001_ha,
|
||||
|
||||
pm8001_ha->devices = pm8001_ha->memoryMap.region[DEV_MEM].virt_ptr;
|
||||
for (i = 0; i < PM8001_MAX_DEVICES; i++) {
|
||||
pm8001_ha->devices[i].dev_type = NO_DEVICE;
|
||||
pm8001_ha->devices[i].dev_type = SAS_PHY_UNUSED;
|
||||
pm8001_ha->devices[i].id = i;
|
||||
pm8001_ha->devices[i].device_id = PM8001_MAX_DEVICES;
|
||||
pm8001_ha->devices[i].running_req = 0;
|
||||
|
@@ -357,7 +357,7 @@ static int sas_find_local_port_id(struct domain_device *dev)
|
||||
* @tmf: the task management IU
|
||||
*/
|
||||
#define DEV_IS_GONE(pm8001_dev) \
|
||||
((!pm8001_dev || (pm8001_dev->dev_type == NO_DEVICE)))
|
||||
((!pm8001_dev || (pm8001_dev->dev_type == SAS_PHY_UNUSED)))
|
||||
static int pm8001_task_exec(struct sas_task *task, const int num,
|
||||
gfp_t gfp_flags, int is_tmf, struct pm8001_tmf_task *tmf)
|
||||
{
|
||||
@@ -375,7 +375,7 @@ static int pm8001_task_exec(struct sas_task *task, const int num,
|
||||
struct task_status_struct *tsm = &t->task_status;
|
||||
tsm->resp = SAS_TASK_UNDELIVERED;
|
||||
tsm->stat = SAS_PHY_DOWN;
|
||||
if (dev->dev_type != SATA_DEV)
|
||||
if (dev->dev_type != SAS_SATA_DEV)
|
||||
t->task_done(t);
|
||||
return 0;
|
||||
}
|
||||
@@ -553,7 +553,7 @@ struct pm8001_device *pm8001_alloc_dev(struct pm8001_hba_info *pm8001_ha)
|
||||
{
|
||||
u32 dev;
|
||||
for (dev = 0; dev < PM8001_MAX_DEVICES; dev++) {
|
||||
if (pm8001_ha->devices[dev].dev_type == NO_DEVICE) {
|
||||
if (pm8001_ha->devices[dev].dev_type == SAS_PHY_UNUSED) {
|
||||
pm8001_ha->devices[dev].id = dev;
|
||||
return &pm8001_ha->devices[dev];
|
||||
}
|
||||
@@ -589,7 +589,7 @@ static void pm8001_free_dev(struct pm8001_device *pm8001_dev)
|
||||
u32 id = pm8001_dev->id;
|
||||
memset(pm8001_dev, 0, sizeof(*pm8001_dev));
|
||||
pm8001_dev->id = id;
|
||||
pm8001_dev->dev_type = NO_DEVICE;
|
||||
pm8001_dev->dev_type = SAS_PHY_UNUSED;
|
||||
pm8001_dev->device_id = PM8001_MAX_DEVICES;
|
||||
pm8001_dev->sas_device = NULL;
|
||||
}
|
||||
@@ -647,7 +647,7 @@ static int pm8001_dev_found_notify(struct domain_device *dev)
|
||||
res = -1;
|
||||
}
|
||||
} else {
|
||||
if (dev->dev_type == SATA_DEV) {
|
||||
if (dev->dev_type == SAS_SATA_DEV) {
|
||||
pm8001_device->attached_phy =
|
||||
dev->rphy->identify.phy_identifier;
|
||||
flag = 1; /* directly sata*/
|
||||
@@ -657,7 +657,7 @@ static int pm8001_dev_found_notify(struct domain_device *dev)
|
||||
PM8001_CHIP_DISP->reg_dev_req(pm8001_ha, pm8001_device, flag);
|
||||
spin_unlock_irqrestore(&pm8001_ha->lock, flags);
|
||||
wait_for_completion(&completion);
|
||||
if (dev->dev_type == SAS_END_DEV)
|
||||
if (dev->dev_type == SAS_END_DEVICE)
|
||||
msleep(50);
|
||||
pm8001_ha->flags = PM8001F_RUN_TIME;
|
||||
return 0;
|
||||
@@ -927,7 +927,7 @@ void pm8001_open_reject_retry(
|
||||
struct pm8001_ccb_info *ccb = &pm8001_ha->ccb_info[i];
|
||||
|
||||
pm8001_dev = ccb->device;
|
||||
if (!pm8001_dev || (pm8001_dev->dev_type == NO_DEVICE))
|
||||
if (!pm8001_dev || (pm8001_dev->dev_type == SAS_PHY_UNUSED))
|
||||
continue;
|
||||
if (!device_to_close) {
|
||||
uintptr_t d = (uintptr_t)pm8001_dev
|
||||
|
@@ -103,7 +103,7 @@ do { \
|
||||
#define PM8001_READ_VPD
|
||||
|
||||
|
||||
#define DEV_IS_EXPANDER(type) ((type == EDGE_DEV) || (type == FANOUT_DEV))
|
||||
#define DEV_IS_EXPANDER(type) ((type == SAS_EDGE_EXPANDER_DEVICE) || (type == SAS_FANOUT_EXPANDER_DEVICE))
|
||||
|
||||
#define PM8001_NAME_LENGTH 32/* generic length of strings */
|
||||
extern struct list_head hba_list;
|
||||
@@ -206,7 +206,7 @@ struct pm8001_phy {
|
||||
};
|
||||
|
||||
struct pm8001_device {
|
||||
enum sas_dev_type dev_type;
|
||||
enum sas_device_type dev_type;
|
||||
struct domain_device *sas_device;
|
||||
u32 attached_phy;
|
||||
u32 id;
|
||||
|
@@ -2684,7 +2684,7 @@ hw_event_sata_phy_up(struct pm8001_hba_info *pm8001_ha, void *piomb)
|
||||
sizeof(struct dev_to_host_fis));
|
||||
phy->frame_rcvd_size = sizeof(struct dev_to_host_fis);
|
||||
phy->identify.target_port_protocols = SAS_PROTOCOL_SATA;
|
||||
phy->identify.device_type = SATA_DEV;
|
||||
phy->identify.device_type = SAS_SATA_DEV;
|
||||
pm8001_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr);
|
||||
spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags);
|
||||
pm8001_bytes_dmaed(pm8001_ha, phy_id);
|
||||
@@ -3952,7 +3952,7 @@ pm80xx_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id)
|
||||
Have to add "SAS PHY Analog Setup SPASTI 1 Byte" Based on need
|
||||
**/
|
||||
|
||||
payload.sas_identify.dev_type = SAS_END_DEV;
|
||||
payload.sas_identify.dev_type = SAS_END_DEVICE;
|
||||
payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL;
|
||||
memcpy(payload.sas_identify.sas_addr,
|
||||
pm8001_ha->sas_addr, SAS_ADDR_SIZE);
|
||||
@@ -4015,11 +4015,11 @@ static int pm80xx_chip_reg_dev_req(struct pm8001_hba_info *pm8001_ha,
|
||||
if (flag == 1) {
|
||||
stp_sspsmp_sata = 0x02; /*direct attached sata */
|
||||
} else {
|
||||
if (pm8001_dev->dev_type == SATA_DEV)
|
||||
if (pm8001_dev->dev_type == SAS_SATA_DEV)
|
||||
stp_sspsmp_sata = 0x00; /* stp*/
|
||||
else if (pm8001_dev->dev_type == SAS_END_DEV ||
|
||||
pm8001_dev->dev_type == EDGE_DEV ||
|
||||
pm8001_dev->dev_type == FANOUT_DEV)
|
||||
else if (pm8001_dev->dev_type == SAS_END_DEVICE ||
|
||||
pm8001_dev->dev_type == SAS_EDGE_EXPANDER_DEVICE ||
|
||||
pm8001_dev->dev_type == SAS_FANOUT_EXPANDER_DEVICE)
|
||||
stp_sspsmp_sata = 0x01; /*ssp or smp*/
|
||||
}
|
||||
if (parent_dev && DEV_IS_EXPANDER(parent_dev->dev_type))
|
||||
|
Reference in New Issue
Block a user