mtd: rawnand: mark expected switch fall-throughs
Subsystems (3)
PATCH 1/1 mtd: rawnand: mark expected switch fall-throughs
In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through.
This patch fixes the following warning:
drivers/mtd/nand/onenand/onenand_base.c:3264:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/onenand/onenand_base.c:3288:17: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/nand_base.c:5538:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/nand_base.c:5557:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/nand_base.c:5595:13: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/nand_legacy.c:332:6: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/nand_legacy.c:483:3: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/nandsim.c:2254:22: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/omap_elm.c:512:4: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/omap_elm.c:517:4: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/omap_elm.c:466:37: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/omap_elm.c:471:37: warning: this statement may fall through [-Wimplicit-fallthrough=] drivers/mtd/nand/raw/nuc900_nand.c: In function ‘nuc900_nand_command_lp’:./arch/x86/include/asm/io.h:91:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
#define __raw_writel __writeldrivers/mtd/nand/raw/nuc900_nand.c:52:2: note: in expansion of macro ‘__raw_writel’
__raw_writel((val), (dev)->reg + REG_SMCMD)
^~~~~~~~~~~~drivers/mtd/nand/raw/nuc900_nand.c:196:3: note: in expansion of macro ‘write_cmd_reg’
write_cmd_reg(nand, NAND_CMD_READSTART);
^~~~~~~~~~~~~drivers/mtd/nand/raw/nuc900_nand.c:197:2: note: here
default:
^~~~~~~
Warning level 3 was used: -Wimplicit-fallthrough=3
This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.
--- drivers/mtd/nand/onenand/onenand_base.c | 2 ++ drivers/mtd/nand/raw/diskonchip.c | 1 + drivers/mtd/nand/raw/nand_base.c | 3 +++ drivers/mtd/nand/raw/nand_legacy.c | 3 ++- drivers/mtd/nand/raw/nandsim.c | 5 +++-- drivers/mtd/nand/raw/nuc900_nand.c | 3 ++- drivers/mtd/nand/raw/omap_elm.c | 4 ++++ 7 files changed, 17 insertions(+), 4 deletions(-)
drivers/mtd/nand/onenand/onenand_base.c +2 -0
@@ -3280,12 +3280,14 @@ static void onenand_check_features(struct mtd_info *mtd)if ((this->version_id &0xf ) ==0xe ) this->options |=ONENAND_HAS_NOP_1 ; } +/* fall through */ case ONENAND_DEVICE_DENSITY_2Gb:/* 2Gb DDP does not have 2 plane */ if (!ONENAND_IS_DDP (this)) this->options |=ONENAND_HAS_2PLANE ; this->options |=ONENAND_HAS_UNLOCK_ALL ; +/* fall through */ case ONENAND_DEVICE_DENSITY_1Gb:/* A-Die has all block unlock */
drivers/mtd/nand/raw/diskonchip.c +1 -0
@@ -1477,6 +1477,7 @@ static int __init doc_probe(unsigned long physadr)break ;case DOC_ChipID_DocMilPlus32:pr_err ("DiskOnChip Millennium Plus 32MB is not supported, ignoring.\n" ); +/* fall through */ default : ret = -ENODEV ; goto notfound;
drivers/mtd/nand/raw/nand_base.c +3 -0
@@ -5537,6 +5537,7 @@ static int nand_scan_tail(struct nand_chip *chip) }if (!ecc->read_page) ecc->read_page = nand_read_page_hwecc_oob_first; +/* fall through */ case NAND_ECC_HW :/* Use standard hwecc read page function? */
@@ -5556,6 +5557,7 @@ static int nand_scan_tail(struct nand_chip *chip) ecc->read_subpage = nand_read_subpage;if (!ecc->write_subpage && ecc->hwctl && ecc->calculate) ecc->write_subpage = nand_write_subpage_hwecc; +/* fall through */ case NAND_ECC_HW_SYNDROME : if ((!ecc->calculate || !ecc->correct || !ecc->hwctl) &&
@@ -5593,6 +5595,7 @@ static int nand_scan_tail(struct nand_chip *chip) ecc->size, mtd->writesize); ecc->mode =NAND_ECC_SOFT ; ecc->algo =NAND_ECC_HAMMING ; +/* fall through */ case NAND_ECC_SOFT : ret =nand_set_ecc_soft_ops (chip);
drivers/mtd/nand/raw/nand_legacy.c +2 -1
@@ -331,6 +331,7 @@ static void nand_command(struct nand_chip *chip, unsigned int command,*/ if (column ==-1 && page_addr ==-1 )return ; +/* fall through */ default :/*
@@ -483,7 +484,7 @@ static void nand_command_lp(struct nand_chip *chip, unsigned int command, chip->legacy.cmd_ctrl (chip,NAND_CMD_NONE ,NAND_NCE |NAND_CTRL_CHANGE ); -/* This applies to read commands */ +/* fall through - This applies to read commands */ default :/* * If we don't have access to the busy pin, we apply the given
drivers/mtd/nand/raw/nandsim.c +3 -2
@@ -2251,9 +2251,10 @@ static int __init ns_init_module(void)switch (bbt) {case 2 : - chip->bbt_options |=NAND_BBT_NO_OOB ; + chip->bbt_options |=NAND_BBT_NO_OOB ; +/* fall through */ case 1 : - chip->bbt_options |=NAND_BBT_USE_FLASH ; + chip->bbt_options |=NAND_BBT_USE_FLASH ;case 0 :break ;default :
drivers/mtd/nand/raw/nuc900_nand.c +2 -1
@@ -192,8 +192,9 @@ static void nuc900_nand_command_lp(struct nand_chip *chip,return ;case NAND_CMD_READ0 : -write_cmd_reg (nand,NAND_CMD_READSTART ); +/* fall through */ +default :if (!chip->legacy.dev_ready) {
drivers/mtd/nand/raw/omap_elm.c +4 -0
@@ -465,11 +465,13 @@ static int elm_context_save(struct elm_info *info) ELM_SYNDROME_FRAGMENT_5 + offset); regs->elm_syndrome_fragment_4[i] =elm_read_reg (info,ELM_SYNDROME_FRAGMENT_4 + offset); +/* fall through */ case BCH8_ECC : regs->elm_syndrome_fragment_3[i] =elm_read_reg (info,ELM_SYNDROME_FRAGMENT_3 + offset); regs->elm_syndrome_fragment_2[i] =elm_read_reg (info,ELM_SYNDROME_FRAGMENT_2 + offset); +/* fall through */ case BCH4_ECC : regs->elm_syndrome_fragment_1[i] =elm_read_reg (info,ELM_SYNDROME_FRAGMENT_1 + offset);
@@ -511,11 +513,13 @@ static int elm_context_restore(struct elm_info *info) regs->elm_syndrome_fragment_5[i]);elm_write_reg (info,ELM_SYNDROME_FRAGMENT_4 + offset, regs->elm_syndrome_fragment_4[i]); +/* fall through */ case BCH8_ECC :elm_write_reg (info,ELM_SYNDROME_FRAGMENT_3 + offset, regs->elm_syndrome_fragment_3[i]);elm_write_reg (info,ELM_SYNDROME_FRAGMENT_2 + offset, regs->elm_syndrome_fragment_2[i]); +/* fall through */ case BCH4_ECC :elm_write_reg (info,ELM_SYNDROME_FRAGMENT_1 + offset, regs->elm_syndrome_fragment_1[i]);
Signature · 6 lines
2.20.1 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
Quoted 5 lines · On Fri, 25 Jan 2019 15:09:50 -0600 "Gustavo A. R. Silva"…
drivers/mtd/nand/raw/nandsim.c +0
-0
drivers/mtd/nand/raw/nandsim.c static int __init ns_init_module(void) · line 2257
Quoted 9 lines
drivers/mtd/nand/raw/nandsim.c +3
-2@@ -2251,9 +2251,10 @@ static int __init ns_init_module(void)switch (bbt) {case 2 : - chip->bbt_options |=NAND_BBT_NO_OOB ; + chip->bbt_options |=NAND_BBT_NO_OOB ; +/* fall through */ case 1 : - chip->bbt_options |=NAND_BBT_USE_FLASH ; + chip->bbt_options |=NAND_BBT_USE_FLASH ;
You miss a '/* fall through */' here.
drivers/mtd/nand/raw/nandsim.c static int __init ns_init_module(void) · line 2260
Quoted 3 lines
drivers/mtd/nand/raw/nandsim.c +0
-0case 0 :break ;default :
_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Hey Boris,
Quoted 9 lines · Boris Brezillon
Quoted 6 lines · On Fri, 25 Jan 2019 15:09:50 -0600 "Gustavo A. R. Silva"…
drivers/mtd/nand/raw/nandsim.c +0
-0@@ -2251,9 +2251,10 @@ static int __init ns_init_module(void)
Quoted 11 lines
drivers/mtd/nand/raw/nandsim.c static int __init ns_init_module(void) · line 2257
Quoted 8 lines
drivers/mtd/nand/raw/nandsim.c +3
-2switch (bbt) {case 2 : - chip->bbt_options |=NAND_BBT_NO_OOB ; + chip->bbt_options |=NAND_BBT_NO_OOB ; +/* fall through */ case 1 : - chip->bbt_options |=NAND_BBT_USE_FLASH ; + chip->bbt_options |=NAND_BBT_USE_FLASH ;You miss a '/* fall through */' here.
Not really. Notice that in this case the code falls through to a break statement.
Quoted 3 lines
drivers/mtd/nand/raw/nandsim.c static int __init ns_init_module(void) · line 2260
Quoted 3 lines
drivers/mtd/nand/raw/nandsim.c +0
-0case 0 :break ;default :
Thanks
--
Gustavo
Quoted 24 lines · On Sat, 26 Jan 2019 07:48:50 -0600 "Gustavo A. R. Silva"…
Hey Boris,
Quoted 9 lines · Boris Brezillon
Quoted 6 lines · On Fri, 25 Jan 2019 15:09:50 -0600 "Gustavo A. R. Silva"…
drivers/mtd/nand/raw/nandsim.c +0
-0@@ -2251,9 +2251,10 @@ static int __init ns_init_module(void)Quoted 11 lines
drivers/mtd/nand/raw/nandsim.c static int __init ns_init_module(void) · line 2257
Quoted 8 lines
drivers/mtd/nand/raw/nandsim.c +3
-2switch (bbt) {case 2 : - chip->bbt_options |=NAND_BBT_NO_OOB ; + chip->bbt_options |=NAND_BBT_NO_OOB ; +/* fall through */ case 1 : - chip->bbt_options |=NAND_BBT_USE_FLASH ; + chip->bbt_options |=NAND_BBT_USE_FLASH ;You miss a '/* fall through */' here.
Quoted 2 lines
Not really. Notice that in this case the code falls through to a break statement.
Still find it weird to mandate fall through comments in all cases but this one...
Quoted 12 lines
Quoted 4 lines
drivers/mtd/nand/raw/nandsim.c static int __init ns_init_module(void) · line 2260
Quoted 4 lines
drivers/mtd/nand/raw/nandsim.c +0
-0case 0 :break ;default :Thanks
--
Gustavo______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Miquel Raynal
maintainerHi Boris,
Boris Brezillon <[email protected]> wrote on Sat, 26 Jan 2019 17:54:29 +0100:
Quoted 27 lines
Quoted 24 lines · On Sat, 26 Jan 2019 07:48:50 -0600 "Gustavo A. R. Silva"…
Hey Boris,
Quoted 20 lines · Boris Brezillon
Quoted 5 lines · On Fri, 25 Jan 2019 15:09:50 -0600 "Gustavo A. R. Silva"…
drivers/mtd/nand/raw/nandsim.c +0
-0drivers/mtd/nand/raw/nandsim.c static int __init ns_init_module(void) · line 2257
Quoted 9 lines
drivers/mtd/nand/raw/nandsim.c +3
-2@@ -2251,9 +2251,10 @@ static int __init ns_init_module(void)switch (bbt) {case 2 : - chip->bbt_options |=NAND_BBT_NO_OOB ; + chip->bbt_options |=NAND_BBT_NO_OOB ; +/* fall through */ case 1 : - chip->bbt_options |=NAND_BBT_USE_FLASH ; + chip->bbt_options |=NAND_BBT_USE_FLASH ;You miss a '/* fall through */' here.
Quoted 5 lines
Quoted 2 lines
Not really. Notice that in this case the code falls through to a break statement.
Still find it weird to mandate fall through comments in all cases but this one...
Yes please, even if there is no GCC warning I think you can add one here.
Thanks,
Miquèl
Miquel, Boris,
Quoted 32 lines · Miquel Raynal
Hi Boris,
Boris Brezillon <[email protected]> wrote on Sat, 26 Jan 2019 17:54:29 +0100:
Quoted 27 lines
Quoted 24 lines · On Sat, 26 Jan 2019 07:48:50 -0600 "Gustavo A. R. Silva"…
Hey Boris,
Quoted 20 lines · Boris Brezillon
Quoted 5 lines · On Fri, 25 Jan 2019 15:09:50 -0600 "Gustavo A. R. Silva"…
drivers/mtd/nand/raw/nandsim.c +0
-0drivers/mtd/nand/raw/nandsim.c static int __init ns_init_module(void) · line 2257
Quoted 9 lines
drivers/mtd/nand/raw/nandsim.c +3
-2@@ -2251,9 +2251,10 @@ static int __init ns_init_module(void)switch (bbt) {case 2 : - chip->bbt_options |=NAND_BBT_NO_OOB ; + chip->bbt_options |=NAND_BBT_NO_OOB ; +/* fall through */ case 1 : - chip->bbt_options |=NAND_BBT_USE_FLASH ; + chip->bbt_options |=NAND_BBT_USE_FLASH ;You miss a '/* fall through */' here.
Quoted 9 lines
Quoted 5 lines
Quoted 2 lines
Not really. Notice that in this case the code falls through to a break statement.
Still find it weird to mandate fall through comments in all cases but this one...
Yes please, even if there is no GCC warning I think you can add one here.
Yep. I get your point.
I've just sent v2: https://lore.kernel.org/patchwork/patch/1036251/
Thanks for the feedback.
--
Gustavo