Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3709205imm; Mon, 18 Jun 2018 02:44:23 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJV1HFC3X99tE9HZltsMuYjvGRBqCOM38cCjg79ULo2Hpx0FoR3UgCrdskH8aQoe0jW/Hav X-Received: by 2002:a62:138c:: with SMTP id 12-v6mr12859970pft.34.1529315063668; Mon, 18 Jun 2018 02:44:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529315063; cv=none; d=google.com; s=arc-20160816; b=G3+Fu37MBYulTXdWw1DbROhIi7SufRrNxVBy9VLHB8XCmMhYvA4zlenQsz4qBvdh2c yvMApzk0tnJG6nq0CwNQP3qrv2ckEBwFFb70VBsZv2dEE6e9w3ZkB8qAkVsDFOR5X4G+ 22UVnQ4e3TEr0pCFTVhdeimZWTmDcAbSKmNoB0r1vhDwO6G/2YqlCut0XdHqRBnhPVow F3qJ0jpe7s5VHiNPN+1pqhgoyKPqG0vQafsD26Cl3m4nY923+DAxf5w1UiDpttJl3e7W +e4VSP6MjlLaf7zrGGhV2K/NTFVhtz8nOGsTFRvQyHuJDu89NUn5SK5nm3oyma3V02pl wxRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=myXbg9jWRQhwXuFhSjUg4h/rKvTJSzoDsqYSZQO/qIc=; b=N9NPJ9kRlvhrUzCwHk9n9YSAvQAE+P6Q8T4ZWDhoZCGm7lxCUCtr5OPPO0mEM2+ROA 80XSCNfT3dH3gA4syOq7tFi2G4sF/i+Frr86D7ZYmuLuQGmrF/cw1gPdEcJIvIjMST4a A4v9Y47cWxkC94UWFMhBoIJgrvDOuv64iY9zObpof9QPRLtAOoQvHCsvDTYvWrzK4Ivl j5yaRpLIEmXeVxCFzZ8nDgkGLyKJ5RNZK5tZ+fWlPcBKuaIswjXZEyjzFn1wYjZQmUPu 3tptXUnqA1iXDu+Pesj8ACSxOBmZOuqXxPa4zRJQPyEg4aDeIfENT/62N6g2aRC7mD1h 8PfQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g9-v6si4085348pgs.385.2018.06.18.02.44.09; Mon, 18 Jun 2018 02:44:23 -0700 (PDT) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935921AbeFRJne (ORCPT + 99 others); Mon, 18 Jun 2018 05:43:34 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:55506 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965449AbeFRIWV (ORCPT ); Mon, 18 Jun 2018 04:22:21 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 77BFCC7F; Mon, 18 Jun 2018 08:22:20 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sultan Alsawaf , Mika Westerberg , Andy Shevchenko , Linus Walleij , Sasha Levin Subject: [PATCH 4.16 154/279] pinctrl: cherryview: Associate IRQ descriptors to irqdomain Date: Mon, 18 Jun 2018 10:12:19 +0200 Message-Id: <20180618080615.206240615@linuxfoundation.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180618080608.851973560@linuxfoundation.org> References: <20180618080608.851973560@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 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 4.16-stable review patch. If anyone has any objections, please let me know. ------------------ From: Mika Westerberg [ Upstream commit 83b9dc11312f48a561594a895672abb6cb2a2250 ] When we dropped the custom Linux GPIO translation it resulted that the IRQ numbers changed slightly as well. Normally this would be fine because everyone is expected to use controller relative GPIO numbers and ACPI GpioIo/GpioInt resources. However, there is a certain set of Intel_Strago based Chromebooks where i8042 keyboard controller IRQ number is hardcoded be 182 (this is corrected with newer coreboot but the older ones still have the hardcoded Linux IRQ number). Because of this hardcoded IRQ number keyboard on those systems accidentally broke again. Fix this by iteratively associating IRQ descriptors to the chip irqdomain so that there are no gaps on those systems. Other systems are not affected. Fixes: 03c4749dd6c7 ("gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation") Link: https://bugzilla.kernel.org/show_bug.cgi?id=199463 Reported-by: Sultan Alsawaf Signed-off-by: Mika Westerberg Reviewed-by: Andy Shevchenko Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/pinctrl/intel/pinctrl-cherryview.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) --- a/drivers/pinctrl/intel/pinctrl-cherryview.c +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c @@ -1622,22 +1622,30 @@ static int chv_gpio_probe(struct chv_pin if (!need_valid_mask) { irq_base = devm_irq_alloc_descs(pctrl->dev, -1, 0, - chip->ngpio, NUMA_NO_NODE); + community->npins, NUMA_NO_NODE); if (irq_base < 0) { dev_err(pctrl->dev, "Failed to allocate IRQ numbers\n"); return irq_base; } - } else { - irq_base = 0; } - ret = gpiochip_irqchip_add(chip, &chv_gpio_irqchip, irq_base, + ret = gpiochip_irqchip_add(chip, &chv_gpio_irqchip, 0, handle_bad_irq, IRQ_TYPE_NONE); if (ret) { dev_err(pctrl->dev, "failed to add IRQ chip\n"); return ret; } + if (!need_valid_mask) { + for (i = 0; i < community->ngpio_ranges; i++) { + range = &community->gpio_ranges[i]; + + irq_domain_associate_many(chip->irq.domain, irq_base, + range->base, range->npins); + irq_base += range->npins; + } + } + gpiochip_set_chained_irqchip(chip, &chv_gpio_irqchip, irq, chv_gpio_irq_handler); return 0;