Re: [PATCH v2] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2015-01-02 Thread Chen Gang

Could you provide more detail for it, then I can make patch v3 (or I have no 
any idea
about it).

Thanks

发自我的 iPad

 在 2014年12月30日,下午8:45,Christoph Hellwig h...@infradead.org 写道:
 
 On Mon, Dec 15, 2014 at 12:05:22AM +0800, Chen Gang wrote:
 For shared inline functions crossed source files, better to let it as
 static inline in a header file. For extern functions, better to
 declare them in header file.
 
 
 This one doesn't apply.
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2014-12-30 Thread Christoph Hellwig
On Mon, Dec 15, 2014 at 12:05:22AM +0800, Chen Gang wrote:
 For shared inline functions crossed source files, better to let it as
 static inline in a header file. For extern functions, better to
 declare them in header file.


This one doesn't apply.
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH v2] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using

2014-12-15 Thread Sumit Saxena
-Original Message-
From: Chen Gang [mailto:gang.chen.5...@gmail.com]
Sent: Sunday, December 14, 2014 9:35 PM
To: megaraidli...@lsi.com; jbottom...@parallels.com; Sumit Saxena
Cc: linux-scsi@vger.kernel.org; linux-ker...@vger.kernel.org
Subject: [PATCH v2] drivers: scsi: megaraid: Add megaraid_sas_internal.h
for internal shared functions using

For shared inline functions crossed source files, better to let it as
static inline
in a header file. For extern functions, better to declare them in header
file.

Signed-off-by: Chen Gang gang.chen.5...@gmail.com
---
 drivers/scsi/megaraid/megaraid_sas_base.c |  76 +
 drivers/scsi/megaraid/megaraid_sas_fusion.c   |  42 +-
 drivers/scsi/megaraid/megaraid_sas_internal.h | 116
++
 3 files changed, 118 insertions(+), 116 deletions(-)  create mode 100644
drivers/scsi/megaraid/megaraid_sas_internal.h

diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
b/drivers/scsi/megaraid/megaraid_sas_base.c
index dc27598..474c39b 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -57,6 +57,7 @@
 #include scsi/scsi_tcq.h
 #include megaraid_sas_fusion.h
 #include megaraid_sas.h
+#include megaraid_sas_internal.h

 /*
  * Number of sectors per IO command
@@ -127,9 +128,6 @@ static u32 support_device_change;
 /* define lock for aen poll */
 spinlock_t poll_aen_lock;

-void
-megasas_complete_cmd(struct megasas_instance *instance, struct
megasas_cmd *cmd,
-   u8 alt_status);
 static u32
 megasas_read_fw_status_reg_gen2(struct megasas_register_set __iomem
*regs);  static int @@ -142,23 +140,6 @@ u32
megasas_build_and_issue_cmd(struct megasas_instance *instance,
   struct scsi_cmnd *scmd);
 static void megasas_complete_cmd_dpc(unsigned long instance_addr); -void
-megasas_release_fusion(struct megasas_instance *instance); -int -
megasas_ioc_init_fusion(struct megasas_instance *instance); -void -
megasas_free_cmds_fusion(struct megasas_instance *instance);
-u8
-megasas_get_map_info(struct megasas_instance *instance); -int -
megasas_sync_map_info(struct megasas_instance *instance); -int -
wait_and_poll(struct megasas_instance *instance, struct megasas_cmd
*cmd); -void megasas_reset_reply_desc(struct megasas_instance *instance);
-u8 MR_ValidateMapInfo(struct MR_FW_RAID_MAP_ALL *map,
-struct LD_LOAD_BALANCE_INFO *lbInfo);
-int megasas_reset_fusion(struct Scsi_Host *shost); -void
megasas_fusion_ocr_wq(struct work_struct *work);

 void
 megasas_issue_dcmd(struct megasas_instance *instance, struct
megasas_cmd *cmd) @@ -194,30 +175,6 @@ struct megasas_cmd
*megasas_get_cmd(struct megasas_instance  }

 /**
- * megasas_return_cmd -   Return a cmd to free command pool
- * @instance: Adapter soft state
- * @cmd:  Command packet to be returned to free command
pool
- */
-inline void
-megasas_return_cmd(struct megasas_instance *instance, struct
megasas_cmd *cmd) -{
-  unsigned long flags;
-
-  spin_lock_irqsave(instance-cmd_pool_lock, flags);
-
-  cmd-scmd = NULL;
-  cmd-frame_count = 0;
-  if ((instance-pdev-device != PCI_DEVICE_ID_LSI_FUSION) 
-  (instance-pdev-device != PCI_DEVICE_ID_LSI_INVADER) 
-  (reset_devices))
-  cmd-frame-hdr.cmd = MFI_CMD_INVALID;
-  list_add_tail(cmd-list, instance-cmd_pool);
-
-  spin_unlock_irqrestore(instance-cmd_pool_lock, flags);
-}
-
-
-/**
 * The following functions are defined for xscale
 * (deviceid : 1064R, PERC5) controllers
 */
@@ -830,11 +787,6 @@ static struct megasas_instance_template
megasas_instance_template_gen2 = {
 *   specific to gen2 (deviceid : 0x78, 0x79) controllers
 */

-/*
- * Template added for TB (Fusion)
- */
-extern struct megasas_instance_template
megasas_instance_template_fusion;
-
 /**
  * megasas_issue_polled - Issues a polling command
  * @instance: Adapter soft state
@@ -1311,32 +1263,6 @@ megasas_build_ldio(struct megasas_instance
*instance, struct scsi_cmnd *scp,  }

 /**
- * megasas_is_ldio -  Checks if the cmd is for logical drive
- * @scmd: SCSI command
- *
- * Called by megasas_queue_command to find out if the command to be
queued
- * is a logical drive command
- */
-inline int megasas_is_ldio(struct scsi_cmnd *cmd) -{
-  if (!MEGASAS_IS_LOGICAL(cmd))
-  return 0;
-  switch (cmd-cmnd[0]) {
-  case READ_10:
-  case WRITE_10:
-  case READ_12:
-  case WRITE_12:
-  case READ_6:
-  case WRITE_6:
-  case READ_16:
-  case WRITE_16:
-  return 1;
-  default:
-  return 0;
-  }
-}
-
- /**
  * megasas_dump_pending_frames -  Dumps the frame address of all
pending cmds
  *in FW
  * @instance: Adapter soft state
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c