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>
 
 #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;
        int     id;
 };
 
+struct hisi_sas_device {
+       enum sas_device_type    dev_type;
+       u64 device_id;
+       u8 dev_status;
+};
+
 struct hisi_sas_slot {
 };
 
        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];
 
        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];