linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
@ 2020-07-07 20:07 Gustavo A. R. Silva
  2020-07-08 10:58 ` Rafael J. Wysocki
  0 siblings, 1 reply; 8+ messages in thread
From: Gustavo A. R. Silva @ 2020-07-07 20:07 UTC (permalink / raw)
  To: Robert Moore, Erik Kaneda, Rafael J. Wysocki, Len Brown
  Cc: linux-acpi, devel, linux-kernel, Gustavo A. R. Silva

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?highlight=fallthrough#implicit-switch-case-fall-through

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
 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':
 


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
  2020-07-07 20:07 [PATCH][next] ACPICA: Use fallthrough pseudo-keyword Gustavo A. R. Silva
@ 2020-07-08 10:58 ` Rafael J. Wysocki
  2020-07-08 14:17   ` Moore, Robert
  0 siblings, 1 reply; 8+ messages in thread
From: Rafael J. Wysocki @ 2020-07-08 10:58 UTC (permalink / raw)
  To: Gustavo A. R. Silva
  Cc: Robert Moore, Erik Kaneda, Rafael J. Wysocki, Len Brown,
	ACPI Devel Maling List,
	open list:ACPI COMPONENT ARCHITECTURE (ACPICA),
	Linux Kernel Mailing List

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?highlight=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':
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
  2020-07-08 10:58 ` Rafael J. Wysocki
@ 2020-07-08 14:17   ` Moore, Robert
  2020-07-27 22:23     ` Gustavo A. R. Silva
  0 siblings, 1 reply; 8+ messages in thread
From: Moore, Robert @ 2020-07-08 14:17 UTC (permalink / raw)
  To: Rafael J. Wysocki, Gustavo A. R. Silva
  Cc: Kaneda, Erik, Wysocki, Rafael J, Len Brown,
	ACPI Devel Maling List,
	open list:ACPI COMPONENT ARCHITECTURE (ACPICA),
	Linux Kernel Mailing List

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':
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
  2020-07-08 14:17   ` Moore, Robert
@ 2020-07-27 22:23     ` Gustavo A. R. Silva
  2020-07-28  2:22       ` Joe Perches
  0 siblings, 1 reply; 8+ messages in thread
From: Gustavo A. R. Silva @ 2020-07-27 22:23 UTC (permalink / raw)
  To: Moore, Robert, Rafael J. Wysocki, Gustavo A. R. Silva
  Cc: Kaneda, Erik, Wysocki, Rafael J, Len Brown,
	ACPI Devel Maling List,
	open list:ACPI COMPONENT ARCHITECTURE (ACPICA),
	Linux Kernel Mailing List

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':
>>
>>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
  2020-07-27 22:23     ` Gustavo A. R. Silva
@ 2020-07-28  2:22       ` Joe Perches
  2020-07-28 15:09         ` Moore, Robert
  2020-10-14 20:48         ` Moore, Robert
  0 siblings, 2 replies; 8+ messages in thread
From: Joe Perches @ 2020-07-28  2:22 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Moore, Robert, Rafael J. Wysocki,
	Gustavo A. R. Silva
  Cc: Kaneda, Erik, Wysocki, Rafael J, Len Brown,
	ACPI Devel Maling List,
	open list:ACPI COMPONENT ARCHITECTURE (ACPICA),
	Linux Kernel Mailing List

On Mon, 2020-07-27 at 17:23 -0500, Gustavo A. R. Silva wrote:
> Hi,
> 
> 
> This is a macro pseudo-keyword, which expands to /* fallthrough */
> for compilers that don't support the attribute __fallthrough__. See:

Not really.

It expands to
	do {} while (0)
for compilers that do not support the __fallthrough__ attribute.

The /* fallthrough */ after that is for the human reader
and is stripped before compilation.

> 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.

But old compilers should not emit warnings for these uses.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
  2020-07-28  2:22       ` Joe Perches
@ 2020-07-28 15:09         ` Moore, Robert
  2020-10-14 20:48         ` Moore, Robert
  1 sibling, 0 replies; 8+ messages in thread
From: Moore, Robert @ 2020-07-28 15:09 UTC (permalink / raw)
  To: Joe Perches, Gustavo A. R. Silva, Rafael J. Wysocki, Gustavo A. R. Silva
  Cc: Kaneda, Erik, Wysocki, Rafael J, Len Brown,
	ACPI Devel Maling List,
	open list:ACPI COMPONENT ARCHITECTURE (ACPICA),
	Linux Kernel Mailing List

