From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757646AbbKGDba (ORCPT ); Fri, 6 Nov 2015 22:31:30 -0500 Received: from mail-io0-f176.google.com ([209.85.223.176]:36607 "EHLO mail-io0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750813AbbKGDb2 (ORCPT ); Fri, 6 Nov 2015 22:31:28 -0500 MIME-Version: 1.0 In-Reply-To: References: <20151105.163959.1438115257720770769.davem@davemloft.net> From: Julian Calaby Date: Sat, 7 Nov 2015 14:31:08 +1100 Message-ID: Subject: Re: [GIT] Sparc To: Julia Lawall Cc: Linus Torvalds , David Miller , Andrew Morton , sparclinux , Linux Kernel Mailing List , kernel-janitors@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Julia, On Fri, Nov 6, 2015 at 5:44 PM, Julia Lawall wrote: > On Fri, 6 Nov 2015, Julian Calaby wrote: > >> Hi Linus, >> >> On Fri, Nov 6, 2015 at 11:56 AM, Linus Torvalds >> wrote: >> > On Thu, Nov 5, 2015 at 4:43 PM, Linus Torvalds >> > wrote: >> >> >> >> Not that this *matters*, but it's a bit odd to have to cast constants >> >> to perfectly regular C types. >> > >> > Looking around with "git grep", there's a few more of these. >> > >> > - btrfs seems to like "(unsigned long)-1" >> > >> > There's a few other users of that too, including more sparc uses. >> > >> > - scsi/qla seems to like "(unsigned long)" >> > >> > - fmdrv_common.h seems to like "((unsigned long)1<> > >> > along with a smattering of random noise all over of "(unsigned long) >> > n" where 'n' is some integer. >> > >> > Apparently people aren't as aware of the normal "ul" postfix syntax as >> > I would have expected. That said, it's a hundred-odd cases in all of >> > the kernel, so it's still fairly rare. >> >> Maybe this is something the kernel-janitors team should look at? (CC'd) > > Do you have some concrete examples of the code that is undesirable? Joe Perches produced a patch for checkpatch to check for this [1] Linus was complaining [2] about people producing constants with casts to basic C types in them. For instance: #define IOMMU_ERROR_CODE (~(unsigned long) 0) This could be replaced with #define IOMMU_ERROR_CODE (~0ul) or potentially #define IOMMU_ERROR_CODE (-1ul) It's not overly common, but it looks wrong. Thanks, Julian Calaby [1] https://lkml.org/lkml/2015/11/6/48 [2] https://lkml.org/lkml/2015/11/5/785 -- Julian Calaby Email: julian.calaby@gmail.com Profile: http://www.google.com/profiles/julian.calaby/ From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julian Calaby Date: Sat, 07 Nov 2015 03:31:08 +0000 Subject: Re: [GIT] Sparc Message-Id: List-Id: References: <20151105.163959.1438115257720770769.davem@davemloft.net> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Julia Lawall Cc: Linus Torvalds , David Miller , Andrew Morton , sparclinux , Linux Kernel Mailing List , kernel-janitors@vger.kernel.org Hi Julia, On Fri, Nov 6, 2015 at 5:44 PM, Julia Lawall wrote: > On Fri, 6 Nov 2015, Julian Calaby wrote: > >> Hi Linus, >> >> On Fri, Nov 6, 2015 at 11:56 AM, Linus Torvalds >> wrote: >> > On Thu, Nov 5, 2015 at 4:43 PM, Linus Torvalds >> > wrote: >> >> >> >> Not that this *matters*, but it's a bit odd to have to cast constants >> >> to perfectly regular C types. >> > >> > Looking around with "git grep", there's a few more of these. >> > >> > - btrfs seems to like "(unsigned long)-1" >> > >> > There's a few other users of that too, including more sparc uses. >> > >> > - scsi/qla seems to like "(unsigned long)" >> > >> > - fmdrv_common.h seems to like "((unsigned long)1<> > >> > along with a smattering of random noise all over of "(unsigned long) >> > n" where 'n' is some integer. >> > >> > Apparently people aren't as aware of the normal "ul" postfix syntax as >> > I would have expected. That said, it's a hundred-odd cases in all of >> > the kernel, so it's still fairly rare. >> >> Maybe this is something the kernel-janitors team should look at? (CC'd) > > Do you have some concrete examples of the code that is undesirable? Joe Perches produced a patch for checkpatch to check for this [1] Linus was complaining [2] about people producing constants with casts to basic C types in them. For instance: #define IOMMU_ERROR_CODE (~(unsigned long) 0) This could be replaced with #define IOMMU_ERROR_CODE (~0ul) or potentially #define IOMMU_ERROR_CODE (-1ul) It's not overly common, but it looks wrong. Thanks, Julian Calaby [1] https://lkml.org/lkml/2015/11/6/48 [2] https://lkml.org/lkml/2015/11/5/785 -- Julian Calaby Email: julian.calaby@gmail.com Profile: http://www.google.com/profiles/julian.calaby/