Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp400460ybl; Tue, 28 Jan 2020 05:22:16 -0800 (PST) X-Google-Smtp-Source: APXvYqzrnVC6hZ1R/gjtSd4Kl5jpOdnxtY1+mYqeAGArxSdeAZPasb5YLyXnIEqArKuPLq6xlrFT X-Received: by 2002:a9d:64d8:: with SMTP id n24mr79213otl.71.1580217736229; Tue, 28 Jan 2020 05:22:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580217736; cv=none; d=google.com; s=arc-20160816; b=Lpn7Pv8ZnprGggBxmEzVNVuyNy96srKES5AaJ/crqJIQhOscEhQLqgaVWi6+vkTq8q 0ZxaQ3JwtZg5vgt3a/bM2Vm3OPX5kQlsXTvtG5MYnUncxf+NUcblDn4LxPP2u6Tghp4t 5oDk/Jk6HwZfA5iFc6/FhyZLYSV8ptPVwiXDk4zURbKgLQUpCK8xZVKIKmGG/4vjiCGx FNeqwGKPrZtUeen57ZYXqxb6Zyc+LBUzy3l+WL5oiSxjunuhMYx0yWC8BJbJbJqBRyds nDoLpqUhZE02SbgtaLjqJdWMQ1S7S12nLIvjcyOVWUGSyieo9DsZI5O5xSivKjWv2nOG STiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature; bh=gl5V0cknPwN3AphuKXaYtx6WX76Z7z1/xGGIE+hSiME=; b=Ir1S+tjR0ud9BmUdDk/wuV1My1H7Y/Fs6VrbpROQbq5DjixwiD5jFqwoQiuG5gmAOA joqeHwG7Ntf6JzlNpYZbIuIYnSfpSAxs0mAHON04Jvg9111V+RWseovcN5u1pxEgnwh9 C6CuL3rzr9lHbWxxscVhE2O81MlhraEl8EG1pc5DOCdLCB4/lVhNN7MYIfLFfGolxoS9 080hz4LARiacFYGocjY6B1UqKyS7/UsYpwT7rX3gVyNAVfGXblOrjDb8Doj7KgJDCI9a 93sDGHGTMpQw86oc5U+a9CnGzGP6/tW4nbmsVQZqTx6XYz0cNfXv2mPRbW5XvZ2D/axa yTig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="m/qnAjAW"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j74si4106196otj.246.2020.01.28.05.22.02; Tue, 28 Jan 2020 05:22:16 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="m/qnAjAW"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726073AbgA1NVD (ORCPT + 99 others); Tue, 28 Jan 2020 08:21:03 -0500 Received: from mail.kernel.org ([198.145.29.99]:58080 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725852AbgA1NVD (ORCPT ); Tue, 28 Jan 2020 08:21:03 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 722502467B; Tue, 28 Jan 2020 13:21:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580217662; bh=6yMPyzyzgayEIhWQisn5URP1nsUaexkHHx5nPCWZHxE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=m/qnAjAWjKa7ujJV4+9bpIdnM8mieHm/wpjVEvkvRm9L3PYJnE5/FmP+1SvRPtqBR Tr6tDlVON4RnWc0Q/zVwJ2TH8GGOHQ0Z/AQT2Zyb7H/gS7g2HcGKX1gUmwAPkHvQTu b8olEF31GK411fPrGLjVPuPn58DV+ShN/oweXQ50= Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1iwQnc-001ofc-Hp; Tue, 28 Jan 2020 13:21:00 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 28 Jan 2020 13:21:00 +0000 From: Marc Zyngier To: Yash Shah Cc: linus.walleij@linaro.org, bgolaszewski@baylibre.com, palmer@dabbelt.com, paul.walmsley@sifive.com, wesley@sifive.com, atish.patra@wdc.com, linux-gpio@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, sachin.ghadi@sifive.com Subject: Re: [PATCH] gpio/sifive: fix static checker warning In-Reply-To: <1580189061-14091-1-git-send-email-yash.shah@sifive.com> References: <1580189061-14091-1-git-send-email-yash.shah@sifive.com> Message-ID: X-Sender: maz@kernel.org User-Agent: Roundcube Webmail/1.3.8 X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: yash.shah@sifive.com, linus.walleij@linaro.org, bgolaszewski@baylibre.com, palmer@dabbelt.com, paul.walmsley@sifive.com, wesley@sifive.com, atish.patra@wdc.com, linux-gpio@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, sachin.ghadi@sifive.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020-01-28 05:24, Yash Shah wrote: > Typcasting "irq_state" leads to the below static checker warning: > The fix is to declare "irq_state" as unsigned long instead of u32. > > drivers/gpio/gpio-sifive.c:97 sifive_gpio_irq_enable() > warn: passing casted pointer '&chip->irq_state' to > 'assign_bit()' 32 vs 64. > > Fixes: 96868dce644d ("gpio/sifive: Add GPIO driver for SiFive SoCs") > Reported-by: Dan Carpenter > Signed-off-by: Yash Shah > --- > drivers/gpio/gpio-sifive.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpio/gpio-sifive.c b/drivers/gpio/gpio-sifive.c > index 147a1bd..c54dd08 100644 > --- a/drivers/gpio/gpio-sifive.c > +++ b/drivers/gpio/gpio-sifive.c > @@ -35,7 +35,7 @@ struct sifive_gpio { > void __iomem *base; > struct gpio_chip gc; > struct regmap *regs; > - u32 irq_state; > + unsigned long irq_state; > unsigned int trigger[SIFIVE_GPIO_MAX]; > unsigned int irq_parent[SIFIVE_GPIO_MAX]; > }; > @@ -94,7 +94,7 @@ static void sifive_gpio_irq_enable(struct irq_data > *d) > spin_unlock_irqrestore(&gc->bgpio_lock, flags); > > /* Enable interrupts */ > - assign_bit(offset, (unsigned long *)&chip->irq_state, 1); > + assign_bit(offset, &chip->irq_state, 1); > sifive_gpio_set_ie(chip, offset); > } > > @@ -104,7 +104,7 @@ static void sifive_gpio_irq_disable(struct irq_data > *d) > struct sifive_gpio *chip = gpiochip_get_data(gc); > int offset = irqd_to_hwirq(d) % SIFIVE_GPIO_MAX; > > - assign_bit(offset, (unsigned long *)&chip->irq_state, 0); > + assign_bit(offset, &chip->irq_state, 0); > sifive_gpio_set_ie(chip, offset); > irq_chip_disable_parent(d); > } Yup, nice one. Should have spotted it. Reviewed-by: Marc Zyngier Linus, do you want me to queue this via the irqchip tree (given that it is where the original bug came from)? Or would you rather take it? M. -- Jazz is not dead. It just smells funny...