]> Gentwo Git Trees - linux/.git/commitdiff
PCI: ixp4xx: Guard ARM32-specific hook_fault_code()
authorBjorn Helgaas <bhelgaas@google.com>
Thu, 25 Sep 2025 20:26:46 +0000 (15:26 -0500)
committerManivannan Sadhasivam <mani@kernel.org>
Sun, 19 Oct 2025 07:38:19 +0000 (13:08 +0530)
hook_fault_code() is an ARM32-specific API.  Guard it and related code with
CONFIG_ARM #ifdefs and remove the ARM arch dependency from Kconfig so the
driver can be compile tested on other architectures.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
[mani: dropped the ARM arch Kconfig dependency]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Acked-by: Linus Walleij <linus.walleij@linar.org>
Link: https://patch.msgid.link/20250925202738.2202195-1-helgaas@kernel.org
drivers/pci/controller/Kconfig
drivers/pci/controller/pci-ixp4xx.c

index 41748d083b933de97d724fc429469015c55900da..1447bad6b7f19091f57d676f53a81fd4e69a52d2 100644 (file)
@@ -146,7 +146,7 @@ config PCIE_HISI_ERR
 
 config PCI_IXP4XX
        bool "Intel IXP4xx PCI controller"
-       depends on ARM && OF
+       depends on OF
        depends on ARCH_IXP4XX || COMPILE_TEST
        default ARCH_IXP4XX
        help
index acb85e0d5675b1fa78ef7b3d7df168f99e174c62..9fd401838badd7d73657011104c8aa844c98ccfd 100644 (file)
@@ -214,6 +214,7 @@ static u32 ixp4xx_crp_byte_lane_enable_bits(u32 n, int size)
        return 0xffffffff;
 }
 
+#ifdef CONFIG_ARM
 static int ixp4xx_crp_read_config(struct ixp4xx_pci *p, int where, int size,
                                  u32 *value)
 {
@@ -251,6 +252,7 @@ static int ixp4xx_crp_read_config(struct ixp4xx_pci *p, int where, int size,
 
        return PCIBIOS_SUCCESSFUL;
 }
+#endif
 
 static int ixp4xx_crp_write_config(struct ixp4xx_pci *p, int where, int size,
                                   u32 value)
@@ -470,6 +472,7 @@ static int ixp4xx_pci_parse_map_dma_ranges(struct ixp4xx_pci *p)
        return 0;
 }
 
+#ifdef CONFIG_ARM
 /* Only used to get context for abort handling */
 static struct ixp4xx_pci *ixp4xx_pci_abort_singleton;
 
@@ -509,6 +512,7 @@ static int ixp4xx_pci_abort_handler(unsigned long addr, unsigned int fsr,
 
        return 0;
 }
+#endif
 
 static int __init ixp4xx_pci_probe(struct platform_device *pdev)
 {
@@ -555,10 +559,12 @@ static int __init ixp4xx_pci_probe(struct platform_device *pdev)
        dev_info(dev, "controller is in %s mode\n",
                 p->host_mode ? "host" : "option");
 
+#ifdef CONFIG_ARM
        /* Hook in our fault handler for PCI errors */
        ixp4xx_pci_abort_singleton = p;
        hook_fault_code(16+6, ixp4xx_pci_abort_handler, SIGBUS, 0,
                        "imprecise external abort");
+#endif
 
        ret = ixp4xx_pci_parse_map_ranges(p);
        if (ret)