Yes, but:

include/linux/compiler_attributes.h

This file is linux-specific and cannot be used with ACPICA.
Bob


-----Original Message-----
From: Joe Perches <joe@perches.com> 
Sent: Monday, July 27, 2020 7:22 PM
To: Gustavo A. R. Silva <gustavo@embeddedor.com>; Moore, Robert <robert.moore@intel.com>; Rafael J. Wysocki <rafael@kernel.org>; Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: 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 Mon, 2020-07-27 at 17:23 -0500, Gustavo A. R. Silva wrote:
> Hi,
> 
> 
> This is a macro pseudo-keyword, which expands to /* fallthrough */ for 
> compilers that don't support the attribute __fallthrough__. See:

Not really.

It expands to
	do {} while (0)
for compilers that do not support the __fallthrough__ attribute.

The /* fallthrough */ after that is for the human reader and is stripped before compilation.

> 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.

But old compilers should not emit warnings for these uses.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
  2020-07-28  2:22       ` Joe Perches
  2020-07-28 15:09         ` Moore, Robert
@ 2020-10-14 20:48         ` Moore, Robert
  2020-10-14 21:13           ` Joe Perches
  1 sibling, 1 reply; 8+ messages in thread
From: Moore, Robert @ 2020-10-14 20:48 UTC (permalink / raw)
  To: Joe Perches, Gustavo A. R. Silva, Rafael J. Wysocki, Gustavo A. R. Silva
  Cc: Kaneda, Erik, Wysocki, Rafael J, Len Brown,
	ACPI Devel Maling List,
	open list:ACPI COMPONENT ARCHITECTURE (ACPICA),
	Linux Kernel Mailing List

I'm afraid that the macro does not compile under MSVC:

warning C4067: unexpected tokens following preprocessor directive - expected a newline (compiling source file ..\..\source\tools\acpiexec\aetests.c)

 It looks like "__has_attribute" is not supported.

-----Original Message-----
From: Joe Perches <joe@perches.com> 
Sent: Monday, July 27, 2020 7:22 PM
To: Gustavo A. R. Silva <gustavo@embeddedor.com>; Moore, Robert <robert.moore@intel.com>; Rafael J. Wysocki <rafael@kernel.org>; Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: 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 Mon, 2020-07-27 at 17:23 -0500, Gustavo A. R. Silva wrote:
> Hi,
> 
> 
> This is a macro pseudo-keyword, which expands to /* fallthrough */ for 
> compilers that don't support the attribute __fallthrough__. See:

Not really.

It expands to
	do {} while (0)
for compilers that do not support the __fallthrough__ attribute.

The /* fallthrough */ after that is for the human reader and is stripped before compilation.

> 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.

But old compilers should not emit warnings for these uses.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword
  2020-10-14 20:48         ` Moore, Robert
@ 2020-10-14 21:13           ` Joe Perches
  0 siblings, 0 replies; 8+ messages in thread
From: Joe Perches @ 2020-10-14 21:13 UTC (permalink / raw)
  To: Moore, Robert, Gustavo A. R. Silva, Rafael J. Wysocki,
	Gustavo A. R. Silva
  Cc: Kaneda, Erik, Wysocki, Rafael J, Len Brown,
	ACPI Devel Maling List,
	open list:ACPI COMPONENT ARCHITECTURE (ACPICA),
	Linux Kernel Mailing List

On Wed, 2020-10-14 at 20:48 +0000, Moore, Robert wrote:
> I'm afraid that the macro does not compile under MSVC:
> 
> warning C4067: unexpected tokens following preprocessor directive - expected a newline (compiling source file ..\..\source\tools\acpiexec\aetests.c)
> 
>  It looks like "__has_attribute" is not supported.

It looks more like compiler.h/compiler_types.h/compiler_attributes.h
doesn't support msvc.




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-10-14 21:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-07 20:07 [PATCH][next] ACPICA: Use fallthrough pseudo-keyword Gustavo A. R. Silva
2020-07-08 10:58 ` Rafael J. Wysocki
2020-07-08 14:17   ` Moore, Robert
2020-07-27 22:23     ` Gustavo A. R. Silva
2020-07-28  2:22       ` Joe Perches
2020-07-28 15:09         ` Moore, Robert
2020-10-14 20:48         ` Moore, Robert
2020-10-14 21:13           ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).