From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 91E81C433F5 for ; Mon, 10 Jan 2022 01:51:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238030AbiAJBvS (ORCPT ); Sun, 9 Jan 2022 20:51:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238024AbiAJBvN (ORCPT ); Sun, 9 Jan 2022 20:51:13 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48398C06173F for ; Sun, 9 Jan 2022 17:51:13 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 1357DB8111A for ; Mon, 10 Jan 2022 01:51:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 51EE9C36AF6; Mon, 10 Jan 2022 01:51:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1641779470; bh=X1/8z8rAB/tlb1Yq5h47dXJeVxei641JkvMqX1F0AAI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZU0S343hektF/Q245I0dBRq0Jj2qjjYSY0+pfz4HWbUqjq9ytEmTYfyDdBQBKmYW0 ZFATENkrvyagnNg3KHcTd1vQkXFbKDx/ZtbQGQRwGPfPsrxeHs7ZiQkEVK5aUvrJ6j P2u0pdt97IccmWrSHTVODr6QOPi+taV0vlAYMXeSUqDdW2Z3UhbPMydR0W8qSseSxx Zc1x1TUGEqic/VHDiTSGDjDPG5tJ0hLlGgo2rWcUybVMrp2DKB4rWnV4bN7tf9quCO OuhAcw3Scs3vFWBBKs8o4xZjOO3AptfHE6EKrWtw64/rD3S/BeN+rBnvUy3J5nX9kf 7OhJqYzn1dDtA== From: =?UTF-8?q?Marek=20Beh=C3=BAn?= To: Marc Zyngier , Lorenzo Pieralisi , Bjorn Helgaas Cc: pali@kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, =?UTF-8?q?Marek=20Beh=C3=BAn?= Subject: [PATCH v2 23/23] PCI: aardvark: Make main irq_chip structure a static driver structure Date: Mon, 10 Jan 2022 02:50:18 +0100 Message-Id: <20220110015018.26359-24-kabel@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220110015018.26359-1-kabel@kernel.org> References: <20220110015018.26359-1-kabel@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Marc Zyngier says [1] that we should use struct irq_chip as a global static struct in the driver. Even though the structure currently contains a dynamic member (parent_device), Marc says [2] that he plans to kill it and make the structure completely static. We have already converted others irq_chip structures in this driver in this way, but we omitted this one because the .name member is dynamically created from device's name, and the name is displayed in sysfs, so changing it would break sysfs ABI. The rationale for changing the name (to "advk-INT") in spite of sysfs ABI, and thus allowing to convert to a static structure, is that after the other changes we made in this series, the IRQ chip is basically something different: it no logner generates ERR and PME interrupts (they are generated by emulated bridge's rp_irq_chip). [1] https://lore.kernel.org/linux-pci/877dbcvngf.wl-maz@kernel.org/ [2] https://lore.kernel.org/linux-pci/874k6gvkhz.wl-maz@kernel.org/ Signed-off-by: Marek BehĂșn --- drivers/pci/controller/pci-aardvark.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c index 2c5cc929b94f..087a0b22d573 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -276,7 +276,6 @@ struct advk_pcie { int irq; struct irq_domain *rp_irq_domain; struct irq_domain *irq_domain; - struct irq_chip irq_chip; raw_spinlock_t irq_lock; struct irq_domain *msi_domain; struct irq_domain *msi_inner_domain; @@ -1338,14 +1337,19 @@ static void advk_pcie_irq_unmask(struct irq_data *d) raw_spin_unlock_irqrestore(&pcie->irq_lock, flags); } +static struct irq_chip advk_irq_chip = { + .name = "advk-INT", + .irq_mask = advk_pcie_irq_mask, + .irq_unmask = advk_pcie_irq_unmask, +}; + static int advk_pcie_irq_map(struct irq_domain *h, unsigned int virq, irq_hw_number_t hwirq) { struct advk_pcie *pcie = h->host_data; irq_set_status_flags(virq, IRQ_LEVEL); - irq_set_chip_and_handler(virq, &pcie->irq_chip, - handle_level_irq); + irq_set_chip_and_handler(virq, &advk_irq_chip, handle_level_irq); irq_set_chip_data(virq, pcie); return 0; @@ -1404,7 +1408,6 @@ static int advk_pcie_init_irq_domain(struct advk_pcie *pcie) struct device *dev = &pcie->pdev->dev; struct device_node *node = dev->of_node; struct device_node *pcie_intc_node; - struct irq_chip *irq_chip; int ret = 0; raw_spin_lock_init(&pcie->irq_lock); @@ -1415,28 +1418,14 @@ static int advk_pcie_init_irq_domain(struct advk_pcie *pcie) return -ENODEV; } - irq_chip = &pcie->irq_chip; - - irq_chip->name = devm_kasprintf(dev, GFP_KERNEL, "%s-irq", - dev_name(dev)); - if (!irq_chip->name) { - ret = -ENOMEM; - goto out_put_node; - } - - irq_chip->irq_mask = advk_pcie_irq_mask; - irq_chip->irq_unmask = advk_pcie_irq_unmask; - pcie->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, &advk_pcie_irq_domain_ops, pcie); if (!pcie->irq_domain) { dev_err(dev, "Failed to get a INTx IRQ domain\n"); ret = -ENOMEM; - goto out_put_node; } -out_put_node: of_node_put(pcie_intc_node); return ret; } -- 2.34.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8F92FC433F5 for ; Mon, 10 Jan 2022 02:06:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=VTIa/l1fLMHCd83ZQscPvKIlJQNaGhleT5WzcP3QC6M=; b=5BsNIlVhdGNxgt fjDHgvh5jwfYxY1xtkX9CYA7f+3hbnL/jEYrBLKHafCJTlEThDSwJ50Nf2xdH3QzuIvn4SyUueB/2 tZXfbOIrDNixW8aJwGlonfGZI9v6i7xAYOU42O4dzeN2Fsi+tdqOZOCCE0b8BUaXoz8QrBfSuWqgr OXfwVFI5vdEVzyfDoskdY961p0WuL+D4rLT9DHwmb2SpjnE51PlUemiqp9dDsyZe+GGoYWqIw41px 9AwCgFAIISf52IM6GdH9p8y5AJZ1WbBP9b4OUZs8T5AqrYpu+JJm0iB2fQ2MjpuXcJJdV6GIrmn+C WUY7pvpl3/m5U33tszDQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6k3F-008tGW-4P; Mon, 10 Jan 2022 02:04:49 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6jq4-008ltf-3D for linux-arm-kernel@lists.infradead.org; Mon, 10 Jan 2022 01:51:13 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9FAFE60EE9; Mon, 10 Jan 2022 01:51:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 51EE9C36AF6; Mon, 10 Jan 2022 01:51:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1641779470; bh=X1/8z8rAB/tlb1Yq5h47dXJeVxei641JkvMqX1F0AAI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZU0S343hektF/Q245I0dBRq0Jj2qjjYSY0+pfz4HWbUqjq9ytEmTYfyDdBQBKmYW0 ZFATENkrvyagnNg3KHcTd1vQkXFbKDx/ZtbQGQRwGPfPsrxeHs7ZiQkEVK5aUvrJ6j P2u0pdt97IccmWrSHTVODr6QOPi+taV0vlAYMXeSUqDdW2Z3UhbPMydR0W8qSseSxx Zc1x1TUGEqic/VHDiTSGDjDPG5tJ0hLlGgo2rWcUybVMrp2DKB4rWnV4bN7tf9quCO OuhAcw3Scs3vFWBBKs8o4xZjOO3AptfHE6EKrWtw64/rD3S/BeN+rBnvUy3J5nX9kf 7OhJqYzn1dDtA== From: =?UTF-8?q?Marek=20Beh=C3=BAn?= To: Marc Zyngier , Lorenzo Pieralisi , Bjorn Helgaas Cc: pali@kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, =?UTF-8?q?Marek=20Beh=C3=BAn?= Subject: [PATCH v2 23/23] PCI: aardvark: Make main irq_chip structure a static driver structure Date: Mon, 10 Jan 2022 02:50:18 +0100 Message-Id: <20220110015018.26359-24-kabel@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220110015018.26359-1-kabel@kernel.org> References: <20220110015018.26359-1-kabel@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220109_175112_259330_9D81E67F X-CRM114-Status: GOOD ( 20.01 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org TWFyYyBaeW5naWVyIHNheXMgWzFdIHRoYXQgd2Ugc2hvdWxkIHVzZSBzdHJ1Y3QgaXJxX2NoaXAg YXMgYSBnbG9iYWwKc3RhdGljIHN0cnVjdCBpbiB0aGUgZHJpdmVyLiBFdmVuIHRob3VnaCB0aGUg c3RydWN0dXJlIGN1cnJlbnRseQpjb250YWlucyBhIGR5bmFtaWMgbWVtYmVyIChwYXJlbnRfZGV2 aWNlKSwgTWFyYyBzYXlzIFsyXSB0aGF0IGhlIHBsYW5zCnRvIGtpbGwgaXQgYW5kIG1ha2UgdGhl IHN0cnVjdHVyZSBjb21wbGV0ZWx5IHN0YXRpYy4KCldlIGhhdmUgYWxyZWFkeSBjb252ZXJ0ZWQg b3RoZXJzIGlycV9jaGlwIHN0cnVjdHVyZXMgaW4gdGhpcyBkcml2ZXIgaW4KdGhpcyB3YXksIGJ1 dCB3ZSBvbWl0dGVkIHRoaXMgb25lIGJlY2F1c2UgdGhlIC5uYW1lIG1lbWJlciBpcwpkeW5hbWlj YWxseSBjcmVhdGVkIGZyb20gZGV2aWNlJ3MgbmFtZSwgYW5kIHRoZSBuYW1lIGlzIGRpc3BsYXll ZCBpbgpzeXNmcywgc28gY2hhbmdpbmcgaXQgd291bGQgYnJlYWsgc3lzZnMgQUJJLgoKVGhlIHJh dGlvbmFsZSBmb3IgY2hhbmdpbmcgdGhlIG5hbWUgKHRvICJhZHZrLUlOVCIpIGluIHNwaXRlIG9m IHN5c2ZzCkFCSSwgYW5kIHRodXMgYWxsb3dpbmcgdG8gY29udmVydCB0byBhIHN0YXRpYyBzdHJ1 Y3R1cmUsIGlzIHRoYXQgYWZ0ZXIKdGhlIG90aGVyIGNoYW5nZXMgd2UgbWFkZSBpbiB0aGlzIHNl cmllcywgdGhlIElSUSBjaGlwIGlzIGJhc2ljYWxseQpzb21ldGhpbmcgZGlmZmVyZW50OiBpdCBu byBsb2duZXIgZ2VuZXJhdGVzIEVSUiBhbmQgUE1FIGludGVycnVwdHMgKHRoZXkKYXJlIGdlbmVy YXRlZCBieSBlbXVsYXRlZCBicmlkZ2UncyBycF9pcnFfY2hpcCkuCgpbMV0gaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvbGludXgtcGNpLzg3N2RiY3ZuZ2Yud2wtbWF6QGtlcm5lbC5vcmcvClsyXSBo dHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1wY2kvODc0azZndmtoei53bC1tYXpAa2VybmVs Lm9yZy8KClNpZ25lZC1vZmYtYnk6IE1hcmVrIEJlaMO6biA8a2FiZWxAa2VybmVsLm9yZz4KLS0t CiBkcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIHwgMjUgKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsu YyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKaW5kZXggMmM1Y2M5Mjli OTRmLi4wODdhMGIyMmQ1NzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNp LWFhcmR2YXJrLmMKKysrIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYwpA QCAtMjc2LDcgKzI3Niw2IEBAIHN0cnVjdCBhZHZrX3BjaWUgewogCWludCBpcnE7CiAJc3RydWN0 IGlycV9kb21haW4gKnJwX2lycV9kb21haW47CiAJc3RydWN0IGlycV9kb21haW4gKmlycV9kb21h aW47Ci0Jc3RydWN0IGlycV9jaGlwIGlycV9jaGlwOwogCXJhd19zcGlubG9ja190IGlycV9sb2Nr OwogCXN0cnVjdCBpcnFfZG9tYWluICptc2lfZG9tYWluOwogCXN0cnVjdCBpcnFfZG9tYWluICpt c2lfaW5uZXJfZG9tYWluOwpAQCAtMTMzOCwxNCArMTMzNywxOSBAQCBzdGF0aWMgdm9pZCBhZHZr X3BjaWVfaXJxX3VubWFzayhzdHJ1Y3QgaXJxX2RhdGEgKmQpCiAJcmF3X3NwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJnBjaWUtPmlycV9sb2NrLCBmbGFncyk7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgaXJx X2NoaXAgYWR2a19pcnFfY2hpcCA9IHsKKwkubmFtZQkJPSAiYWR2ay1JTlQiLAorCS5pcnFfbWFz awk9IGFkdmtfcGNpZV9pcnFfbWFzaywKKwkuaXJxX3VubWFzawk9IGFkdmtfcGNpZV9pcnFfdW5t YXNrLAorfTsKKwogc3RhdGljIGludCBhZHZrX3BjaWVfaXJxX21hcChzdHJ1Y3QgaXJxX2RvbWFp biAqaCwKIAkJCSAgICAgdW5zaWduZWQgaW50IHZpcnEsIGlycV9od19udW1iZXJfdCBod2lycSkK IHsKIAlzdHJ1Y3QgYWR2a19wY2llICpwY2llID0gaC0+aG9zdF9kYXRhOwogCiAJaXJxX3NldF9z dGF0dXNfZmxhZ3ModmlycSwgSVJRX0xFVkVMKTsKLQlpcnFfc2V0X2NoaXBfYW5kX2hhbmRsZXIo dmlycSwgJnBjaWUtPmlycV9jaGlwLAotCQkJCSBoYW5kbGVfbGV2ZWxfaXJxKTsKKwlpcnFfc2V0 X2NoaXBfYW5kX2hhbmRsZXIodmlycSwgJmFkdmtfaXJxX2NoaXAsIGhhbmRsZV9sZXZlbF9pcnEp OwogCWlycV9zZXRfY2hpcF9kYXRhKHZpcnEsIHBjaWUpOwogCiAJcmV0dXJuIDA7CkBAIC0xNDA0 LDcgKzE0MDgsNiBAQCBzdGF0aWMgaW50IGFkdmtfcGNpZV9pbml0X2lycV9kb21haW4oc3RydWN0 IGFkdmtfcGNpZSAqcGNpZSkKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGNpZS0+cGRldi0+ZGV2 OwogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IGRldi0+b2Zfbm9kZTsKIAlzdHJ1Y3QgZGV2 aWNlX25vZGUgKnBjaWVfaW50Y19ub2RlOwotCXN0cnVjdCBpcnFfY2hpcCAqaXJxX2NoaXA7CiAJ aW50IHJldCA9IDA7CiAKIAlyYXdfc3Bpbl9sb2NrX2luaXQoJnBjaWUtPmlycV9sb2NrKTsKQEAg LTE0MTUsMjggKzE0MTgsMTQgQEAgc3RhdGljIGludCBhZHZrX3BjaWVfaW5pdF9pcnFfZG9tYWlu KHN0cnVjdCBhZHZrX3BjaWUgKnBjaWUpCiAJCXJldHVybiAtRU5PREVWOwogCX0KIAotCWlycV9j aGlwID0gJnBjaWUtPmlycV9jaGlwOwotCi0JaXJxX2NoaXAtPm5hbWUgPSBkZXZtX2thc3ByaW50 ZihkZXYsIEdGUF9LRVJORUwsICIlcy1pcnEiLAotCQkJCQlkZXZfbmFtZShkZXYpKTsKLQlpZiAo IWlycV9jaGlwLT5uYW1lKSB7Ci0JCXJldCA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0X3B1dF9ub2Rl OwotCX0KLQotCWlycV9jaGlwLT5pcnFfbWFzayA9IGFkdmtfcGNpZV9pcnFfbWFzazsKLQlpcnFf Y2hpcC0+aXJxX3VubWFzayA9IGFkdmtfcGNpZV9pcnFfdW5tYXNrOwotCiAJcGNpZS0+aXJxX2Rv bWFpbiA9CiAJCWlycV9kb21haW5fYWRkX2xpbmVhcihwY2llX2ludGNfbm9kZSwgUENJX05VTV9J TlRYLAogCQkJCSAgICAgICZhZHZrX3BjaWVfaXJxX2RvbWFpbl9vcHMsIHBjaWUpOwogCWlmICgh cGNpZS0+aXJxX2RvbWFpbikgewogCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBnZXQgYSBJTlR4 IElSUSBkb21haW5cbiIpOwogCQlyZXQgPSAtRU5PTUVNOwotCQlnb3RvIG91dF9wdXRfbm9kZTsK IAl9CiAKLW91dF9wdXRfbm9kZToKIAlvZl9ub2RlX3B1dChwY2llX2ludGNfbm9kZSk7CiAJcmV0 dXJuIHJldDsKIH0KLS0gCjIuMzQuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK