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=-8.4 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,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 8E498C33CB1 for ; Fri, 17 Jan 2020 07:25:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5FFE220684 for ; Fri, 17 Jan 2020 07:25:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=xs4all.nl header.i=@xs4all.nl header.b="NV9b5sVh" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729214AbgAQHZt (ORCPT ); Fri, 17 Jan 2020 02:25:49 -0500 Received: from lb3-smtp-cloud8.xs4all.net ([194.109.24.29]:58265 "EHLO lb3-smtp-cloud8.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727136AbgAQHZs (ORCPT ); Fri, 17 Jan 2020 02:25:48 -0500 Received: from [192.168.2.10] ([62.249.185.68]) by smtp-cloud8.xs4all.net with ESMTPA id sM0jicDxnpLtbsM0nithAZ; Fri, 17 Jan 2020 08:25:46 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s1; t=1579245946; bh=UeKBLZ/CdLAZrnCykhZrVadqCwYfx67m4+oSWoKkHOs=; h=Subject:To:From:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=NV9b5sVhgxUlYdSI3IOVzraQ4/7B4G7mQB2DBuhQQhRo0gDrB1DuCtjWmWQwMq9mv 9caOoa80YupsKTd2J63PY1FZz6Pq2IYb0KOKPOvIxE50K55cyt/tWdXfN2Q24tpUfO oax/Q34NSRW44aSjWy9qTZKP2yXfZilHuww41DLKb37NUs040af/V9cLD3Jalsum+O 10g4ZErRwj/cwUU9ShkMIQ328PHldOozvbEPyIVyA9RnyHzOXP/XHa/yvZNS5OMsib 9UxHp1OuOXuh1K9mOG0Nrj6peY2FV3rY52v4F2KWD7H7Bw9Y6WxHRZLc4wPV1DN2KW FZ+NDtBPKRmIg== Subject: Re: [PATCH] media: i2c: adv748x: Fix unsafe macros To: Nathan Chancellor , "Gustavo A. R. Silva" Cc: Kieran Bingham , Mauro Carvalho Chehab , Hans Verkuil , Dmitry Vyukov , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com References: <20191022132522.GA12072@embeddedor> <20200113231413.GA23583@ubuntu-x2-xlarge-x86> From: Hans Verkuil Message-ID: Date: Fri, 17 Jan 2020 08:25:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20200113231413.GA23583@ubuntu-x2-xlarge-x86> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfKyK/rzVjxnvkwsMf1qYMwClCWjHZYQSwtv4fCa+bjIiWSl35QLfhQTLEONgzTrvuzo0nGXVqfWPv/Y6XZ995571exmOIxPjek+cZCzNbC28LzOJfMqM 0nSdK8oWqIs1T5UXeaBBYdAEUH1uhV7hhY4xZn9Y0TjDuPEdBRAB0YMZdVVTou6DkAFZEZnj9wNdod9kVwWSyLOL9BfFnMXG91wu+AtPMa0LYcKjd00tJOEp XQ038SezE5EVrQL0W1/dVPM7cq16wOPgK8zqlWyOdEqpDD9PsHJuhzDFsBtJ7pDThdN+9qL+LNIwESEMBvkIUNQ+emUJ7j/BNJzrbfBElA8sQ3nHQSPNXvP3 5H6qWMqBPvU9R/QBy+bdtfjHanwosQvKO12HvC1gSuwJ+9wvZBjfdDW+ZFaxuKCEw8dHP+3sIqolOg16zwYU1epGkTO/HdJ71zYqEHmT+qWrm+LoiXcC/4xc QwWJEaKCXCDb7o61ShAHaNzfmIxbuqogodSs3g== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/14/20 12:14 AM, Nathan Chancellor wrote: > On Tue, Oct 22, 2019 at 08:25:22AM -0500, Gustavo A. R. Silva wrote: >> Enclose multiple macro parameters in parentheses in order to >> make such macros safer and fix the Clang warning below: >> >> drivers/media/i2c/adv748x/adv748x-afe.c:452:12: warning: operator '?:' >> has lower precedence than '|'; '|' will be evaluated first >> [-Wbitwise-conditional-parentheses] >> >> ret = sdp_clrset(state, ADV748X_SDP_FRP, ADV748X_SDP_FRP_MASK, enable >> ? ctrl->val - 1 : 0); >> >> Fixes: 3e89586a64df ("media: i2c: adv748x: add adv748x driver") >> Reported-by: Dmitry Vyukov >> Signed-off-by: Gustavo A. R. Silva > It doesn't look like this was picked up? I still see this warning on > 5.5-rc6 and next-20200113. It's been picked up some time ago and will appear in 5.6. Regards, Hans > > If it helps: > > Reviewed-by: Nathan Chancellor > >> --- >> drivers/media/i2c/adv748x/adv748x.h | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/media/i2c/adv748x/adv748x.h b/drivers/media/i2c/adv748x/adv748x.h >> index 5042f9e94aee..fccb388ce179 100644 >> --- a/drivers/media/i2c/adv748x/adv748x.h >> +++ b/drivers/media/i2c/adv748x/adv748x.h >> @@ -394,10 +394,10 @@ int adv748x_write_block(struct adv748x_state *state, int client_page, >> >> #define io_read(s, r) adv748x_read(s, ADV748X_PAGE_IO, r) >> #define io_write(s, r, v) adv748x_write(s, ADV748X_PAGE_IO, r, v) >> -#define io_clrset(s, r, m, v) io_write(s, r, (io_read(s, r) & ~m) | v) >> +#define io_clrset(s, r, m, v) io_write(s, r, (io_read(s, r) & ~(m)) | (v)) >> >> #define hdmi_read(s, r) adv748x_read(s, ADV748X_PAGE_HDMI, r) >> -#define hdmi_read16(s, r, m) (((hdmi_read(s, r) << 8) | hdmi_read(s, r+1)) & m) >> +#define hdmi_read16(s, r, m) (((hdmi_read(s, r) << 8) | hdmi_read(s, (r)+1)) & (m)) >> #define hdmi_write(s, r, v) adv748x_write(s, ADV748X_PAGE_HDMI, r, v) >> >> #define repeater_read(s, r) adv748x_read(s, ADV748X_PAGE_REPEATER, r) >> @@ -405,11 +405,11 @@ int adv748x_write_block(struct adv748x_state *state, int client_page, >> >> #define sdp_read(s, r) adv748x_read(s, ADV748X_PAGE_SDP, r) >> #define sdp_write(s, r, v) adv748x_write(s, ADV748X_PAGE_SDP, r, v) >> -#define sdp_clrset(s, r, m, v) sdp_write(s, r, (sdp_read(s, r) & ~m) | v) >> +#define sdp_clrset(s, r, m, v) sdp_write(s, r, (sdp_read(s, r) & ~(m)) | (v)) >> >> #define cp_read(s, r) adv748x_read(s, ADV748X_PAGE_CP, r) >> #define cp_write(s, r, v) adv748x_write(s, ADV748X_PAGE_CP, r, v) >> -#define cp_clrset(s, r, m, v) cp_write(s, r, (cp_read(s, r) & ~m) | v) >> +#define cp_clrset(s, r, m, v) cp_write(s, r, (cp_read(s, r) & ~(m)) | (v)) >> >> #define tx_read(t, r) adv748x_read(t->state, t->page, r) >> #define tx_write(t, r, v) adv748x_write(t->state, t->page, r, v) >> -- >> 2.23.0 >>