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 写道: > >> 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-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
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-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
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-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
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-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
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-s...@vger.kernel.org; linux-kernel@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 >--- > 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 > #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(>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(>list, >cmd_pool); >- >- spin_unlock_irqrestore(>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:
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-s...@vger.kernel.org; linux-kernel@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