lkml.org 
[lkml]   [2020]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [trivial PATCH] treewide: Convert switch/case fallthrough; to break;
    From
    Date
    On Thu, 2020-09-10 at 15:21 +0100, Robin Murphy wrote:
    > On 2020-09-09 21:06, Joe Perches wrote:
    > > fallthrough to a separate case/default label break; isn't very readable.
    > >
    > > Convert pseudo-keyword fallthrough; statements to a simple break; when
    > > the next label is case or default and the only statement in the next
    > > label block is break;
    > >
    > > Found using:
    > >
    > > $ grep-2.5.4 -rP --include=*.[ch] -n "fallthrough;(\s*(case\s+\w+|default)\s*:\s*){1,7}break;" *
    > >
    > > Miscellanea:
    > >
    > > o Move or coalesce a couple label blocks above a default: block.
    > >
    > > Signed-off-by: Joe Perches <joe@perches.com>
    > > ---
    > >
    > > Compiled allyesconfig x86-64 only.
    > > A few files for other arches were not compiled.
    > >
    >
    > [...]
    > > diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
    > > index c192544e874b..743db1abec40 100644
    > > --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
    > > +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
    > > @@ -3777,7 +3777,7 @@ static int arm_smmu_device_hw_probe(struct arm_smmu_device *smmu)
    > > switch (FIELD_GET(IDR0_TTF, reg)) {
    > > case IDR0_TTF_AARCH32_64:
    > > smmu->ias = 40;
    > > - fallthrough;
    > > + break;
    > > case IDR0_TTF_AARCH64:
    > > break;
    > > default:
    >
    > I have to say I don't really agree with the readability argument for
    > this one - a fallthrough is semantically correct here, since the first
    > case is a superset of the second. It just happens that anything we would
    > do for the common subset is implicitly assumed (there are other
    > potential cases we simply haven't added support for at the moment), thus
    > the second case is currently empty.
    > This change actively obfuscates that distinction.

    Then perhaps comments should be added to usefully
    describe the mechanisms.

    case IDR0_TTF_AARCH32_64:
    smmu->ias = 40;
    fallthrough; /* and still do the 64 bit processing */
    case IDR0_TTF_AARCH64:
    /* Nothing specific yet */
    break;

    > Robin.

    \
     
     \ /
      Last update: 2020-09-11 06:21    [W:2.238 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site