From 4093b0e55b39422bbdae108a1be06292714a994d Mon Sep 17 00:00:00 2001 From: Huacai Chen Date: Tue, 13 Jan 2026 16:59:38 +0800 Subject: [PATCH] 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 Signed-off-by: Jiaxun Yang Signed-off-by: Huacai Chen Signed-off-by: Thomas Gleixner 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 4aedc9b90ff77..91c856c65d9d7 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); -- 2.47.3