mtd: rawnand: Mark expected switch fall-throughs
Subsystems (2)
PATCH v3 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/raw/diskonchip.c: In function ‘doc_probe’:./include/linux/printk.h:303:2: warning: this statement may fall through [-Wimplicit-fallthrough=]
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/mtd/nand/raw/diskonchip.c:1479:4: note: in expansion of macro ‘pr_err’
pr_err("DiskOnChip Millennium Plus 32MB is not supported, ignoring.\n");
^~~~~~drivers/mtd/nand/raw/diskonchip.c:1480:3: note: here
default:
^~~~~~~drivers/mtd/nand/raw/nandsim.c: In function ‘ns_init_module’:drivers/mtd/nand/raw/nandsim.c:2254:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
chip->bbt_options |= NAND_BBT_NO_OOB;
drivers/mtd/nand/raw/nandsim.c:2255:2: note: here
case 1:
^~~~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:
^~~~~~~drivers/mtd/nand/raw/omap_elm.c: In function ‘elm_context_restore’:drivers/mtd/nand/raw/omap_elm.c:512:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
elm_write_reg(info, ELM_SYNDROME_FRAGMENT_4 + offset,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regs->elm_syndrome_fragment_4[i]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/mtd/nand/raw/omap_elm.c:514:3: note: here
case BCH8_ECC:
^~~~drivers/mtd/nand/raw/omap_elm.c:517:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
elm_write_reg(info, ELM_SYNDROME_FRAGMENT_2 + offset,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regs->elm_syndrome_fragment_2[i]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/mtd/nand/raw/omap_elm.c:519:3: note: here
case BCH4_ECC:
^~~~drivers/mtd/nand/raw/omap_elm.c: In function ‘elm_context_save’:drivers/mtd/nand/raw/omap_elm.c:466:37: warning: this statement may fall through [-Wimplicit-fallthrough=]
regs->elm_syndrome_fragment_4[i] = elm_read_reg(info,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
ELM_SYNDROME_FRAGMENT_4 + offset);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/mtd/nand/raw/omap_elm.c:468:3: note: here
case BCH8_ECC:
^~~~drivers/mtd/nand/raw/omap_elm.c:471:37: warning: this statement may fall through [-Wimplicit-fallthrough=]
regs->elm_syndrome_fragment_2[i] = elm_read_reg(info,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
ELM_SYNDROME_FRAGMENT_2 + offset);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/mtd/nand/raw/omap_elm.c:473:3: note: here
case BCH4_ECC:
^~~~
Warning level 3 was used: -Wimplicit-fallthrough=3
This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.
---
Changes in v3:
- Leave out of this patch the following files:
drivers/mtd/nand/onenand/onenand_base.c
drivers/mtd/nand/raw/nand_base.c
drivers/mtd/nand/raw/nand_legacy.c
The first one needs to be reworked, and the last two have already been addressed.
Changes in v2:
- Add extra /* fall through */ comment in nandsim.c file.
drivers/mtd/nand/raw/diskonchip.c | 1 + drivers/mtd/nand/raw/nandsim.c | 6 ++++-- drivers/mtd/nand/raw/nuc900_nand.c | 3 ++- drivers/mtd/nand/raw/omap_elm.c | 4 ++++ 4 files changed, 11 insertions(+), 3 deletions(-)
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/nandsim.c +4 -2
@@ -2251,9 +2251,11 @@ 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 ; +/* fall through */ 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 · 1 line
2.20.1
Hi all,
Friendly ping:
Who can take this, please?
Thanks
--
Gustavo
Quoted 171 lines · Gustavo A. R. Silva
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/raw/diskonchip.c: In function ‘doc_probe’:./include/linux/printk.h:303:2: warning: this statement may fall through [-Wimplicit-fallthrough=]
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/mtd/nand/raw/diskonchip.c:1479:4: note: in expansion of macro ‘pr_err’pr_err("DiskOnChip Millennium Plus 32MB is not supported, ignoring.\n"); ^~~~~~ drivers/mtd/nand/raw/diskonchip.c:1480:3: note: here default: ^~~~~~~ drivers/mtd/nand/raw/nandsim.c: In function ‘ns_init_module’: drivers/mtd/nand/raw/nandsim.c:2254:22: warning: this statement may fall through [-Wimplicit-fallthrough=] chip->bbt_options |= NAND_BBT_NO_OOB;
drivers/mtd/nand/raw/nandsim.c:2255:2: note: here
case 1:
^~~~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:
^~~~~~~drivers/mtd/nand/raw/omap_elm.c: In function ‘elm_context_restore’:drivers/mtd/nand/raw/omap_elm.c:512:4: warning: this statement may fall through [-Wimplicit-fallthrough=]elm_write_reg(info, ELM_SYNDROME_FRAGMENT_4 + offset, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ regs->elm_syndrome_fragment_4[i]); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/omap_elm.c:514:3: note: here case BCH8_ECC: ^~~~ drivers/mtd/nand/raw/omap_elm.c:517:4: warning: this statement may fall through [-Wimplicit-fallthrough=] elm_write_reg(info, ELM_SYNDROME_FRAGMENT_2 + offset, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ regs->elm_syndrome_fragment_2[i]); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/omap_elm.c:519:3: note: here case BCH4_ECC: ^~~~ drivers/mtd/nand/raw/omap_elm.c: In function ‘elm_context_save’: drivers/mtd/nand/raw/omap_elm.c:466:37: warning: this statement may fall through [-Wimplicit-fallthrough=] regs->elm_syndrome_fragment_4[i] = elm_read_reg(info, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ELM_SYNDROME_FRAGMENT_4 + offset); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/omap_elm.c:468:3: note: here case BCH8_ECC: ^~~~ drivers/mtd/nand/raw/omap_elm.c:471:37: warning: this statement may fall through [-Wimplicit-fallthrough=] regs->elm_syndrome_fragment_2[i] = elm_read_reg(info, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ELM_SYNDROME_FRAGMENT_2 + offset); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/omap_elm.c:473:3: note: here case BCH4_ECC: ^~~~Warning level 3 was used: -Wimplicit-fallthrough=3
This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.
Signed-off-by Gustavo A. R. Silva <[email protected]>---
Changes in v3:
- Leave out of this patch the following files:
drivers/mtd/nand/onenand/onenand_base.c
drivers/mtd/nand/raw/nand_base.c
drivers/mtd/nand/raw/nand_legacy.cThe first one needs to be reworked, and the last two have already been addressed.
Changes in v2:
- Add extra /* fall through */ comment innandsim.cfile.drivers/mtd/nand/raw/diskonchip.c | 1 + drivers/mtd/nand/raw/nandsim.c | 6 ++++-- drivers/mtd/nand/raw/nuc900_nand.c | 3 ++- drivers/mtd/nand/raw/omap_elm.c | 4 ++++ 4 files changed, 11 insertions(+), 3 deletions(-)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/nandsim.c +4
-2@@ -2251,9 +2251,11 @@ 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 ; +/* fall through */ 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]);
Richard Weinberger
maintainerAm Freitag, 1. März 2019, 22:38:18 CET schrieb Gustavo A. R. Silva:
Quoted 5 lines
Hi all,
Friendly ping:
Who can take this, please?
/me points to Miquel. :)
Thanks,
//richard
Quoted 9 lines · Richard Weinberger
Am Freitag, 1. März 2019, 22:38:18 CET schrieb Gustavo A. R. Silva:
Quoted 5 lines
Hi all,
Friendly ping:
Who can take this, please?
/me points to Miquel. :)
Thanks, Richard.
Hopefully, Miquel will take this for 5.1. :)
--
Gustavo
Miquel Raynal
maintainerHi Gustavo,
"Gustavo A. R. Silva" <[email protected]> wrote on Fri, 1 Mar 2019 18:33:13 -0600:
Quoted 9 lines · Richard Weinberger
Quoted 8 lines
Am Freitag, 1. März 2019, 22:38:18 CET schrieb Gustavo A. R. Silva:
Quoted 5 lines
Hi all,
Friendly ping:
Who can take this, please?
/me points to Miquel. :)
Yup!
Quoted 5 lines
Quoted 1 line
Thanks, Richard.
Hopefully, Miquel will take this for 5.1. :)
No. The timing on your side was right but I was late to send the PR and I choose not to take this one in a hurry although you addressed only trivial cases and left aside the ones which were more likely to introduce bugs. Nevertheless, I plan to queue it for 5.2.
Thanks,
Miquèl
_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Hi Gustavo,
"Gustavo A. R. Silva" <[email protected]> wrote on Fri, 8 Feb 2019 11:49:30 -0600:
Quoted 68 lines
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/raw/diskonchip.c: In function ‘doc_probe’:./include/linux/printk.h:303:2: warning: this statement may fall through [-Wimplicit-fallthrough=]
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/mtd/nand/raw/diskonchip.c:1479:4: note: in expansion of macro ‘pr_err’pr_err("DiskOnChip Millennium Plus 32MB is not supported, ignoring.\n"); ^~~~~~ drivers/mtd/nand/raw/diskonchip.c:1480:3: note: here default: ^~~~~~~ drivers/mtd/nand/raw/nandsim.c: In function ‘ns_init_module’: drivers/mtd/nand/raw/nandsim.c:2254:22: warning: this statement may fall through [-Wimplicit-fallthrough=] chip->bbt_options |= NAND_BBT_NO_OOB;
drivers/mtd/nand/raw/nandsim.c:2255:2: note: here
case 1:
^~~~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:
^~~~~~~drivers/mtd/nand/raw/omap_elm.c: In function ‘elm_context_restore’:drivers/mtd/nand/raw/omap_elm.c:512:4: warning: this statement may fall through [-Wimplicit-fallthrough=]elm_write_reg(info, ELM_SYNDROME_FRAGMENT_4 + offset, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ regs->elm_syndrome_fragment_4[i]); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/omap_elm.c:514:3: note: here case BCH8_ECC: ^~~~ drivers/mtd/nand/raw/omap_elm.c:517:4: warning: this statement may fall through [-Wimplicit-fallthrough=] elm_write_reg(info, ELM_SYNDROME_FRAGMENT_2 + offset, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ regs->elm_syndrome_fragment_2[i]); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/omap_elm.c:519:3: note: here case BCH4_ECC: ^~~~ drivers/mtd/nand/raw/omap_elm.c: In function ‘elm_context_save’: drivers/mtd/nand/raw/omap_elm.c:466:37: warning: this statement may fall through [-Wimplicit-fallthrough=] regs->elm_syndrome_fragment_4[i] = elm_read_reg(info, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ELM_SYNDROME_FRAGMENT_4 + offset); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/omap_elm.c:468:3: note: here case BCH8_ECC: ^~~~ drivers/mtd/nand/raw/omap_elm.c:471:37: warning: this statement may fall through [-Wimplicit-fallthrough=] regs->elm_syndrome_fragment_2[i] = elm_read_reg(info, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ELM_SYNDROME_FRAGMENT_2 + offset); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/omap_elm.c:473:3: note: here case BCH4_ECC: ^~~~
Quoted 7 lines
Warning level 3 was used: -Wimplicit-fallthrough=3
This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.
Signed-off-by Gustavo A. R. Silva <[email protected]>---
Applied to git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git
on nand/next.
Thanks,
Miquèl
Hi Miquel,
On 4/1/19 10:23 AM, Miquel Raynal wrote:
[..]
Quoted 10 lines
Quoted 6 lines
This patch is part of the ongoing efforts to enabling -Wimplicit-fallthrough.
Signed-off-by Gustavo A. R. Silva <[email protected]>---
Applied to
git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git
on nand/next.
Thank you!
--
Gustavo
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/