On 9/27/21 12:43 PM, Rob Herring wrote: > On Mon, Sep 27, 2021 at 2:28 PM Florian Fainelli <f.fainelli@xxxxxxxxx> wrote: >> >> On 9/27/21 12:08 PM, Rob Herring wrote: >>> On Fri, Sep 24, 2021 at 12:07 PM Florian Fainelli <f.fainelli@xxxxxxxxx> wrote: >>>> >>>> In order to build drivers/irqchip/irq-bcm7120-l2.c as a module, we will >>>> need to have of_irq_count() exported to modules. >>>> >>>> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> >>>> --- >>>> drivers/of/irq.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/drivers/of/irq.c b/drivers/of/irq.c >>>> index 352e14b007e7..949b9d1f8729 100644 >>>> --- a/drivers/of/irq.c >>>> +++ b/drivers/of/irq.c >>>> @@ -440,6 +440,7 @@ int of_irq_count(struct device_node *dev) >>>> >>>> return nr; >>>> } >>>> +EXPORT_SYMBOL_GPL(of_irq_count); >>> >>> Please convert to use platform_irq_count() instead. >> >> That requires a platform_device to be passed to platform_irq_count(), >> will that work even when the drivers remain built into the kernel and >> get initialized early on? > > No, does your irqchip using this do both? Looks to me like it is > always a platform_device. On ARM/ARM64 not using GKI as well as MIPS, we would want the module to be built into the kernel image, however when using GKI that driver would become a module. How do you suggest reconciling both usages? -- Florian