On 7/27/20 1:32 PM, Gustavo A. R. Silva wrote:
Replace the existing /* fall through */ comments and its variants with the new pseudo-keyword macro fallthrough[1].
[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallt...
Thanks for the patch. It looks good, but it raises another question I'd like discussion on.
It seems that Johan likes default (or final) cases in switch statements without a "break" statement. Viresh and Bryan appear to be fond of this too.
It's pedantic, but I don't like that. Am I wrong? --> Johan/Viresh/Bryan would you please comment?
If they aren't convincing (or don't care) I think break statements should also be added here: - In gb_interface_read_and_clear_init_status() for the default case - In gb_interface_activate() for the default case. - In gb_svc_process_deferred_request() for the default case
But let's wait to see what Johan (et al) says. If you don't want to do that, say so and I'll do it later.
I looked at the code in drivers/staging/greybus/ and saw no need to add a "fallthrough" anywhere, but: - In fw_mgmt_backend_fw_version_operation() Viresh seems to have skipped the break in the fault statement - In gb_uart_request_handler() Bryan did this too.
Depending on discussion, these could be fixed in a separate patch as well.
These cases aren't found by "checkpatch.pl" because it only looks at case "blocks" that are followed by another case. So the last case isn't checked.
-Alex
Signed-off-by: Gustavo A. R. Silva gustavoars@kernel.org
drivers/greybus/es2.c | 2 +- drivers/greybus/interface.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/greybus/es2.c b/drivers/greybus/es2.c index 366716f11b1a..1df6ab5d339d 100644 --- a/drivers/greybus/es2.c +++ b/drivers/greybus/es2.c @@ -759,7 +759,7 @@ static int check_urb_status(struct urb *urb) case -EOVERFLOW: dev_err(dev, "%s: overflow actual length is %d\n", __func__, urb->actual_length);
/* fall through */
case -ECONNRESET: case -ENOENT: case -ESHUTDOWN:fallthrough;
diff --git a/drivers/greybus/interface.c b/drivers/greybus/interface.c index 67dbe6fda9a1..58ea374d8aaa 100644 --- a/drivers/greybus/interface.c +++ b/drivers/greybus/interface.c @@ -1233,7 +1233,7 @@ int gb_interface_add(struct gb_interface *intf) case GB_INTERFACE_TYPE_GREYBUS: dev_info(&intf->dev, "GMP VID=0x%08x, PID=0x%08x\n", intf->vendor_id, intf->product_id);
/* fall-through */
case GB_INTERFACE_TYPE_UNIPRO: dev_info(&intf->dev, "DDBL1 Manufacturer=0x%08x, Product=0x%08x\n", intf->ddbl1_manufacturer_id,fallthrough;