Re: [PATCH v2] drivers: scsi: megaraid: Add megaraid_sas_internal.h for internal shared functions using
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
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
-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 b/drivers/scsi/megaraid
[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 b/drivers/scsi/megaraid/megaraid_sas_fusion.c index a610cf1..7760ad2 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c @@ -53,47 +53,7 @@ #include megaraid_sas_fusion.h #include megaraid_sas.h - -extern void megasas_free_cmds(struct megasas_instance *instance); -extern