On Fri, Nov 3, 2017 at 10:56 AM, Niklas Cassel <niklas.cassel@xxxxxxxx> wrote: > On 11/02/2017 10:13 AM, Arnd Bergmann wrote: >> >> >> Can you try replacing the #ifdef with >> >> >> if (!IS_ENABLED(CONFIG_PCIE_ARTPEC6_HOST)) >> return -ENODEV; >> >> at the start of artpec6_pcie_enable_interrupts? I think that would improve >> readability here. >> > > artpec6_pcie_enable_interrupts is a void function, so > I guess that you meant at the start of artpec6_add_pcie_port. Right, sorry about that. > That would not really help since artpec6_add_pcie_port > calls artpec6_pcie_msi_handler, and uses artpec6_pcie_host_ops, > which is still inside the CONFIG_PCIE_ARTPEC6_HOST ifdef block. > > Please note that there are several functions, as well as > artpec6_pcie_host_ops inside the > CONFIG_PCIE_ARTPEC6_HOST ifdef block. What I meant is that you can remove the #ifdef entirely if you add if (!IS_ENABLED(CONFIG_PCIE_ARTPEC6_HOST)) return -ENODEV; to artpec6_pcie_probe(). Anything after that statement will get silently dropped by the compiler, including static functions and structures that are referenced indirectly from there. Arnd