On Fri, Dec 13, 2019 at 11:55:21AM +0100, Guillaume La Roque wrote: > Actually IRQ can be found from GPIO but all platforms don't support > gpiod_to_irq, it's the case on amlogic chip. > so to have possibility to use interrupt mode we need to add interrupts > field in node and support it in driver. "node" is a bit vague, please refer to devicetree here and in the patch summary. > Signed-off-by: Guillaume La Roque <glaroque@xxxxxxxxxxxx> > --- > drivers/bluetooth/hci_bcm.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c > index f8f5c593a05c..aa194f8d703e 100644 > --- a/drivers/bluetooth/hci_bcm.c > +++ b/drivers/bluetooth/hci_bcm.c > @@ -13,6 +13,7 @@ > #include <linux/module.h> > #include <linux/acpi.h> > #include <linux/of.h> > +#include <linux/of_irq.h> > #include <linux/property.h> > #include <linux/platform_data/x86/apple.h> > #include <linux/platform_device.h> > @@ -1421,6 +1422,7 @@ static int bcm_serdev_probe(struct serdev_device *serdev) > #endif > bcmdev->serdev_hu.serdev = serdev; > serdev_device_set_drvdata(serdev, bcmdev); > + bcmdev->irq = of_irq_get(bcmdev->dev->of_node, 0); And this clearly makes no sense for acpi, so you'd need to add it to bcm_of_probe(). Shouldn't you be used using of_irq_get_byname()? And since you're extending the binding, I think you need a preparatory patch documenting this in: Documentation/devicetree/bindings/net/broadcom-bluetooth.txt > /* Initialize routing field to an unused value */ > bcmdev->pcm_int_params[0] = 0xff; Johan