[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <176874371440.510.2342321794029480196.tip-bot2@tip-bot2>
Date: Sun, 18 Jan 2026 13:41:54 -0000
From: "tip-bot2 for Huacai Chen" <tip-bot2@...utronix.de>
To: linux-tip-commits@...r.kernel.org
Cc: Jiaxun Yang <jiaxun.yang@...goat.com>,
Huacai Chen <chenhuacai@...ngson.cn>, Thomas Gleixner <tglx@...nel.org>,
x86@...nel.org, linux-kernel@...r.kernel.org
Subject: [tip: irq/drivers] irqchip/loongson-pch-msi: Adjust irqchip driver
for 32BIT/64BIT
The following commit has been merged into the irq/drivers branch of tip:
Commit-ID: 4093b0e55b39422bbdae108a1be06292714a994d
Gitweb: https://git.kernel.org/tip/4093b0e55b39422bbdae108a1be06292714a994d
Author: Huacai Chen <chenhuacai@...ngson.cn>
AuthorDate: Tue, 13 Jan 2026 16:59:38 +08:00
Committer: Thomas Gleixner <tglx@...nel.org>
CommitterDate: Sun, 18 Jan 2026 14:39:17 +01:00
irqchip/loongson-pch-msi: Adjust irqchip driver for 32BIT/64BIT
irq_domain_alloc_fwnode() takes a parameter with the phys_addr_t type.
Currently the code passe acpi_pchmsi->msg_address to it.
This can only work on 64BIT platform because its type is u64, so cast it to
phys_addr_t and then the driver works on both 32BIT and 64BIT platform.
[ tglx: Make the cast explicit and fixup coding style. ]
Co-developed-by: Jiaxun Yang <jiaxun.yang@...goat.com>
Signed-off-by: Jiaxun Yang <jiaxun.yang@...goat.com>
Signed-off-by: Huacai Chen <chenhuacai@...ngson.cn>
Signed-off-by: Thomas Gleixner <tglx@...nel.org>
Link: https://patch.msgid.link/20260113085940.3344837-6-chenhuacai@loongson.cn
---
drivers/irqchip/irq-loongson-pch-msi.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/irqchip/irq-loongson-pch-msi.c b/drivers/irqchip/irq-loongson-pch-msi.c
index 4aedc9b..91c856c 100644
--- a/drivers/irqchip/irq-loongson-pch-msi.c
+++ b/drivers/irqchip/irq-loongson-pch-msi.c
@@ -263,12 +263,13 @@ struct fwnode_handle *get_pch_msi_handle(int pci_segment)
int __init pch_msi_acpi_init(struct irq_domain *parent, struct acpi_madt_msi_pic *acpi_pchmsi)
{
- int ret;
+ phys_addr_t msg_address = (phys_addr_t)acpi_pchmsi->msg_address;
struct fwnode_handle *domain_handle;
+ int ret;
- domain_handle = irq_domain_alloc_fwnode(&acpi_pchmsi->msg_address);
- ret = pch_msi_init(acpi_pchmsi->msg_address, acpi_pchmsi->start,
- acpi_pchmsi->count, parent, domain_handle);
+ domain_handle = irq_domain_alloc_fwnode(&msg_address);
+ ret = pch_msi_init(msg_address, acpi_pchmsi->start, acpi_pchmsi->count,
+ parent, domain_handle);
if (ret < 0)
irq_domain_free_fwnode(domain_handle);
Powered by blists - more mailing lists