Hi Joe,
On 8/22/20 12:36, Joe Perches wrote: > On Thu, 2020-08-20 at 17:02 -0500, Gustavo A. R. Silva wrote: >> This treewide patch doesn't address ALL fall-through markings in all >> subsystems at once because I have previously sent out patches for some of >> such subsystems separately, and I will follow up on them; however, this >> definitely contributes most of the work needed to replace all the >> fall-through markings with the fallthrough pseudo-keyword macro in the >> whole codebase. > > Hi Gustavo. Thanks for this. > > Some stragglers (for -next) in the arch/subsystems modified > by this patch: > > arch/x86/ > drivers/gpu/ > drivers/misc/ > drivers/net/ethernet/ > lib/ > > And some in scripts/ and tools/ which maybe shouldn't be changed. > I didn't change anything in scripts/ and tools/ I first plan to send a patch series to the following to tools/include/linux/compiler-gcc.h: /* * Add the pseudo keyword 'fallthrough' so case statement blocks * must end with any of these keywords: * break; * fallthrough; * goto <label>; * return [expression]; * * gcc: https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html#Statement-Attributes */ #if __has_attribute(__fallthrough__) # define fallthrough __attribute__((__fallthrough__)) #else # define fallthrough do {} while (0) /* fallthrough */ #endif and address the fallthrough markings in tools/ Thanks -- Gustavo > Possible diffs for each straggler directory block below: > >> arch/x86/ > > $ git diff -U0 arch > diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c > index 0f3d01562ded..b825a5a5ede7 100644 > --- a/arch/x86/events/core.c > +++ b/arch/x86/events/core.c > @@ -1149 +1149 @@ static inline void x86_assign_hw_event(struct perf_event > *event, > - /* fall through */ > + fallthrough; > diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c > index 983cd53ed4c9..097cc3439e53 100644 > --- a/arch/x86/kernel/e820.c > +++ b/arch/x86/kernel/e820.c > @@ -190 +190 @@ static void __init e820_print_type(enum e820_type type) > - case E820_TYPE_RAM: /* Fall through: */ > + case E820_TYPE_RAM: > @@ -197 +197 @@ static void __init e820_print_type(enum e820_type type) > - case E820_TYPE_PMEM: /* Fall through: */ > + case E820_TYPE_PMEM: > @@ -1044 +1044 @@ static const char *__init e820_type_to_string(struct > e820_entry *entry) > - case E820_TYPE_RESERVED_KERN: /* Fall-through: */ > + case E820_TYPE_RESERVED_KERN: > @@ -1060 +1060 @@ static unsigned long __init e820_type_to_iomem_type(struct > e820_entry *entry) > - case E820_TYPE_RESERVED_KERN: /* Fall-through: */ > + case E820_TYPE_RESERVED_KERN: > @@ -1062,7 +1062,7 @@ static unsigned long __init > e820_type_to_iomem_type(struct e820_entry *entry) > - case E820_TYPE_ACPI: /* Fall-through: */ > - case E820_TYPE_NVS: /* Fall-through: */ > - case E820_TYPE_UNUSABLE: /* Fall-through: */ > - case E820_TYPE_PRAM: /* Fall-through: */ > - case E820_TYPE_PMEM: /* Fall-through: */ > - case E820_TYPE_RESERVED: /* Fall-through: */ > - case E820_TYPE_SOFT_RESERVED: /* Fall-through: */ > + case E820_TYPE_ACPI: > + case E820_TYPE_NVS: > + case E820_TYPE_UNUSABLE: > + case E820_TYPE_PRAM: > + case E820_TYPE_PMEM: > + case E820_TYPE_RESERVED: > + case E820_TYPE_SOFT_RESERVED: > @@ -1082,3 +1082,3 @@ static unsigned long __init > e820_type_to_iores_desc(struct e820_entry *entry) > - case E820_TYPE_RESERVED_KERN: /* Fall-through: */ > - case E820_TYPE_RAM: /* Fall-through: */ > - case E820_TYPE_UNUSABLE: /* Fall-through: */ > + case E820_TYPE_RESERVED_KERN: > + case E820_TYPE_RAM: > + case E820_TYPE_UNUSABLE: > >> drivers/gpu/ > > $ git diff -U1 drivers/gpu > diff --git a/drivers/gpu/drm/amd/pm/powerplay/si_dpm.c > b/drivers/gpu/drm/amd/pm/powerplay/si_dpm.c > index b5986d19dc08..77dec1a56b9b 100644 > --- a/drivers/gpu/drm/amd/pm/powerplay/si_dpm.c > +++ b/drivers/gpu/drm/amd/pm/powerplay/si_dpm.c > @@ -6203,3 +6203,3 @@ static void > si_request_link_speed_change_before_state_change(struct amdgpu_devic > #endif > - /* fall through */ > + fallthrough; > default: > diff --git a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c > index 886e9959496f..6ba12f141833 100644 > --- a/drivers/gpu/drm/radeon/ci_dpm.c > +++ b/drivers/gpu/drm/radeon/ci_dpm.c > @@ -4863,3 +4863,3 @@ static void > ci_request_link_speed_change_before_state_change(struct radeon_devic > #endif > - /* fall through */ > + fallthrough; > default: > diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c > index d1c73e9db889..76427c893827 100644 > --- a/drivers/gpu/drm/radeon/si_dpm.c > +++ b/drivers/gpu/drm/radeon/si_dpm.c > @@ -5751,3 +5751,3 @@ static void > si_request_link_speed_change_before_state_change(struct radeon_devic > #endif > - /* fall through */ > + fallthrough; > default: > >> drivers/misc/ > > diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c > index 326955b04fda..683871267f4f 100644 > --- a/drivers/misc/mei/interrupt.c > +++ b/drivers/misc/mei/interrupt.c > @@ -135 +134,0 @@ static int mei_cl_irq_read_msg(struct mei_cl *cl, > - fallthrough; > >> drivers/net/ethernet/ > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c > b/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c > index 08c76636c164..2a86307e3c43 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c > @@ -87,3 +87,2 @@ static struct anarion_gmac *anarion_config_dt(struct > platform_device *pdev) > case PHY_INTERFACE_MODE_RGMII: > - fallthrough; > case PHY_INTERFACE_MODE_RGMII_ID: > >> drivers/scsi/ > > $ git diff -U1 drivers/scsi > diff --git a/drivers/scsi/libsas/sas_discover.c > b/drivers/scsi/libsas/sas_discover.c > index cd7c7d269f6f..26c992213c9c 100644 > --- a/drivers/scsi/libsas/sas_discover.c > +++ b/drivers/scsi/libsas/sas_discover.c > @@ -468,5 +468,4 @@ static void sas_discover_domain(struct work_struct *work) > pr_notice("ATA device seen but CONFIG_SCSI_SAS_ATA=N so > cannot attach\n"); > - /* Fall through */ > + fallthrough; > #endif > - /* Fall through - only for the #else condition above. */ > >> lib/ > > $ git diff -U0 lib > diff --git a/lib/nlattr.c b/lib/nlattr.c > index 665bdaff02c8..e0da8c23d674 100644 > --- a/lib/nlattr.c > +++ b/lib/nlattr.c > @@ -404,2 +404 @@ static int validate_nla(const struct nlattr *nla, int > maxtype, > - /* fall through */ > - > + fallthrough; > diff --git a/lib/zlib_inflate/inflate.c b/lib/zlib_inflate/inflate.c > index 67cc9b08ae9d..8147b0ade347 100644 > --- a/lib/zlib_inflate/inflate.c > +++ b/lib/zlib_inflate/inflate.c > @@ -399 +399 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -407 +407 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -410 +410 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -449 +449 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -483 +483 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -504 +504 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -578 +578 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -618 +618 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -626 +626 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -652 +652 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -672 +672 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > @@ -723 +723 @@ int zlib_inflate(z_streamp strm, int flush) > - /* fall through */ > + fallthrough; > > >