Received: by 10.223.185.116 with SMTP id b49csp2704354wrg; Sun, 25 Feb 2018 04:20:50 -0800 (PST) X-Google-Smtp-Source: AH8x226IyGhkEI5DUDt8uqPb3mSD/ib1jhNSwCZdhl/JVolS5OUVbiI3+c3yzQ+xPp01UO7/HTzZ X-Received: by 2002:a17:902:b604:: with SMTP id b4-v6mr7460385pls.448.1519561250034; Sun, 25 Feb 2018 04:20:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519561250; cv=none; d=google.com; s=arc-20160816; b=JRk14zheHpH+SK3R1G6thkIaime8WL+ngAgty8oe0vJD+LMAhrtOk1NJRmDXc8+gT9 uS5gY6pS9qQpq0fPMkAjgd0WQ43169Lp6+9Y8AElaaRgncAqH2N1lEajb9SHs/JP0oFf bP0ICvo30bXjNFogneZ7WWI4Z/XWbH6/QyEab14soJFVwRWEe3hzuaZ7S7edVbmX0j3X o/7ItfJ3jQjMLGH5Q0LC6Iz2qfHMLycs9s7pk1DfM+ihwXQLntQAaOW+1kkTnedY0z8A 0VNOtODZmgoWdPGfVr6AiIfEJ2y/iUdoHDdtsZLIVJUQrp72mv+Gtm+XgbOQ5tF5pkZt 54mw== 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=aQT5nulI6LUYWMeJTAAA+5sOidVQIUfIJl6melr5dfs=; b=0cbVScE4yZj2/+WPhgSmeS3PgLcr2arqx0lWW+OUBQdmfwfHfinrXSwazjo4hms40o oId8KtRBzfu3WXz3yAsvALT6niqbuZ9Y18SKSFps2X8rd+5IaXu8v94pEs5fvUeGKphQ dPEgMa1oMklcsbvEAjJfbPpYPfXii/wdMo45G/49UDNjZiv6tPu0EVHF+yMYzzcIJvao w1IQB5D7wWJ6oRNcEe+iVJvsxH9GNj+G3+ZYhy97xnrif95hHrUJymvFiWNqL5PZW1sO JmGYS+RZ1j2eyxZ0faFLzzciBtnzzz+03Pnrd+cyQP6QJ6X+t0Lp+hsZDQLAUP2wzSxg L4UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=eFIQvUOP; 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 y40-v6si5054260pla.769.2018.02.25.04.20.35; Sun, 25 Feb 2018 04:20:49 -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=eFIQvUOP; 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 S1751699AbeBYMTz (ORCPT + 99 others); Sun, 25 Feb 2018 07:19:55 -0500 Received: from mail-qk0-f194.google.com ([209.85.220.194]:46033 "EHLO mail-qk0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751542AbeBYMTx (ORCPT ); Sun, 25 Feb 2018 07:19:53 -0500 Received: by mail-qk0-f194.google.com with SMTP id g2so16001406qkd.12; Sun, 25 Feb 2018 04:19:52 -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=aQT5nulI6LUYWMeJTAAA+5sOidVQIUfIJl6melr5dfs=; b=eFIQvUOPQsfb54TQc43FwV4vB0ZSISo50RX1IFRglbCWIXAxPMdW+3kXYU+SNPORty U5XiDbpPcOTpEQ6myO1cX208uEEyxl1vHTWQ1VNz8x7afLCmkqBj5wUsWttTEAC5dI4U +iTs8B400AdCNgS9n0cR3LtVArU+9UQ3bcyS3//KDLJKMgqTx2uAYm85hvRLjzrOgUWc O/BfnMRUr7KSk5280VMVc9BGL55jmf2Nvwc0XnaEhyM0Hm1D7cQXDHp9uVJOVc5hlDMH EJ5KqILcyZ5AvyGJZQCsCHOV0RfeQEvCdUUd384/AHc298yOHa07UUSHo0LsEhoD3Ii+ UeQA== 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=aQT5nulI6LUYWMeJTAAA+5sOidVQIUfIJl6melr5dfs=; b=s97M+3JHnSfPQek+YfC2ydDsRn4ujrS+RIrxond6O8TspxfSIeH+bOFc959nyWdjHx 7wxzpVWGBBMf3Ci02AUxq3896yu0O2oSyZWYrSOD8JWRrKQGvwLyzQ0F08SFabCdzSgL CpB03euRYSvL0zM3uMSwx0pJvRLywLIXwNdC1RfFM7u35UD8huJg7hyopRIGAPs99nI+ xA3yPfJ6tTPM6IvVSFQgsnRtY3UFospRix/CNLt/vUgIjIuBcRHe5m/o7k7KjzCOB0V3 Pw5eRTIRoKWl+hVmmOxQyMBOqi3qFZOxEDylvSeGFY5pM2I0x+lxFrq9MJC4awynDd0u XfjA== X-Gm-Message-State: APf1xPBi9B1tzMTMsw33gZaC1bTOgr3PYXgEWbIb4LenoCOe1MlQY7Xo LIR4pYHLqHiBKpFJFZcBa2jowm1IMzcvJ8i9u98= X-Received: by 10.55.207.82 with SMTP id e79mr8410706qkj.219.1519561192269; Sun, 25 Feb 2018 04:19:52 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.195.80 with HTTP; Sun, 25 Feb 2018 04:19:51 -0800 (PST) In-Reply-To: References: <334505d3a13a73ad347427b408ed581832434289.1519468782.git.baolin.wang@linaro.org> From: Andy Shevchenko Date: Sun, 25 Feb 2018 14:19:51 +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 Sat, Feb 24, 2018 at 12:44 PM, Baolin Wang wrote: > The Spreadtrum PMIC EIC controller contains only one bank of debounce EIC, > and this bank contains 16 EICs. Each EIC can only be used as input mode, > as well as supporting the debounce and the capability to trigger interrupts > when detecting input signals. > +/* > + * These registers are modified under the irq bus lock and cached to avoid > + * unnecessary writes in bus_sync_unlock. > + */ > +enum { REG_IEV, REG_IE, REG_TRIG, CACHE_NR_REGS }; One item per line. > +static int sprd_pmic_eic_direction_input(struct gpio_chip *chip, > + unsigned int offset) > +{ > + /* EICs are always input, nothing need to do here. */ > + return 0; > +} > + > +static void sprd_pmic_eic_set(struct gpio_chip *chip, unsigned int offset, > + int value) > +{ > + /* EICs are always input, nothing need to do here. */ > +} Remove both. Look at what GPIO core does. > + value |= debounce / 1000; Possible overflow. > + 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. -- With Best Regards, Andy Shevchenko