Received: by 10.223.185.116 with SMTP id b49csp5662727wrg; Tue, 27 Feb 2018 18:23:25 -0800 (PST) X-Google-Smtp-Source: AH8x225wbbTbRl/DlS7KlpNh9sGK3SLWctEFoks1KkQnorCCGh2Q1Yf2CK4jzrGsIbRCW1qZ6yv9 X-Received: by 10.99.145.199 with SMTP id l190mr12462130pge.397.1519784605115; Tue, 27 Feb 2018 18:23:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519784605; cv=none; d=google.com; s=arc-20160816; b=cRKlUWLI4MHL8H4GG4YVjCrYu1T2RHZRvjOx3ATFUi57p4XrG/UIMbrURzv7JymCMo 6XUZbAWqeRaljdLnvc62sgEvw3nTMYy/wipM6BG9G8y6H/61FpR7gneYhZN0kkjKFpk6 NhsLQndThPhEc2NE56PnQk2no+y8ZK5LDIVQSilB3JGfHsr77QeyOyFPPAC8lQxea+7t fCEWtj7yWufBKrotck3mRHgCrdxrUC6AZ/oBfDAhUab2Kw6jvNwZ9vfwW2uqWRQGW1fP 4SUaI5Ii3p7RlO0cyOSDP1Bna7UBKkXNBVs5ZSvsk++cyTsKsDMUyjy+TF5jQIQD/sqG 9/rQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=OA5DK/c6+9CUJG0ZqGEmWNtoDREBxxngMUejN+ozCX8=; b=rMEp9vQYctxGC1zuOsZSJE7iczCiFjeDYcK74dmarvbkVD8JjS1BQDsEY3zfn0FoH0 ZBAw1DlELu+3YUtberVHM7wqPLCz39IbPOGlWNNWBkhFeZZwHEZ951f6UMJb3d0VnRJ4 PW2V+Z4iQ5healjO7hayRzrmrUcU2x9YDzRRT2j6/2sPVoKtlj5pwiKCCkAensdhmmIm Jl1vq5jbGwENXjJxFgFTX8e1nNG5udQ3yt1WQF78h0LpZWAqQ/q089U4RJv4cCDkHhZZ 4bLeBbRsbJrMWIq2v4NceBOdOauP7aaYuLxE2bzVYdUKZZDzKaLIJy34UHXjDcuxlyUK vVyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ewkYU12W; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o1-v6si395940pld.546.2018.02.27.18.23.10; Tue, 27 Feb 2018 18:23:25 -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=@linaro.org header.s=google header.b=ewkYU12W; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751689AbeB1CWL (ORCPT + 99 others); Tue, 27 Feb 2018 21:22:11 -0500 Received: from mail-ot0-f196.google.com ([74.125.82.196]:46714 "EHLO mail-ot0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751611AbeB1CWJ (ORCPT ); Tue, 27 Feb 2018 21:22:09 -0500 Received: by mail-ot0-f196.google.com with SMTP id g97so851102otg.13 for ; Tue, 27 Feb 2018 18:22:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=OA5DK/c6+9CUJG0ZqGEmWNtoDREBxxngMUejN+ozCX8=; b=ewkYU12WKmyNMpCMIr2A5nlKKBn8jREWipxlrR2+lqysOpP6KpMCHYm0jHuKUoBdhM b6fLhosbGlNthDrfCmh3OFxeda6u16z4/0xfU5IFfuv3vnI1+3i6mPIdyVO2yYcA0ZzC Xy8rxsGu+xfZ/xVusovUyIJ+s3e5qYc+ST48U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=OA5DK/c6+9CUJG0ZqGEmWNtoDREBxxngMUejN+ozCX8=; b=FRhFmpYEyVvQ2h1y68Zq3tlOdGZBjUcBLsZ27jXfJOB3sgtGWA4LMXSMYA12lUxvHG s+ySvlPW0idEuGy9Ij8WSifExZz7pujsioepNn/2mSP25w3YtGlcLOqqD1MYxTVvH2d+ +PXMCWur+kamIjiUv3yLvQlqcgzRr3Tl0zmiVsQS6BfAazCUfYlMIUAX9He188/evRWn fhSSfGH7KyUEcG7pCd73N+HDtZgGLcSGs4jMmVXceqOaautXz8tpFp1p723Tco5fKl/X HS55lh72bFKvI0j1JR2btN6hFebXqwEBJJPFy70Pnb+8YHif4u7aOibY0HAsu9b/i6eL iozA== X-Gm-Message-State: APf1xPA6+10OouT2yOQl4RUzNc++lGSxXQLwffRKan1GUNQK99v9x/9N aAmxF+xo5PO1ynj96l/mSJoVCSgXPWx4BtHk2ciIFQ== X-Received: by 10.157.60.112 with SMTP id j45mr12268924ote.141.1519784529223; Tue, 27 Feb 2018 18:22:09 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.96.5 with HTTP; Tue, 27 Feb 2018 18:22:08 -0800 (PST) In-Reply-To: References: <334505d3a13a73ad347427b408ed581832434289.1519468782.git.baolin.wang@linaro.org> From: Baolin Wang Date: Wed, 28 Feb 2018 10:22:08 +0800 Message-ID: Subject: Re: [PATCH v2 3/3] gpio: Add Spreadtrum PMIC EIC driver support To: Andy Shevchenko Cc: Linus Walleij , Rob Herring , Mark Rutland , devicetree , Linux Kernel Mailing List , "open list:GPIO SUBSYSTEM" , Mark Brown Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27 February 2018 at 23:54, Andy Shevchenko wrote: > On Tue, Feb 27, 2018 at 4:35 AM, Baolin Wang wrote: >> On 26 February 2018 at 20:02, Andy Shevchenko wrote: >>> On Mon, Feb 26, 2018 at 5:01 AM, Baolin Wang wrote: >>>> On 25 February 2018 at 20:19, Andy Shevchenko wrote: > >>>>>> + for (n = 0; n < chip->ngpio; n++) { >>>>>> + if (!(BIT(n) & val)) >>>>> >>>>> for_each_set_bit(). >>>>> >>>>> At some point you may need just to go across lib/ in the kernel and >>>>> see what we have there. >>>> >>>> I've considered the for_each_set_bit(), it need one 'unsigned long' >>>> type parameter, but we get the value from regmap is 'u32' type. So we >>>> need one extra conversion from 'u32' to 'unsigned long' like: >>>> >>>> unsigned long reg = val; >>>> >>>> for_each_set_bit(n, ®, chip->ngpio) { >>>> ....... >>>> } >>>> >>>> If you like this conversion, then I can change to use >>>> for_each_set_bit(). Thanks. >>> >>> Wouldn't it work like >>> >>> unsigned long val; >>> >>> ...regmap_read(..., &val); >>> >>> ? >> >> It can not work, regmap_read() expects 'unsigned int *'. > > Ah, OK, than the temporary variable is a left approach. > >> But I can >> convert it like this: >> >> for_each_set_bit(n, (unsigned long *)&val, chip->ngpio) { >> ....... >> } > > No, this is a boilerplate for static analyzers and definitely UB. OK. Thanks for pointing this issue out. -- Baolin.wang Best Regards