summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilad Broner <gbroner@codeaurora.org>2014-11-11 18:12:22 +0200
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 10:58:03 -0700
commit7223077cfda42eca35eba8fc9024ccc3f36b7d40 (patch)
treeed87e9c49d96c6411841f47d966aa838eaf27028
parentf3fdd87f21feb19ec65a08f72e0efa245eae76bd (diff)
scsi: ufs-qcom: save ufs_qcom_host object pointers
Analyzing crash logs is made easier when the different UFS objects state is accessible. Save a pointer to the main ufs_qcom_host object when it is allocated. Change-Id: I8eb909729dee7209e5d9b1af2652fe76ccd3c0ca Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
-rw-r--r--drivers/scsi/ufs/ufs-qcom.c5
-rw-r--r--include/linux/scsi/ufs/ufs-qcom.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c
index 4cf845341006..55ee0c4b9018 100644
--- a/drivers/scsi/ufs/ufs-qcom.c
+++ b/drivers/scsi/ufs/ufs-qcom.c
@@ -35,6 +35,8 @@
#include "ufshci.h"
#include "ufs-qcom-ice.h"
+static struct ufs_qcom_host *ufs_qcom_hosts[MAX_UFS_QCOM_HOSTS];
+
static void ufs_qcom_get_speed_mode(struct ufs_pa_layer_attr *p, char *result);
static int ufs_qcom_get_bus_vote(struct ufs_qcom_host *host,
const char *speed_mode);
@@ -1173,6 +1175,9 @@ static int ufs_qcom_init(struct ufs_hba *hba)
}
}
+ if (hba->dev->id < MAX_UFS_QCOM_HOSTS)
+ ufs_qcom_hosts[hba->dev->id] = host;
+
goto out;
out_disable_phy:
diff --git a/include/linux/scsi/ufs/ufs-qcom.h b/include/linux/scsi/ufs/ufs-qcom.h
index 9f4471f43eb2..62db011f9432 100644
--- a/include/linux/scsi/ufs/ufs-qcom.h
+++ b/include/linux/scsi/ufs/ufs-qcom.h
@@ -16,6 +16,7 @@
#include <linux/phy/phy.h>
+#define MAX_UFS_QCOM_HOSTS 1
#define MAX_U32 (~(u32)0)
#define MPHY_TX_FSM_STATE 0x41
#define TX_FSM_HIBERN8 0x1