hisi_sas: Add hisi sas device type
authorJohn Garry <john.garry@huawei.com>
Tue, 17 Nov 2015 16:50:41 +0000 (00:50 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 26 Nov 2015 03:12:57 +0000 (22:12 -0500)
Include initialisation.

Signed-off-by: John Garry <john.garry@huawei.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas.h
drivers/scsi/hisi_sas/hisi_sas_main.c

index 62bc6f32b73442e95cfb20df751e1e21000943c6..5ac5a82edfec80b48ea6d9c53a9fc81ea54dd1d3 100644 (file)
 
 #define HISI_SAS_NAME_LEN 32
 
+
+enum dev_status {
+       HISI_SAS_DEV_NORMAL,
+       HISI_SAS_DEV_EH,
+};
 struct hisi_sas_phy {
        struct asd_sas_phy      sas_phy;
        u64             dev_sas_addr;
@@ -51,6 +56,12 @@ struct hisi_sas_cq {
        int     id;
 };
 
+struct hisi_sas_device {
+       enum sas_device_type    dev_type;
+       u64 device_id;
+       u8 dev_status;
+};
+
 struct hisi_sas_slot {
 };
 
@@ -89,6 +100,7 @@ struct hisi_hba {
        char    *int_names;
 
        struct dma_pool *sge_page_pool;
+       struct hisi_sas_device  devices[HISI_SAS_MAX_DEVICES];
        struct dma_pool *command_table_pool;
        struct dma_pool *status_buffer_pool;
        struct hisi_sas_cmd_hdr *cmd_hdr[HISI_SAS_MAX_QUEUES];
index 7f32c6b76d0553e8b3a6d6497eab8517f6e4b61e..21111d4b854f241fcacab3d7e32011b86f7e3284 100644 (file)
@@ -57,6 +57,12 @@ static int hisi_sas_alloc(struct hisi_hba *hisi_hba, struct Scsi_Host *shost)
        struct platform_device *pdev = hisi_hba->pdev;
        struct device *dev = &pdev->dev;
 
+       for (i = 0; i < HISI_SAS_MAX_DEVICES; i++) {
+               hisi_hba->devices[i].dev_type = SAS_PHY_UNUSED;
+               hisi_hba->devices[i].device_id = i;
+               hisi_hba->devices[i].dev_status = HISI_SAS_DEV_NORMAL;
+       }
+
        for (i = 0; i < hisi_hba->queue_count; i++) {
                struct hisi_sas_cq *cq = &hisi_hba->cq[i];