Subject: Re: [PATCH] soc: qcom: socinfo: Annotate switch cases with fall through

From: "Gustavo A. R. Silva" <[email-masked]>
Date: Tue, 6 Aug 2019 20:40:55 -0500

Hi,

On 8/6/19 8:24 PM, Bjorn Andersson wrote:
> Introduce fall through annotations in the switch statements of
> socinfo_debugfs_init() to silence compiler warnings.
> 

This is enough to silence all the warnings:

diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c
index 855353bed19e..a39ea5061dc5 100644
--- a/drivers/soc/qcom/socinfo.c
+++ b/drivers/soc/qcom/socinfo.c
@@ -323,6 +323,7 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,
                debugfs_create_x32("raw_device_number", 0400,
                                   qcom_socinfo->dbg_root,
                                   &qcom_socinfo->info.raw_device_num);
+               /* Fall through */
        case SOCINFO_VERSION(0, 11):
        case SOCINFO_VERSION(0, 10):
        case SOCINFO_VERSION(0, 9):
@@ -330,10 +331,12 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,

                debugfs_create_u32("foundry_id", 0400, qcom_socinfo->dbg_root,
                                   &qcom_socinfo->info.foundry_id);
+               /* Fall through */
        case SOCINFO_VERSION(0, 8):
        case SOCINFO_VERSION(0, 7):
                DEBUGFS_ADD(info, pmic_model);
                DEBUGFS_ADD(info, pmic_die_rev);
+               /* Fall through */
        case SOCINFO_VERSION(0, 6):
                qcom_socinfo->info.hw_plat_subtype =
                        __le32_to_cpu(info->hw_plat_subtype);
@@ -341,6 +344,7 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,
                debugfs_create_u32("hardware_platform_subtype", 0400,
                                   qcom_socinfo->dbg_root,
                                   &qcom_socinfo->info.hw_plat_subtype);
+               /* Fall through */
        case SOCINFO_VERSION(0, 5):
                qcom_socinfo->info.accessory_chip =
                        __le32_to_cpu(info->accessory_chip);
@@ -348,23 +352,27 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,
                debugfs_create_u32("accessory_chip", 0400,
                                   qcom_socinfo->dbg_root,
                                   &qcom_socinfo->info.accessory_chip);
+               /* Fall through */
        case SOCINFO_VERSION(0, 4):
                qcom_socinfo->info.plat_ver = __le32_to_cpu(info->plat_ver);

                debugfs_create_u32("platform_version", 0400,
                                   qcom_socinfo->dbg_root,
                                   &qcom_socinfo->info.plat_ver);
+               /* Fall through */
        case SOCINFO_VERSION(0, 3):
                qcom_socinfo->info.hw_plat = __le32_to_cpu(info->hw_plat);

                debugfs_create_u32("hardware_platform", 0400,
                                   qcom_socinfo->dbg_root,
                                   &qcom_socinfo->info.hw_plat);
+               /* Fall through */
        case SOCINFO_VERSION(0, 2):
                qcom_socinfo->info.raw_ver  = __le32_to_cpu(info->raw_ver);

                debugfs_create_u32("raw_version", 0400, qcom_socinfo->dbg_root,
                                   &qcom_socinfo->info.raw_ver);
+               /* Fall through */
        case SOCINFO_VERSION(0, 1):
                DEBUGFS_ADD(info, build_id);
                break;

--
Gustavo

> Fixes: 9c84c1e78634 ("soc: qcom: socinfo: Expose custom attributes")
> Reported-by: Stephen Rothwell <[email-masked]>
> Signed-off-by: Bjorn Andersson <[email-masked]>
> ---
>  drivers/soc/qcom/socinfo.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c
> index 855353bed19e..f0ca9d7c7966 100644
> --- a/drivers/soc/qcom/socinfo.c
> +++ b/drivers/soc/qcom/socinfo.c
> @@ -323,17 +323,23 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,
>  		debugfs_create_x32("raw_device_number", 0400,
>  				   qcom_socinfo->dbg_root,
>  				   &qcom_socinfo->info.raw_device_num);
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 11):
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 10):
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 9):
>  		qcom_socinfo->info.foundry_id = __le32_to_cpu(info->foundry_id);
>  
>  		debugfs_create_u32("foundry_id", 0400, qcom_socinfo->dbg_root,
>  				   &qcom_socinfo->info.foundry_id);
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 8):
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 7):
>  		DEBUGFS_ADD(info, pmic_model);
>  		DEBUGFS_ADD(info, pmic_die_rev);
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 6):
>  		qcom_socinfo->info.hw_plat_subtype =
>  			__le32_to_cpu(info->hw_plat_subtype);
> @@ -341,6 +347,7 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,
>  		debugfs_create_u32("hardware_platform_subtype", 0400,
>  				   qcom_socinfo->dbg_root,
>  				   &qcom_socinfo->info.hw_plat_subtype);
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 5):
>  		qcom_socinfo->info.accessory_chip =
>  			__le32_to_cpu(info->accessory_chip);
> @@ -348,23 +355,27 @@ static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo,
>  		debugfs_create_u32("accessory_chip", 0400,
>  				   qcom_socinfo->dbg_root,
>  				   &qcom_socinfo->info.accessory_chip);
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 4):
>  		qcom_socinfo->info.plat_ver = __le32_to_cpu(info->plat_ver);
>  
>  		debugfs_create_u32("platform_version", 0400,
>  				   qcom_socinfo->dbg_root,
>  				   &qcom_socinfo->info.plat_ver);
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 3):
>  		qcom_socinfo->info.hw_plat = __le32_to_cpu(info->hw_plat);
>  
>  		debugfs_create_u32("hardware_platform", 0400,
>  				   qcom_socinfo->dbg_root,
>  				   &qcom_socinfo->info.hw_plat);
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 2):
>  		qcom_socinfo->info.raw_ver  = __le32_to_cpu(info->raw_ver);
>  
>  		debugfs_create_u32("raw_version", 0400, qcom_socinfo->dbg_root,
>  				   &qcom_socinfo->info.raw_ver);
> +		/* Fall through */
>  	case SOCINFO_VERSION(0, 1):
>  		DEBUGFS_ADD(info, build_id);
>  		break;
>