Received: by 10.223.185.116 with SMTP id b49csp5106613wrg; Tue, 27 Feb 2018 07:55:35 -0800 (PST) X-Google-Smtp-Source: AH8x224/4awESuKGArPgArI6MFX7W4s4eM7+xhYwy/5UAem/YXMx9zTWTXhykM9irLh+Xu141wlh X-Received: by 10.99.126.24 with SMTP id z24mr11487026pgc.343.1519746934983; Tue, 27 Feb 2018 07:55:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519746934; cv=none; d=google.com; s=arc-20160816; b=dp9hgL5CZig1FmP9dUK1eeIllFI1aQqkkg9l4oNA08aiM6DOI5JiWtF+qaSJREZ6tz jGVssrI90E3oj4F+mYfJXskM0dc7uE5BaBCUn22+PvlbzL/2JcTEpvoL/4kKe9aqQoMa 5c0bqULRZBE3pmwSGSD9Zv4M8tSYqq7gFK652ehAtdAsCcppgxAB8w8xl/UDS8Zglt9J bpXvOTn16duZQUWOle2n/QFKIIa9Unur5XNXjv3Y9qrvOUtoCVtReq/v5Jx96yqwlW8e wdAEiDlnpAeqch/LWipLvy9r0goMbE8RpSPhp1ugMKN8ByX4JB1q2thjtSquUP8Qn2xQ fwcA== 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=MBI/s2FqoSsK/3/wO491fTeHrD5V+M0vhrf0eAGJwHY=; b=YFwVTsATc6Ln6e7vNfeUlJtUf1Fl2nynzeOxpw9AQeHzKuBlbMJ+Myen4DojSo2BWT xRvz+Mfz3LdpjZsjKNuO9Fu75DMVAUUCPK5uVJpDCvn95SnVz3jh+nUfIiAA+J9r2piW ukOifhOVR0wd4Ujl3OAhpACmSWttwT6NuxSJRwx/UmHGsrO42OFRCF5CzNZUC4igkbht rhlJ5mhdJPUp5y2aLwhlIOfmtEf8WR9+wBAtfa7ieQzZw0+HhqpGL2D2m0dRpbantUK1 2AFoFUIUsVb1H4SZgocm49YF/290bQZrra8nhw2/lzb6LXW2U42Ql8LrI6jqLuVHvtA8 MaSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tvVLduXY; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n13si7203510pgc.528.2018.02.27.07.55.19; Tue, 27 Feb 2018 07:55:34 -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=@gmail.com header.s=20161025 header.b=tvVLduXY; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754197AbeB0PyE (ORCPT + 99 others); Tue, 27 Feb 2018 10:54:04 -0500 Received: from mail-qk0-f196.google.com ([209.85.220.196]:34416 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753726AbeB0PyC (ORCPT ); Tue, 27 Feb 2018 10:54:02 -0500 Received: by mail-qk0-f196.google.com with SMTP id l206so24120169qke.1; Tue, 27 Feb 2018 07:54:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=MBI/s2FqoSsK/3/wO491fTeHrD5V+M0vhrf0eAGJwHY=; b=tvVLduXYH7M8Mt+4UZM/yDH12jrIDrKUFNu8bSxDZKhX66sG1S7ievOzz2QjKXMVKU QeKHhCFymaYa9aq0r2shWP1cazaYOQKkO5gF1S/GtWTKIgB4xOCDZMEl0skwjSO4uxIS fOKZ8YhdqN8UEnKxIIQiUtIn1ESEWIrF6czaStcOwjuBVwSWJTmeJb1f/HAXP/y5fWkw etDM7AnjdFwWuMGl9e0KjF8Rkt2R9xzsYRXmWN0bXTy6o2wL85Tl9IeQYQv/aiwJ3WTI ZGH2jUxCYjMd0+psLzmpOsKFQ2rfU1HXrR+TDFQdYPRIKUFNoMDZpoaw1s9yoAEvrlGv lCiw== 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=MBI/s2FqoSsK/3/wO491fTeHrD5V+M0vhrf0eAGJwHY=; b=XCBtGShUxO3SM1nvUzeuGbXkMz6n+/2OM+ocEtFZ8EyFIFOSyAmijzwxVRmEb2zNEh vK7n72uijsAq2/vwc9McMsOGLHCxRNRAedgnym9Ozko+SXMEsYdOhCMt8PsLkmxSh9wQ xigQrZWar3d+4h+P4zZqWzdcKckhDSNf8t4Sq3bwTypawi/g/2vI6aAvQMKDd/gVg3tc MqQCkKJflgVf7XCwk31FrdPiuHARgODXKSszSzfMfY/hpVsC/wU8dkickHEI/pC9vEvn ta+5r0AaPEAWl+maHVfqJqkgbO0XqcyU7quUABV1pHJJkNYBOw0+ooDIKjOcHF/eBNZq vKcg== X-Gm-Message-State: APf1xPB40TcXA/Hkp1uJIr5Dt+s4CpuiUw53GGBTxhPi5jpWymc8sWV+ vhWZmXz4EdDud1XstU36TBDeHWvdKNoxUPOBbv88x4Pw X-Received: by 10.55.16.196 with SMTP id 65mr23832210qkq.110.1519746841516; Tue, 27 Feb 2018 07:54:01 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.195.80 with HTTP; Tue, 27 Feb 2018 07:54:00 -0800 (PST) In-Reply-To: References: <334505d3a13a73ad347427b408ed581832434289.1519468782.git.baolin.wang@linaro.org> From: Andy Shevchenko Date: Tue, 27 Feb 2018 17:54:00 +0200 Message-ID: Subject: Re: [PATCH v2 3/3] gpio: Add Spreadtrum PMIC EIC driver support To: Baolin Wang 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 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. -- With Best Regards, Andy Shevchenko