From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.4 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78E97C55179 for ; Fri, 23 Oct 2020 08:29:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1FD2120EDD for ; Fri, 23 Oct 2020 08:29:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S460637AbgJWI3x (ORCPT ); Fri, 23 Oct 2020 04:29:53 -0400 Received: from mx2.suse.de ([195.135.220.15]:38466 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S460475AbgJWI3v (ORCPT ); Fri, 23 Oct 2020 04:29:51 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 5491AABF4; Fri, 23 Oct 2020 08:29:50 +0000 (UTC) Subject: Re: [PATCH] gpu/drm/mgag200:remove break after return To: Bernard Cc: Dave Airlie , David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, opensource.kernel@vivo.com References: From: Thomas Zimmermann Message-ID: <44e91fc5-275e-0cd3-b6cd-acc14621a9fd@suse.de> Date: Fri, 23 Oct 2020 10:29:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi On 23.10.20 09:48, Bernard wrote: > > > From: Thomas Zimmermann > Date: 2020-10-23 15:13:30 > To: Bernard Zhao ,Dave Airlie ,David Airlie ,Daniel Vetter ,dri-devel@lists.freedesktop.org,linux-kernel@vger.kernel.org > Cc: opensource.kernel@vivo.com > Subject: Re: [PATCH] gpu/drm/mgag200:remove break after return>Hi >> >> On 23.10.20 09:00, Bernard Zhao wrote: >>> In function mgag200_set_pci_regs, there are some switch cases >>> returned, then break. These break will never run. >>> This patch is to make the code a bit readable. >>> >>> Signed-off-by: Bernard Zhao >>> --- >>> drivers/gpu/drm/mgag200/mgag200_mode.c | 5 +---- >>> 1 file changed, 1 insertion(+), 4 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c >>> index 38672f9e5c4f..de873a5d276e 100644 >>> --- a/drivers/gpu/drm/mgag200/mgag200_mode.c >>> +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c >>> @@ -794,20 +794,17 @@ static int mgag200_crtc_set_plls(struct mga_device *mdev, long clock) >>> case G200_SE_A: >>> case G200_SE_B: >>> return mga_g200se_set_plls(mdev, clock); >>> - break; >>> case G200_WB: >>> case G200_EW3: >>> return mga_g200wb_set_plls(mdev, clock); >>> - break; >>> case G200_EV: >>> return mga_g200ev_set_plls(mdev, clock); >>> - break; >>> case G200_EH: >>> case G200_EH3: >>> return mga_g200eh_set_plls(mdev, clock); >>> - break; >>> case G200_ER: >>> return mga_g200er_set_plls(mdev, clock); >>> + default: >> >> No default case here. If one of the enum values is not handled by the >> switch, the compiler should warn about it. > > Hi > > For this point I was a little confused, about this switch variable "mdev->type", my understanding is that this variable`s value can be certain only when the code is running. > How does the compiler warn this("If one of the enum values is not handled") before the code runs? The enum mga_type {} has values (G200_ER, G200_WB, etc) that are known to the compiler. If one of those values does not show up in the switch statement, the compiler warns. Adding default would silence this warning. In principle, mdev->type could contain any value that fits into an int. But assigning anything that is not listed in enum mga_type {} is considered an error as well. Best regards Thomas > > BR//Bernard > >> Best regards >> Thomas >> >>> break; >>> } >>> >>> >> >> -- >> Thomas Zimmermann >> Graphics Driver Developer >> SUSE Software Solutions Germany GmbH >> Maxfeldstr. 5, 90409 Nürnberg, Germany >> (HRB 36809, AG Nürnberg) >> Geschäftsführer: Felix Imendörffer > > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer