Actually IRQ can be found from GPIO but all platorms 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 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 7646636f2d18..9b024e1e36e2 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -1372,6 +1372,7 @@ static struct platform_driver bcm_driver = { static int bcm_serdev_probe(struct serdev_device *serdev) { struct bcm_device *bcmdev; + struct platform_device *pdev; int err; bcmdev = devm_kzalloc(&serdev->dev, sizeof(*bcmdev), GFP_KERNEL); @@ -1384,6 +1385,8 @@ static int bcm_serdev_probe(struct serdev_device *serdev) #endif bcmdev->serdev_hu.serdev = serdev; serdev_device_set_drvdata(serdev, bcmdev); + pdev = to_platform_device(bcmdev->dev); + bcmdev->irq = platform_get_irq(pdev, 0); if (has_acpi_companion(&serdev->dev)) err = bcm_acpi_probe(bcmdev); -- 2.17.1