RE: [PATCH] ufs-exynos: Move definitions from .h to .c

Alim Akhtar
2021-05-16T04:32:45Z

Hi Bart,

> -----Original Message-----
> From: Bart Van Assche <bvanassche@acm.org>
> Sent: 10 May 2021 03:08
> To: Martin K . Petersen <martin.petersen@oracle.com>; James E . J .
> Bottomley <jejb@linux.vnet.ibm.com>
> Cc: linux-scsi@vger.kernel.org; Christoph Hellwig <hch@lst.de>; Bart Van
> Assche <bvanassche@acm.org>; Alim Akhtar <alim.akhtar@samsung.com>;
> Kiwoong Kim <kwmad.kim@samsung.com>
> Subject: [PATCH] ufs-exynos: Move definitions from .h to .c
>
> In the Linux kernel definitions of data structures should occur in .c
files.
> Hence move the exynos7_uic_attr definition from a .h into a .c file.
> Additionally, declare exynos_ufs_drvs static. This patch fixes the
following
> two sparse warnings:
>
> drivers/scsi/ufs/ufs-exynos.h:248:28: warning: symbol 'exynos_ufs_drvs'
> was not declared. Should it be static?
> drivers/scsi/ufs/ufs-exynos.h:250:28: warning: symbol 'exynos7_uic_attr'
> was not declared. Should it be static?
>
> Cc: Alim Akhtar <alim.akhtar@samsung.com>
> Cc: Kiwoong Kim <kwmad.kim@samsung.com>
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
> ---
Just for the subject tag consistency, can add subsystem name , scsi: ufs:
<driver_name>
Rest looks good.
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>

> drivers/scsi/ufs/ufs-exynos.c | 27 ++++++++++++++++++++++++++-
> drivers/scsi/ufs/ufs-exynos.h | 26 --------------------------
> 2 files changed, 26 insertions(+), 27 deletions(-)
>
> diff --git a/drivers/scsi/ufs/ufs-exynos.c b/drivers/scsi/ufs/ufs-exynos.c
> index 70647eacf195..4c38689ecdd2 100644
> --- a/drivers/scsi/ufs/ufs-exynos.c
> +++ b/drivers/scsi/ufs/ufs-exynos.c
> @@ -107,6 +107,7 @@ enum {
>
> #define CNTR_DIV_VAL 40
>
> +static struct exynos_ufs_drv_data exynos_ufs_drvs;
> static void exynos_ufs_auto_ctrl_hcc(struct exynos_ufs *ufs, bool en);
> static void exynos_ufs_ctrl_clkstop(struct exynos_ufs *ufs, bool en);
>
> @@ -1231,8 +1232,32 @@ static int exynos_ufs_remove(struct
> platform_device *pdev)
> return 0;
> }
>
> -struct exynos_ufs_drv_data exynos_ufs_drvs = {
> +static struct exynos_ufs_uic_attr exynos7_uic_attr = {
> + .tx_trailingclks = 0x10,
> + .tx_dif_p_nsec = 3000000, /* unit: ns */
> + .tx_dif_n_nsec = 1000000, /* unit: ns */
> + .tx_high_z_cnt_nsec = 20000, /* unit: ns */
> + .tx_base_unit_nsec = 100000, /* unit: ns */
> + .tx_gran_unit_nsec = 4000, /* unit: ns */
> + .tx_sleep_cnt = 1000, /* unit: ns */
> + .tx_min_activatetime = 0xa,
> + .rx_filler_enable = 0x2,
> + .rx_dif_p_nsec = 1000000, /* unit: ns */
> + .rx_hibern8_wait_nsec = 4000000, /* unit: ns */
> + .rx_base_unit_nsec = 100000, /* unit: ns */
> + .rx_gran_unit_nsec = 4000, /* unit: ns */
> + .rx_sleep_cnt = 1280, /* unit: ns */
> + .rx_stall_cnt = 320, /* unit: ns */
> + .rx_hs_g1_sync_len_cap = SYNC_LEN_COARSE(0xf),
> + .rx_hs_g2_sync_len_cap = SYNC_LEN_COARSE(0xf),
> + .rx_hs_g3_sync_len_cap = SYNC_LEN_COARSE(0xf),
> + .rx_hs_g1_prep_sync_len_cap = PREP_LEN(0xf),
> + .rx_hs_g2_prep_sync_len_cap = PREP_LEN(0xf),
> + .rx_hs_g3_prep_sync_len_cap = PREP_LEN(0xf),
> + .pa_dbg_option_suite = 0x30103,
> +};
>
> +static struct exynos_ufs_drv_data exynos_ufs_drvs = {
> .compatible = "samsung,exynos7-ufs",
> .uic_attr = &exynos7_uic_attr,
> .quirks = UFSHCD_QUIRK_PRDT_BYTE_GRAN |
> diff --git a/drivers/scsi/ufs/ufs-exynos.h b/drivers/scsi/ufs/ufs-exynos.h
> index 06ee565f7eb0..67505fe32ebf 100644
> --- a/drivers/scsi/ufs/ufs-exynos.h
> +++ b/drivers/scsi/ufs/ufs-exynos.h
> @@ -245,30 +245,4 @@ static inline void
> exynos_ufs_disable_dbg_mode(struct ufs_hba *hba)
> ufshcd_dme_set(hba, UIC_ARG_MIB(PA_DBG_MODE), FALSE); }
>
> -struct exynos_ufs_drv_data exynos_ufs_drvs;
> -
> -struct exynos_ufs_uic_attr exynos7_uic_attr = {
> - .tx_trailingclks = 0x10,
> - .tx_dif_p_nsec = 3000000, /* unit: ns */
> - .tx_dif_n_nsec = 1000000, /* unit: ns */
> - .tx_high_z_cnt_nsec = 20000, /* unit: ns */
> - .tx_base_unit_nsec = 100000, /* unit: ns */
> - .tx_gran_unit_nsec = 4000, /* unit: ns */
> - .tx_sleep_cnt = 1000, /* unit: ns */
> - .tx_min_activatetime = 0xa,
> - .rx_filler_enable = 0x2,
> - .rx_dif_p_nsec = 1000000, /* unit: ns */
> - .rx_hibern8_wait_nsec = 4000000, /* unit: ns */
> - .rx_base_unit_nsec = 100000, /* unit: ns */
> - .rx_gran_unit_nsec = 4000, /* unit: ns */
> - .rx_sleep_cnt = 1280, /* unit: ns */
> - .rx_stall_cnt = 320, /* unit: ns */
> - .rx_hs_g1_sync_len_cap = SYNC_LEN_COARSE(0xf),
> - .rx_hs_g2_sync_len_cap = SYNC_LEN_COARSE(0xf),
> - .rx_hs_g3_sync_len_cap = SYNC_LEN_COARSE(0xf),
> - .rx_hs_g1_prep_sync_len_cap = PREP_LEN(0xf),
> - .rx_hs_g2_prep_sync_len_cap = PREP_LEN(0xf),
> - .rx_hs_g3_prep_sync_len_cap = PREP_LEN(0xf),
> - .pa_dbg_option_suite = 0x30103,
> -};
> #endif /* _UFS_EXYNOS_H_ */