Message ID | 20240622215416.659208-1-knaerzche@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f3f942d6e5889ea9d46cecf8fc0b7893b5ba9792 |
Delegated to: | Kalle Valo |
Headers | show |
Series | [v2] wifi: brcmfmac: of: Support interrupts-extended | expand |
On 6/22/2024 11:54 PM, Alex Bee wrote: > The currently existing of_property_present check for interrupts does not > cover all ways interrupts can be defined in a device tree, e.g. > "interrupts-extended". > > In order to support all current and future ways that can be done, drop that > check and call of_irq_parse_one to figure out if an interrupt is defined > and irq_create_of_mapping for the actual mapping and let it be handled by > the interrupt subsystem. Thanks for the rework. Looks good. Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> > Signed-off-by: Alex Bee <knaerzche@gmail.com> > --- > Link to v1: > https://lore.kernel.org/all/20240621225558.280462-1-knaerzche@gmail.com/ > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-)
Alex Bee <knaerzche@gmail.com> wrote: > The currently existing of_property_present check for interrupts does not > cover all ways interrupts can be defined in a device tree, e.g. > "interrupts-extended". > > In order to support all current and future ways that can be done, drop that > check and call of_irq_parse_one to figure out if an interrupt is defined > and irq_create_of_mapping for the actual mapping and let it be handled by > the interrupt subsystem. > > Signed-off-by: Alex Bee <knaerzche@gmail.com> > Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> Patch applied to wireless-next.git, thanks. f3f942d6e588 wifi: brcmfmac: of: Support interrupts-extended
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c index e406e11481a6..fe4f65756105 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c @@ -70,6 +70,7 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type, { struct brcmfmac_sdio_pd *sdio = &settings->bus.sdio; struct device_node *root, *np = dev->of_node; + struct of_phandle_args oirq; const char *prop; int irq; int err; @@ -129,10 +130,10 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type, sdio->drive_strength = val; /* make sure there are interrupts defined in the node */ - if (!of_property_present(np, "interrupts")) + if (of_irq_parse_one(np, 0, &oirq)) return; - irq = irq_of_parse_and_map(np, 0); + irq = irq_create_of_mapping(&oirq); if (!irq) { brcmf_err("interrupt could not be mapped\n"); return;
The currently existing of_property_present check for interrupts does not cover all ways interrupts can be defined in a device tree, e.g. "interrupts-extended". In order to support all current and future ways that can be done, drop that check and call of_irq_parse_one to figure out if an interrupt is defined and irq_create_of_mapping for the actual mapping and let it be handled by the interrupt subsystem. Signed-off-by: Alex Bee <knaerzche@gmail.com> --- Link to v1: https://lore.kernel.org/all/20240621225558.280462-1-knaerzche@gmail.com/ drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)