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. 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); /* Initialize routing field to an unused value */ bcmdev->pcm_int_params[0] = 0xff; -- 2.17.1