From patchwork Mon May 20 17:21:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 164660 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp550826ili; Mon, 20 May 2019 10:23:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqwULBNjXzqZQ+xAs6mwsUwfTo2VUzl3W3I17tMICfYqctApgyaf+Qc51KblVv2RDA3EAwwW X-Received: by 2002:a63:b706:: with SMTP id t6mr70739956pgf.305.1558373026994; Mon, 20 May 2019 10:23:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558373026; cv=none; d=google.com; s=arc-20160816; b=ymBQVo3RmmxF/w8CH4GdLml5NcwcMl+m/sOhlCEFo/x7M2YVjnW6QRswMaJ9oJMVXq lvdgJkpwdpbeZttpqKvxYkG7HHP4bKZOO1sJiEvYLqDBSsskVpViTP1ANQ3uc6OxqaC2 zwTQHVNH4CMZfqSz2rEbWZFUIwmetq1OyhXp9s1C4L6qcE1x+Lv8RB27iZZ9V6urnRxh 6Wwshj6x+k+t/7MemFvbZPXEMn/VzqmQJjC3DnOsS9dTlAtWv71zOy/4aCMcUDpsOw/f fIOPaFx5YTqlUzZt3OryNcCUINrRMD60unDdlD82mwAq4kc3VsAHhj77nbcNJ2nzzDrC apSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=/XllLktKT+RmUaf9RIAEUli+Wt4Aghgk5ujtbcVtYIU=; b=UGFlt2kNExbi+B17Z49cByxoyWQ02S28ahqYYIXQBvSdKvSwvviiD7VhIhPvBFfTPW rzx6JSotZQrBU5PH4aqMQiQmtKvLIdokECB0ga0f5pJJzLpOGsRa5Iafra4z5moI52Bu KC8Xu+0VNmxwLHvAwmKGjCLULLdoZQud4L/rxNpAUbF2jYs4wDEzNB2vOPR92SdvxeiF WCzHUI7ths3D280wtTvbfpqVtwTtmtdHJ+lDUDngqZSJNQsiIu2u0UGJ9Dxq4DRBGkM0 kuPJ+2CKb5X+FrANdkzCqFeATPuzeTrj8367c+dspQGxoTZzVrftYJKGgdiNBmeDrmk4 j7iQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=xS5vIR5W; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-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 q11si18420262pgf.519.2019.05.20.10.23.46; Mon, 20 May 2019 10:23:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-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=xS5vIR5W; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-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 S2392856AbfETRXq (ORCPT + 14 others); Mon, 20 May 2019 13:23:46 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:45628 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730508AbfETRXp (ORCPT ); Mon, 20 May 2019 13:23:45 -0400 Received: by mail-lj1-f194.google.com with SMTP id r76so13190015lja.12 for ; Mon, 20 May 2019 10:23:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/XllLktKT+RmUaf9RIAEUli+Wt4Aghgk5ujtbcVtYIU=; b=xS5vIR5Wqk8T0np8EZ1RMfB4FRajZp/gOzlrKdVIjK2BoJwYolJqeCIyT4g+aAQ2+t Dy+Azz96b1Wf31SPKnneU5G/ssAnxOqtsEGj0xuuaelKKcaVmzFs5ATOYTtEdLPnx1sf Sx84UgPIJm/cmFvCNCBF9KJQgI2blFs3pHJORu1xNkQP5ZO9+eodrra484x0yX/wHfFS BKe71vG1csfo+dticSsHgZWJk+AAUo8pJJfjScor7KVZ37xEUJMIBqxca/xEjdH2PsBW FpeA+Dg9LcpXKGZnB+/I6v+VkqNPCrA6EfSBVlIDSfcByV+VBr2ovI16J9n8XiK2dEAN 4/8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/XllLktKT+RmUaf9RIAEUli+Wt4Aghgk5ujtbcVtYIU=; b=fx4dZ9aD5Ufmblt7HtSjwZ9xQZbNATHx/Kwy5MmFE6hyL+LVsSrs/neyHjFObU8ZBh 8MKc9NoK+F08aC8jAFotuEQy01HSfI0DEf4uJkMu8CE7GnI8Hw8UAcj9TLDmgKLnl+MP jy+GLvdgdQGWuV2QWDgjvQxRlpfWfukNrzSyhv5KKzZtt+40EZZ0RIgQE4pHrx5qtKW1 pBA2JLvjOD1Tb6iPtvC83Ac+wX/JtsdOZa3H+YIyXuZodViYdpxAh8hnkhsDV46WlAzu W/vQu3S5hrtiRVNfgjfDEyIxhZ75rID9MXPDMmrWfgGoK8EcE+DS9qAA5Y4ge+W7TZx/ Xr8Q== X-Gm-Message-State: APjAAAVbI6FXx3dOzGwLtqqXY9zapi0GjRPpi2A1Rnvu9qrEu0ildXCg GkQJuNSH8F8i+1G4ONZmi+KjSg== X-Received: by 2002:a2e:1f02:: with SMTP id f2mr37362997ljf.86.1558373023429; Mon, 20 May 2019 10:23:43 -0700 (PDT) Received: from localhost.localdomain (c-d2cd225c.014-348-6c756e10.bbcust.telenor.se. [92.34.205.210]) by smtp.gmail.com with ESMTPSA id f189sm4117149lfe.66.2019.05.20.10.23.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 20 May 2019 10:23:42 -0700 (PDT) From: Linus Walleij To: Greg Kroah-Hartman , stable@vger.kernel.org Cc: Mark Zhang , Laxman Dewangan , Jinyoung Park , Venkat Reddy Talla , Mark Brown Subject: [PATCH] regmap-irq: do not write mask register if mask_base is zero Date: Mon, 20 May 2019 19:21:39 +0200 Message-Id: <20190520172139.16991-1-linus.walleij@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Mark Zhang commit 7151449fe7fa5962c6153355f9779d6be99e8e97 upstream. If client have not provided the mask base register then do not write into the mask register. Signed-off-by: Laxman Dewangan Signed-off-by: Jinyoung Park Signed-off-by: Venkat Reddy Talla Signed-off-by: Mark Zhang Signed-off-by: Mark Brown --- This commit was found in an nVidia product tree based on v4.19, and looks like definitive stable material to me. It should go into v4.19 only as far as I can tell. --- drivers/base/regmap/regmap-irq.c | 6 ++++++ 1 file changed, 6 insertions(+) -- 2.20.1 diff --git a/drivers/base/regmap/regmap-irq.c b/drivers/base/regmap/regmap-irq.c index 429ca8ed7e51..982c7ac311b8 100644 --- a/drivers/base/regmap/regmap-irq.c +++ b/drivers/base/regmap/regmap-irq.c @@ -91,6 +91,9 @@ static void regmap_irq_sync_unlock(struct irq_data *data) * suppress pointless writes. */ for (i = 0; i < d->chip->num_regs; i++) { + if (!d->chip->mask_base) + continue; + reg = d->chip->mask_base + (i * map->reg_stride * d->irq_reg_stride); if (d->chip->mask_invert) { @@ -526,6 +529,9 @@ int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags, /* Mask all the interrupts by default */ for (i = 0; i < chip->num_regs; i++) { d->mask_buf[i] = d->mask_buf_def[i]; + if (!chip->mask_base) + continue; + reg = chip->mask_base + (i * map->reg_stride * d->irq_reg_stride); if (chip->mask_invert)