From patchwork Wed Jun 20 18:25:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joe Perches X-Patchwork-Id: 10478489 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DBB5D60210 for ; Wed, 20 Jun 2018 18:31:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BDF6628A09 for ; Wed, 20 Jun 2018 18:31:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B0EF728B37; Wed, 20 Jun 2018 18:31:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3E61028A09 for ; Wed, 20 Jun 2018 18:31:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752133AbeFTSbs (ORCPT ); Wed, 20 Jun 2018 14:31:48 -0400 Received: from smtprelay0178.hostedemail.com ([216.40.44.178]:33091 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752121AbeFTSbr (ORCPT ); Wed, 20 Jun 2018 14:31:47 -0400 X-Greylist: delayed 394 seconds by postgrey-1.27 at vger.kernel.org; Wed, 20 Jun 2018 14:31:47 EDT Received: from smtprelay.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by smtpgrave01.hostedemail.com (Postfix) with ESMTP id DC5771800D140 for ; Wed, 20 Jun 2018 18:25:14 +0000 (UTC) Received: from filter.hostedemail.com (clb03-v110.bra.tucows.net [216.40.38.60]) by smtprelay08.hostedemail.com (Postfix) with ESMTP id DDAAD182CED34; Wed, 20 Jun 2018 18:25:12 +0000 (UTC) X-Session-Marker: 6A6F6540706572636865732E636F6D X-HE-Tag: wrist12_1008fc6f71b63 X-Filterd-Recvd-Size: 3674 Received: from XPS-9350.home (unknown [47.151.150.235]) (Authenticated sender: joe@perches.com) by omf08.hostedemail.com (Postfix) with ESMTPA; Wed, 20 Jun 2018 18:25:10 +0000 (UTC) Message-ID: Subject: Re: [PATCH v2 2/2] hwmon: npcm750: add NPCM7xx PWM and Fan driver From: Joe Perches To: Guenter Roeck , Tomer Maimon , Julia Lawall , cocci Cc: robh+dt@kernel.org, mark.rutland@arm.com, jdelvare@suse.com, avifishman70@gmail.com, yuenn@google.com, brendanhiggins@google.com, venture@google.com, joel@jms.id.au, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, openbmc@lists.ozlabs.org Date: Wed, 20 Jun 2018 11:25:08 -0700 In-Reply-To: <20180620164853.GA3459@roeck-us.net> References: <20180619105352.97181-1-tmaimon77@gmail.com> <20180619105352.97181-3-tmaimon77@gmail.com> <20180620164853.GA3459@roeck-us.net> X-Mailer: Evolution 3.28.1-2 Mime-Version: 1.0 Sender: linux-hwmon-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP (adding Julia Lawall and cocci mailing list) On Wed, 2018-06-20 at 09:48 -0700, Guenter Roeck wrote: [] > > +static inline void npcm7xx_fan_start_capture(struct npcm7xx_pwm_fan_data *data, > > + u8 fan, u8 cmp) > > +{ > > + u8 fan_id = 0; > > + u8 reg_mode = 0; > > + u8 reg_int = 0; > > + unsigned long flags; > > + > > + fan_id = NPCM7XX_FAN_INPUT(fan, cmp); > > + > > + /* to check whether any fan tach is enable */ > > + if (data->npcm7xx_fan[fan_id].FanStFlag != FAN_DISABLE) { > > + /* reset status */ > > + spin_lock_irqsave(&data->npcm7xx_fan_lock[fan], flags); > > + > > + data->npcm7xx_fan[fan_id].FanStFlag = FAN_INIT; > > + reg_int = ioread8(NPCM7XX_FAN_REG_TIEN(data->fan_base, fan)); > > + > > + if (cmp == NPCM7XX_FAN_CMPA) { > > + /* enable interrupt */ > > + iowrite8((u8) (reg_int | (NPCM7XX_FAN_TIEN_TAIEN | > > + NPCM7XX_FAN_TIEN_TEIEN)), > > Is the (u8) typecast really necessary ? Seems unlikely. The cast is not really necessary here as there would be an implicit cast already. Some might complain about loss of type safety and "make W=123" would probably emit something here. But casts to the same type are not necessary. A possible coccinelle script to find casts to the same type is below, but there are some false positives for things like __force and __user casts Also, spatch (1.0.4) seems to have a defect for this when the type is used in operations that change a smaller type to int or unsigned int. i.e.: (offset is u16, but offset * 2 is int) While running the cocci script below: HANDLING: drivers/net/ethernet/intel/igb/e1000_nvm.c --- Anyway, here's the cocci script: $ cat same_typecast.cocci @@ type T; T foo; @@ - (T *)&foo + &foo @@ type T; T foo; @@ - (T)foo + foo -- To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff = diff -u -p a/drivers/net/drivers/net/ethernet/intel/igb/e1000_nvm.c b/drivers/net/ethernet/intel/igb/e1000_nvm.c --- a/drivers/net/ethernet/intel/igb/e1000_nvm.c +++ b/drivers/net/ethernet/intel/igb/e1000_nvm.c @@ -335,7 +335,7 @@ s32 igb_read_nvm_spi(struct e1000_hw *hw /* Send the READ command (opcode + addr) */ igb_shift_out_eec_bits(hw, read_opcode, nvm->opcode_bits); - igb_shift_out_eec_bits(hw, (u16)(offset*2), nvm->address_bits); + igb_shift_out_eec_bits(hw, (offset * 2), nvm->address_bits); /* Read the data. SPI NVMs increment the address with each byte * read and will roll over if reading beyond the end. This allows