From: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Date: Tue, 26 Dec 2017 20:34:33 -0800
Subject: scsi: aacraid: Add target setup helper function
Patch-mainline: v4.16-rc1
Git-commit: fc0fdd9abcc60bd207151b2c8a82dc5ee4b45226
References: FATE#325927
Add helper function to setup targets devices and create the base for the
upcoming patches
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Johannes Thumshirn <jthumshirn@suse.de>
---
drivers/scsi/aacraid/aachba.c | 18 +++++++++++++-----
drivers/scsi/aacraid/aacraid.h | 2 +-
drivers/scsi/aacraid/commsup.c | 2 +-
3 files changed, 15 insertions(+), 7 deletions(-)
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -1860,7 +1860,7 @@ update_devtype:
* Execute a CISS REPORT PHYS LUNS and process the results into
* the current hba_map.
*/
-int aac_get_safw_ciss_luns(struct aac_dev *dev, int rescan)
+static int aac_get_safw_ciss_luns(struct aac_dev *dev, int rescan)
{
int rcode = -ENOMEM;
int datasize;
@@ -1898,6 +1898,16 @@ err_out:
return rcode;
}
+static int aac_setup_safw_targets(struct aac_dev *dev, int rescan)
+{
+ return aac_get_safw_ciss_luns(dev, rescan);
+}
+
+int aac_setup_safw_adapter(struct aac_dev *dev, int rescan)
+{
+ return aac_setup_safw_targets(dev, rescan);
+}
+
int aac_get_adapter_info(struct aac_dev* dev)
{
struct fib* fibptr;
@@ -2001,10 +2011,8 @@ int aac_get_adapter_info(struct aac_dev*
}
if (!dev->sync_mode && dev->sa_firmware &&
- dev->supplement_adapter_info.virt_device_bus != 0xffff) {
- /* Thor SA Firmware -> CISS_REPORT_PHYSICAL_LUNS */
- rcode = aac_get_safw_ciss_luns(dev, AAC_INIT);
- }
+ dev->supplement_adapter_info.virt_device_bus != 0xffff)
+ rcode = aac_setup_safw_adapter(dev, AAC_INIT);
if (!dev->in_reset) {
char buffer[16];
--- a/drivers/scsi/aacraid/aacraid.h
+++ b/drivers/scsi/aacraid/aacraid.h
@@ -2641,7 +2641,7 @@ static inline int aac_adapter_check_heal
int aac_acquire_irq(struct aac_dev *dev);
void aac_free_irq(struct aac_dev *dev);
-int aac_get_safw_ciss_luns(struct aac_dev *dev, int rescan);
+int aac_setup_safw_adapter(struct aac_dev *dev, int rescan);
const char *aac_driverinfo(struct Scsi_Host *);
void aac_fib_vector_assign(struct aac_dev *dev);
struct fib *aac_fib_alloc(struct aac_dev *dev);
--- a/drivers/scsi/aacraid/commsup.c
+++ b/drivers/scsi/aacraid/commsup.c
@@ -1916,7 +1916,7 @@ static void aac_handle_sa_aif(struct aac
for (target = 0; target < AAC_MAX_TARGETS; target++)
dev->hba_map[bus][target].new_devtype = 0;
- rcode = aac_get_safw_ciss_luns(dev, AAC_RESCAN);
+ rcode = aac_setup_safw_adapter(dev, AAC_RESCAN);
aac_resolve_luns(dev);