* [PATCH] treewide: add explicit fallthrough and break
@ 2025-03-25 15:52 Jules Maselbas
2025-03-27 7:41 ` Sascha Hauer
0 siblings, 1 reply; 2+ messages in thread
From: Jules Maselbas @ 2025-03-25 15:52 UTC (permalink / raw)
To: barebox; +Cc: Jules Maselbas
Replace existing fallthrough comments with the `fallthrough;` pseudo-keyword.
Add a few break statement when the last case of a switch is not empty, so it
will not be forgot when a new case is added at the end.
Signed-off-by: Jules Maselbas <jmaselbas@zdiv.net>
---
arch/arm/cpu/interrupts_64.c | 6 +++---
arch/arm/mach-omap/omap3_generic.c | 8 ++------
common/bootsource.c | 8 ++++----
drivers/i2c/busses/i2c-designware.c | 3 ++-
drivers/i2c/busses/i2c-omap.c | 3 ++-
drivers/mfd/rave-sp.c | 5 +++--
drivers/net/e1000/main.c | 7 +++----
drivers/net/phy/mv88e6xxx/port.c | 4 ++--
drivers/net/usb/usbnet.c | 2 +-
drivers/pci/pci-imx6.c | 4 ++--
drivers/serial/serial_ns16550_pci.c | 7 +++++--
drivers/usb/gadget/epautoconf.c | 3 ++-
drivers/usb/gadget/function/f_mass_storage.c | 2 +-
drivers/usb/gadget/function/u_serial.c | 2 +-
drivers/usb/host/xhci.c | 3 ++-
drivers/usb/musb/musb_core.c | 2 +-
drivers/usb/musb/musb_gadget_ep0.c | 7 ++++---
drivers/usb/musb/musb_host.c | 6 ++++--
fs/jffs2/readinode.c | 2 +-
lib/xymodem.c | 2 +-
20 files changed, 46 insertions(+), 40 deletions(-)
diff --git a/arch/arm/cpu/interrupts_64.c b/arch/arm/cpu/interrupts_64.c
index 8933cfeb42..4d4ef2bab8 100644
--- a/arch/arm/cpu/interrupts_64.c
+++ b/arch/arm/cpu/interrupts_64.c
@@ -212,13 +212,13 @@ static int aarch64_init_vectors(void)
switch (el) {
case 3:
asm volatile("msr vbar_el3, %0" : : "r" (&vectors) : "cc");
- /* Fall through */
+ fallthrough;
case 2:
asm volatile("msr vbar_el2, %0" : : "r" (&vectors) : "cc");
- /* Fall through */
+ fallthrough;
case 1:
asm volatile("msr vbar_el1, %0" : : "r" (&vectors) : "cc");
- /* Fall through */
+ fallthrough;
default:
break;
}
diff --git a/arch/arm/mach-omap/omap3_generic.c b/arch/arm/mach-omap/omap3_generic.c
index f69122b580..33f78dd2d5 100644
--- a/arch/arm/mach-omap/omap3_generic.c
+++ b/arch/arm/mach-omap/omap3_generic.c
@@ -117,11 +117,9 @@ u32 get_cpu_rev(void)
retval = OMAP36XX_ES1_1;
break;
case 2:
- /*
- * Fall through the default case.
- */
default:
retval = OMAP36XX_ES1_2;
+ break;
}
break;
case CPU_3430:
@@ -149,11 +147,9 @@ u32 get_cpu_rev(void)
retval = OMAP34XX_ES3;
break;
case 4:
- /*
- * Same as default case
- */
default:
retval = OMAP34XX_ES3_1;
+ break;
}
}
}
diff --git a/common/bootsource.c b/common/bootsource.c
index 4bccdfdb70..d054427c6e 100644
--- a/common/bootsource.c
+++ b/common/bootsource.c
@@ -58,10 +58,10 @@ const char *bootsource_get_alias_stem(enum bootsource src)
case BOOTSOURCE_SPI_EEPROM:
case BOOTSOURCE_SPI_NOR:
return bootsource_str[BOOTSOURCE_SPI];
- case BOOTSOURCE_SERIAL: /* FALLTHROUGH */
- case BOOTSOURCE_I2C: /* FALLTHROUGH */
- case BOOTSOURCE_MMC: /* FALLTHROUGH */
- case BOOTSOURCE_SPI: /* FALLTHROUGH */
+ case BOOTSOURCE_SERIAL:
+ case BOOTSOURCE_I2C:
+ case BOOTSOURCE_MMC:
+ case BOOTSOURCE_SPI:
case BOOTSOURCE_CAN:
return bootsource_str[src];
default:
diff --git a/drivers/i2c/busses/i2c-designware.c b/drivers/i2c/busses/i2c-designware.c
index 3ba10e172a..83bf0ec3e9 100644
--- a/drivers/i2c/busses/i2c-designware.c
+++ b/drivers/i2c/busses/i2c-designware.c
@@ -565,7 +565,8 @@ static int i2c_dw_probe(struct device *pdev)
default:
dev_warn(pdev, "requested bitrate (%d) is not supported.\n"
" Falling back to 100kHz", bitrate);
- case 100000: /* FALLTHROUGH */
+ fallthrough;
+ case 100000:
ic_con = DW_IC_CON_SPEED_STD;
break;
}
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 0ee4c70de5..a1a6cefd60 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1123,7 +1123,7 @@ i2c_omap_probe(struct device *pdev)
major = OMAP_I2C_REV_SCHEME_0_MAJOR(i2c_omap->rev);
break;
case OMAP_I2C_SCHEME_1:
- /* FALLTHROUGH */
+ fallthrough;
default:
i2c_omap->regs = (u8 *)reg_map_ip_v2;
rev = (rev << 16) |
@@ -1131,6 +1131,7 @@ i2c_omap_probe(struct device *pdev)
minor = OMAP_I2C_REV_SCHEME_1_MINOR(rev);
major = OMAP_I2C_REV_SCHEME_1_MAJOR(rev);
i2c_omap->rev = rev;
+ break;
}
i2c_omap->errata = 0;
diff --git a/drivers/mfd/rave-sp.c b/drivers/mfd/rave-sp.c
index c7968b75f5..ff21a81026 100644
--- a/drivers/mfd/rave-sp.c
+++ b/drivers/mfd/rave-sp.c
@@ -237,9 +237,10 @@ static void *stuff(unsigned char *dest, const unsigned char *src, size_t n)
case RAVE_SP_ETX:
case RAVE_SP_DLE:
*dest++ = RAVE_SP_DLE;
- /* FALLTHROUGH */
+ fallthrough;
default:
*dest++ = byte;
+ break;
}
}
@@ -497,7 +498,7 @@ static int rave_sp_receive_buf(struct serdev_device *serdev,
* deframer buffer
*/
- /* FALLTHROUGH */
+ fallthrough;
case RAVE_SP_EXPECT_ESCAPED_DATA:
if (deframer->length == sizeof(deframer->data)) {
diff --git a/drivers/net/e1000/main.c b/drivers/net/e1000/main.c
index 1f2f6fbe0b..08d8fba43b 100644
--- a/drivers/net/e1000/main.c
+++ b/drivers/net/e1000/main.c
@@ -304,7 +304,7 @@ static bool e1000_is_second_port(struct e1000_hw *hw)
case e1000_82571:
if (e1000_read_reg(hw, E1000_STATUS) & E1000_STATUS_FUNC_1)
return true;
- /* Fallthrough */
+ fallthrough;
default:
return false;
}
@@ -785,7 +785,7 @@ static int e1000_open(struct eth_device *edev)
reg_data = e1000_read_reg_array(hw, E1000_FFLT, 1);
reg_data &= ~0x00100000;
e1000_write_reg_array(hw, E1000_FFLT, 1, reg_data);
- /* Fall through */
+ fallthrough;
case e1000_82571:
case e1000_82572:
case e1000_ich8lan:
@@ -2795,8 +2795,7 @@ static int32_t e1000_get_phy_cfg_done(struct e1000_hw *hw)
/* Separate *_CFG_DONE_* bit for each port */
if (e1000_is_second_port(hw))
cfg_mask = E1000_EEPROM_CFG_DONE_PORT_1;
- /* Fall Through */
-
+ fallthrough;
case e1000_82571:
case e1000_82572:
case e1000_igb:
diff --git a/drivers/net/phy/mv88e6xxx/port.c b/drivers/net/phy/mv88e6xxx/port.c
index 2b3d86ddda..24b248e39d 100644
--- a/drivers/net/phy/mv88e6xxx/port.c
+++ b/drivers/net/phy/mv88e6xxx/port.c
@@ -218,7 +218,7 @@ static int mv88e6xxx_port_set_speed(struct mv88e6xxx_chip *chip, int port,
MV88E6390_PORT_MAC_CTL_ALTSPEED;
break;
case 10000:
- /* all bits set, fall through... */
+ /* all bits set */
fallthrough;
case SPEED_UNFORCED:
ctrl = MV88E6XXX_PORT_MAC_CTL_SPEED_UNFORCED;
@@ -619,7 +619,7 @@ int mv88e6xxx_port_probe(struct mv88e6xxx_chip *chip)
status);
switch (i) {
case 4:
- case 5: /* FALLTHROUGH */
+ case 5:
if (cmode == MV88E6165_PORT_STS_CMODE_SGMII) {
/*
* Port is configured to SGMII
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 7f6b13198f..91ce1f00fa 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -37,7 +37,7 @@ int usbnet_get_endpoints(struct usbnet *dev)
if (!usb_endpoint_dir_in(e))
continue;
intr = 1;
- /* FALLTHROUGH */
+ fallthrough;
case USB_ENDPOINT_XFER_BULK:
break;
default:
diff --git a/drivers/pci/pci-imx6.c b/drivers/pci/pci-imx6.c
index ac62d961d9..17a572722d 100644
--- a/drivers/pci/pci-imx6.c
+++ b/drivers/pci/pci-imx6.c
@@ -304,7 +304,7 @@ static int imx6_pcie_enable_ref_clk(struct imx6_pcie *imx6_pcie)
switch (imx6_pcie->drvdata->variant) {
case IMX6QP:
- case IMX6Q: /* FALLTHROUGH */
+ case IMX6Q:
/* power up core phy and enable ref clock */
gpr1 = readl(imx6_pcie->iomuxc_gpr + IOMUXC_GPR1);
gpr1 &= ~IMX6Q_GPR1_PCIE_TEST_PD;
@@ -481,7 +481,7 @@ static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie)
writel(gpr12, imx6_pcie->iomuxc_gpr + IOMUXC_GPR12);
break;
case IMX6QP:
- case IMX6Q: /* FALLTHROUGH */
+ case IMX6Q:
gpr12 = readl(imx6_pcie->iomuxc_gpr + IOMUXC_GPR12);
gpr12 &= ~IMX6Q_GPR12_PCIE_CTL_2;
writel(gpr12, imx6_pcie->iomuxc_gpr + IOMUXC_GPR12);
diff --git a/drivers/serial/serial_ns16550_pci.c b/drivers/serial/serial_ns16550_pci.c
index f82b5797ce..6f19dff740 100644
--- a/drivers/serial/serial_ns16550_pci.c
+++ b/drivers/serial/serial_ns16550_pci.c
@@ -561,12 +561,13 @@ pci_timedia_setup(struct serial_private *priv,
break;
case 3:
offset = board->uart_offset;
- /* FALLTHROUGH */
+ fallthrough;
case 4: /* BAR 2 */
case 5: /* BAR 3 */
case 6: /* BAR 4 */
case 7: /* BAR 5 */
bar = idx - 2;
+ break;
}
return setup_port(priv, port, bar, offset, board->reg_shift);
@@ -592,6 +593,7 @@ titan_400l_800l_setup(struct serial_private *priv,
default:
bar = 4;
offset = (idx - 2) * board->uart_offset;
+ break;
}
return setup_port(priv, port, bar, offset, board->reg_shift);
@@ -745,7 +747,7 @@ static int pci_netmos_init(struct pci_dev *dev)
dev->subsystem_device == 0x0299)
return 0;
- switch (dev->device) { /* FALLTHROUGH on all */
+ switch (dev->device) {
case PCI_DEVICE_ID_NETMOS_9904:
case PCI_DEVICE_ID_NETMOS_9912:
case PCI_DEVICE_ID_NETMOS_9922:
@@ -853,6 +855,7 @@ static int pci_ite887x_init(struct pci_dev *dev)
default:
moan_device("Unknown ITE887x", dev);
ret = -ENODEV;
+ break;
}
/* configure all serial ports */
diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c
index ff16abaf12..fc76a1d443 100644
--- a/drivers/usb/gadget/epautoconf.c
+++ b/drivers/usb/gadget/epautoconf.c
@@ -86,6 +86,7 @@ ep_matches (
case USB_ENDPOINT_XFER_ISOC:
if ('s' != tmp[2]) // != "-iso"
return 0;
+ break;
}
} else {
tmp = ep->name + strlen (ep->name);
@@ -134,7 +135,7 @@ ep_matches (
/* INT: limit 64 bytes full speed, 1024 high/super speed */
if (!gadget_is_dualspeed(gadget) && max > 64)
return 0;
- /* FALLTHROUGH */
+ fallthrough;
case USB_ENDPOINT_XFER_ISOC:
/* ISO: limit 1023 bytes full speed, 1024 high/super speed */
diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c
index e099123cea..e5d10a3e3e 100644
--- a/drivers/usb/gadget/function/f_mass_storage.c
+++ b/drivers/usb/gadget/function/f_mass_storage.c
@@ -1986,7 +1986,7 @@ static int do_scsi_command(struct fsg_common *common)
case SCSI_RELEASE:
case SCSI_RESERVE:
case SCSI_SEND_DIAG:
- /* Fall through */
+ fallthrough;
default:
unknown_cmnd:
diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c
index ca4e77c5ff..a8f30944e8 100644
--- a/drivers/usb/gadget/function/u_serial.c
+++ b/drivers/usb/gadget/function/u_serial.c
@@ -181,7 +181,7 @@ static void gs_write_complete(struct usb_ep *ep, struct usb_request *req)
/* presumably a transient fault */
pr_warning("%s: unexpected %s status %d\n",
__func__, ep->name, req->status);
- /* FALL THROUGH */
+ fallthrough;
case 0:
/* normal completion */
break;
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index bad247ff9e..27d4353597 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -327,7 +327,7 @@ static unsigned int xhci_get_endpoint_interval(struct usb_device *udev,
endpt_desc);
break;
}
- /* Fall through - SS and HS isoc/int have same decoding */
+ fallthrough; /* SS and HS isoc/int have same decoding */
case USB_SPEED_SUPER:
if (usb_endpoint_xfer_int(endpt_desc) ||
@@ -343,6 +343,7 @@ static unsigned int xhci_get_endpoint_interval(struct usb_device *udev,
endpt_desc);
break;
}
+ fallthrough;
/*
* Fall through for interrupt endpoint interval decoding
* since it uses the same rules as low speed interrupt
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 9c6c4e7bb4..8ae0fe08ed 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -623,7 +623,7 @@ static int ep_config_from_table(struct musb *musb)
switch (fifo_mode) {
default:
fifo_mode = 0;
- /* FALLTHROUGH */
+ fallthrough;
case 0:
cfg = mode_0_cfg;
n = ARRAY_SIZE(mode_0_cfg);
diff --git a/drivers/usb/musb/musb_gadget_ep0.c b/drivers/usb/musb/musb_gadget_ep0.c
index eed02a8581..268f67b820 100644
--- a/drivers/usb/musb/musb_gadget_ep0.c
+++ b/drivers/usb/musb/musb_gadget_ep0.c
@@ -736,7 +736,7 @@ irqreturn_t musb_g_ep0_irq(struct musb *musb)
musb_writeb(mbase, MUSB_TESTMODE,
musb->test_mode_nr);
}
- /* FALLTHROUGH */
+ fallthrough;
case MUSB_EP0_STAGE_STATUSOUT:
/* end of sequence #1: write to host (TX state) */
@@ -768,7 +768,7 @@ irqreturn_t musb_g_ep0_irq(struct musb *musb)
*/
retval = IRQ_HANDLED;
musb->ep0_state = MUSB_EP0_STAGE_SETUP;
- /* FALLTHROUGH */
+ fallthrough;
case MUSB_EP0_STAGE_SETUP:
setup:
@@ -1025,7 +1025,7 @@ static int musb_g_ep0_halt(struct usb_ep *e, int value)
case MUSB_EP0_STAGE_ACKWAIT: /* STALL for zero-length data */
case MUSB_EP0_STAGE_RX: /* control-OUT data */
csr = musb_readw(regs, MUSB_CSR0);
- /* FALLTHROUGH */
+ fallthrough;
/* It's also OK to issue stalls during callbacks when a non-empty
* DATA stage buffer has been read (or even written).
@@ -1041,6 +1041,7 @@ static int musb_g_ep0_halt(struct usb_ep *e, int value)
default:
dev_dbg(musb->controller, "ep0 can't halt in state %d\n", musb->ep0_state);
status = -EINVAL;
+ break;
}
cleanup:
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index 8176accb4f..3b5fde42b1 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -824,7 +824,7 @@ static bool musb_h_ep0_continue(struct musb *musb, u16 len, struct urb *urb)
musb->ep0_stage = MUSB_EP0_OUT;
more = true;
}
- /* FALLTHROUGH */
+ fallthrough;
case MUSB_EP0_OUT:
fifo_count = min_t(size_t, qh->maxpacket,
urb->transfer_buffer_length -
@@ -1498,6 +1498,7 @@ int musb_urb_enqueue(
break;
default:
type_reg |= 0x40;
+ break;
}
qh->type_reg = type_reg;
@@ -1512,7 +1513,7 @@ int musb_urb_enqueue(
interval = max_t(u8, epd->bInterval, 1);
break;
}
- /* FALLTHROUGH */
+ fallthrough;
case USB_ENDPOINT_XFER_ISOC:
/* ISO always uses logarithmic encoding */
interval = min_t(u8, epd->bInterval, 16);
@@ -1533,6 +1534,7 @@ int musb_urb_enqueue(
* The upside of disabling it is simpler transfer scheduling.
*/
interval = 0;
+ break;
}
qh->intv_reg = interval;
diff --git a/fs/jffs2/readinode.c b/fs/jffs2/readinode.c
index 4634ee5818..d56001e5cb 100644
--- a/fs/jffs2/readinode.c
+++ b/fs/jffs2/readinode.c
@@ -1248,7 +1248,7 @@ static int jffs2_do_read_inode_internal(struct jffs2_sb_info *c,
dbg_readinode("symlink's target '%s' cached\n", f->target);
}
- /* fall through... */
+ fallthrough;
case S_IFBLK:
case S_IFCHR:
diff --git a/lib/xymodem.c b/lib/xymodem.c
index 136741ab4a..84a9115771 100644
--- a/lib/xymodem.c
+++ b/lib/xymodem.c
@@ -461,7 +461,7 @@ static int xymodem_handle(struct xyz_ctxt *proto)
if (crc_tries++ > MAX_RETRIES_WITH_CRC)
proto->crc_mode = CRC_ADD8;
xy_putc(proto->cdev, invite);
- /* Fall through */
+ fallthrough;
case PROTO_STATE_RECEIVE_BODY:
rc = xy_read_block(proto, &blk, 3 * SECOND);
if (rc > 0) {
--
2.48.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] treewide: add explicit fallthrough and break
2025-03-25 15:52 [PATCH] treewide: add explicit fallthrough and break Jules Maselbas
@ 2025-03-27 7:41 ` Sascha Hauer
0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2025-03-27 7:41 UTC (permalink / raw)
To: barebox, Jules Maselbas
On Tue, 25 Mar 2025 16:52:58 +0100, Jules Maselbas wrote:
> Replace existing fallthrough comments with the `fallthrough;` pseudo-keyword.
> Add a few break statement when the last case of a switch is not empty, so it
> will not be forgot when a new case is added at the end.
>
>
Applied, thanks!
[1/1] treewide: add explicit fallthrough and break
https://git.pengutronix.de/cgit/barebox/commit/?id=b1eeb46d1d6a (link may not be stable)
Best regards,
--
Sascha Hauer <s.hauer@pengutronix.de>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-03-27 7:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-25 15:52 [PATCH] treewide: add explicit fallthrough and break Jules Maselbas
2025-03-27 7:41 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox