From fa42d80dc3c5196b0359fab9a212cc4ede257502 Mon Sep 17 00:00:00 2001 From: John Garry Date: Wed, 18 Nov 2015 00:50:43 +0800 Subject: [PATCH] hisi_sas: Add timer and spinlock init Signed-off-by: John Garry Reviewed-by: Arnd Bergmann Reviewed-by: Hannes Reinecke Signed-off-by: Martin K. Petersen --- drivers/scsi/hisi_sas/hisi_sas.h | 2 ++ drivers/scsi/hisi_sas/hisi_sas_main.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h index 3a2400e8bb95..3749c46bc6d0 100644 --- a/drivers/scsi/hisi_sas/hisi_sas.h +++ b/drivers/scsi/hisi_sas/hisi_sas.h @@ -97,7 +97,9 @@ struct hisi_hba { u8 sas_addr[SAS_ADDR_SIZE]; int n_phy; + spinlock_t lock; + struct timer_list timer; struct workqueue_struct *wq; int slot_index_count; diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c index bc41ce478c3d..06b863c40124 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_main.c +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c @@ -81,6 +81,7 @@ 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; + spin_lock_init(&hisi_hba->lock); for (i = 0; i < hisi_hba->n_phy; i++) { hisi_sas_phy_init(hisi_hba, i); hisi_hba->port[i].port_attached = 0; @@ -275,6 +276,8 @@ static struct Scsi_Host *hisi_sas_shost_alloc(struct platform_device *pdev, hisi_hba->shost = shost; SHOST_TO_SAS_HA(shost) = &hisi_hba->sha; + init_timer(&hisi_hba->timer); + sas_addr_prop = of_find_property(np, "sas-addr", NULL); if (!sas_addr_prop || (sas_addr_prop->length != SAS_ADDR_SIZE)) goto err_out; -- 2.20.1