lkml.org 
[lkml]   [2020]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
    From
    Date
    Hi,


    This is a macro pseudo-keyword, which expands to /* fallthrough */
    for compilers that don't support the attribute __fallthrough__. See:

    include/linux/compiler_attributes.h:213:
    213 #if __has_attribute(__fallthrough__)
    214 # define fallthrough __attribute__((__fallthrough__))
    215 #else
    216 # define fallthrough do {} while (0) /* fallthrough */
    217 #endif

    So, any compiler (older or new) will be fine with it.

    Thanks
    --
    Gustavo

    On 7/8/20 09:17, Moore, Robert wrote:
    > It looks like this attribute is not supported by msvc 2017 (and perhaps other compilers) -- it is apparently a GCC extension -- meaning that it cannot be used in the ACPICA compiler-independent code.
    >
    > Bob
    >
    >
    > -----Original Message-----
    > From: Rafael J. Wysocki <rafael@kernel.org>
    > Sent: Wednesday, July 08, 2020 3:59 AM
    > To: Gustavo A. R. Silva <gustavoars@kernel.org>
    > Cc: Moore, Robert <robert.moore@intel.com>; Kaneda, Erik <erik.kaneda@intel.com>; Wysocki, Rafael J <rafael.j.wysocki@intel.com>; Len Brown <lenb@kernel.org>; ACPI Devel Maling List <linux-acpi@vger.kernel.org>; open list:ACPI COMPONENT ARCHITECTURE (ACPICA) <devel@acpica.org>; Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
    > Subject: Re: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
    >
    > On Tue, Jul 7, 2020 at 10:01 PM Gustavo A. R. Silva <gustavoars@kernel.org> wrote:
    >>
    >> Replace the existing /* fall through */ comments and its variants with
    >> the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    >> fall-through markings when it is the case.
    >>
    >> [1]
    >> https://www.kernel.org/doc/html/latest/process/deprecated.html?highlig
    >> ht=fallthrough#implicit-switch-case-fall-through
    >>
    >> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
    >
    > I need to talk to Erik and Bob about this one.
    >
    >> ---
    >> drivers/acpi/acpica/dscontrol.c | 2 +-
    >> drivers/acpi/acpica/dswexec.c | 3 +--
    >> drivers/acpi/acpica/dswload.c | 2 +-
    >> drivers/acpi/acpica/dswload2.c | 4 +---
    >> drivers/acpi/acpica/exfldio.c | 2 +-
    >> drivers/acpi/acpica/exresop.c | 4 ++--
    >> drivers/acpi/acpica/exstore.c | 4 ++--
    >> drivers/acpi/acpica/hwgpe.c | 3 +--
    >> drivers/acpi/acpica/utdelete.c | 3 +--
    >> drivers/acpi/acpica/utprint.c | 2 +-
    >> 10 files changed, 12 insertions(+), 17 deletions(-)
    >>
    >> diff --git a/drivers/acpi/acpica/dscontrol.c
    >> b/drivers/acpi/acpica/dscontrol.c index 4b5b6e859f62..134d53380663
    >> 100644
    >> --- a/drivers/acpi/acpica/dscontrol.c
    >> +++ b/drivers/acpi/acpica/dscontrol.c
    >> @@ -62,7 +62,7 @@ acpi_ds_exec_begin_control_op(struct acpi_walk_state *walk_state,
    >> }
    >> }
    >>
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> case AML_IF_OP:
    >> /*
    >> diff --git a/drivers/acpi/acpica/dswexec.c
    >> b/drivers/acpi/acpica/dswexec.c index 1d4f8c81028c..41f6cb61778a
    >> 100644
    >> --- a/drivers/acpi/acpica/dswexec.c
    >> +++ b/drivers/acpi/acpica/dswexec.c
    >> @@ -598,8 +598,7 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
    >> break;
    >> }
    >>
    >> - /* Fall through */
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> case AML_INT_EVAL_SUBTREE_OP:
    >>
    >> diff --git a/drivers/acpi/acpica/dswload.c
    >> b/drivers/acpi/acpica/dswload.c index 27069325b6de..1d8789869dda
    >> 100644
    >> --- a/drivers/acpi/acpica/dswload.c
    >> +++ b/drivers/acpi/acpica/dswload.c
    >> @@ -224,7 +224,7 @@ acpi_ds_load1_begin_op(struct acpi_walk_state *walk_state,
    >> break;
    >> }
    >>
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> default:
    >>
    >> diff --git a/drivers/acpi/acpica/dswload2.c
    >> b/drivers/acpi/acpica/dswload2.c index edadbe146506..de367e8e4cf4
    >> 100644
    >> --- a/drivers/acpi/acpica/dswload2.c
    >> +++ b/drivers/acpi/acpica/dswload2.c
    >> @@ -213,9 +213,7 @@ acpi_ds_load2_begin_op(struct acpi_walk_state *walk_state,
    >> parse_flags & ACPI_PARSE_MODULE_LEVEL)) {
    >> break;
    >> }
    >> -
    >> - /*lint -fallthrough */
    >> -
    >> + fallthrough;
    >> default:
    >>
    >> /* All other types are an error */ diff --git
    >> a/drivers/acpi/acpica/exfldio.c b/drivers/acpi/acpica/exfldio.c index
    >> ade35ff1c7ba..677ba3ab1482 100644
    >> --- a/drivers/acpi/acpica/exfldio.c
    >> +++ b/drivers/acpi/acpica/exfldio.c
    >> @@ -434,7 +434,7 @@ acpi_ex_field_datum_io(union acpi_operand_object *obj_desc,
    >> * region_field case and write the datum to the Operation Region
    >> */
    >>
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> case ACPI_TYPE_LOCAL_REGION_FIELD:
    >> /*
    >> diff --git a/drivers/acpi/acpica/exresop.c
    >> b/drivers/acpi/acpica/exresop.c index 4d1b22971d58..7c8676adcf43
    >> 100644
    >> --- a/drivers/acpi/acpica/exresop.c
    >> +++ b/drivers/acpi/acpica/exresop.c
    >> @@ -198,7 +198,7 @@ acpi_ex_resolve_operands(u16 opcode,
    >>
    >> target_op = AML_DEBUG_OP;
    >>
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> case ACPI_REFCLASS_ARG:
    >> case ACPI_REFCLASS_LOCAL:
    >> @@ -264,7 +264,7 @@ acpi_ex_resolve_operands(u16 opcode,
    >> * Else not a string - fall through to the normal Reference
    >> * case below
    >> */
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> case ARGI_REFERENCE: /* References: */
    >> case ARGI_INTEGER_REF:
    >> diff --git a/drivers/acpi/acpica/exstore.c
    >> b/drivers/acpi/acpica/exstore.c index 3adc0a29d890..fcf8dff56c5b
    >> 100644
    >> --- a/drivers/acpi/acpica/exstore.c
    >> +++ b/drivers/acpi/acpica/exstore.c
    >> @@ -96,7 +96,7 @@ acpi_ex_store(union acpi_operand_object *source_desc,
    >> return_ACPI_STATUS(AE_OK);
    >> }
    >>
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> default:
    >>
    >> @@ -422,7 +422,7 @@ acpi_ex_store_object_to_node(union acpi_operand_object *source_desc,
    >> break;
    >> }
    >>
    >> - /* Fallthrough */
    >> + fallthrough;
    >>
    >> case ACPI_TYPE_DEVICE:
    >> case ACPI_TYPE_EVENT:
    >> diff --git a/drivers/acpi/acpica/hwgpe.c b/drivers/acpi/acpica/hwgpe.c
    >> index 49c46d4dd070..19d574f64c78 100644
    >> --- a/drivers/acpi/acpica/hwgpe.c
    >> +++ b/drivers/acpi/acpica/hwgpe.c
    >> @@ -95,8 +95,7 @@ acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action)
    >> if (!(register_bit & gpe_register_info->enable_mask)) {
    >> return (AE_BAD_PARAMETER);
    >> }
    >> -
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> case ACPI_GPE_ENABLE:
    >>
    >> diff --git a/drivers/acpi/acpica/utdelete.c
    >> b/drivers/acpi/acpica/utdelete.c index c365faf4e6cd..6db09eb9d257
    >> 100644
    >> --- a/drivers/acpi/acpica/utdelete.c
    >> +++ b/drivers/acpi/acpica/utdelete.c
    >> @@ -111,8 +111,7 @@ static void acpi_ut_delete_internal_obj(union acpi_operand_object *object)
    >> (void)acpi_ev_delete_gpe_block(object->device.
    >> gpe_block);
    >> }
    >> -
    >> - /*lint -fallthrough */
    >> + fallthrough;
    >>
    >> case ACPI_TYPE_PROCESSOR:
    >> case ACPI_TYPE_THERMAL:
    >> diff --git a/drivers/acpi/acpica/utprint.c
    >> b/drivers/acpi/acpica/utprint.c index 681c11f4af4e..f7e43baf5ff2
    >> 100644
    >> --- a/drivers/acpi/acpica/utprint.c
    >> +++ b/drivers/acpi/acpica/utprint.c
    >> @@ -475,7 +475,7 @@ int vsnprintf(char *string, acpi_size size, const char *format, va_list args)
    >> case 'X':
    >>
    >> type |= ACPI_FORMAT_UPPER;
    >> - /* FALLTHROUGH */
    >> + fallthrough;
    >>
    >> case 'x':
    >>
    >>

    \
     
     \ /
      Last update: 2020-07-28 00:41    [W:3.520 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site