2019-12-04 07:17:09

by Guillaume LA ROQUE

[permalink] [raw]
Subject: [PATCH] bluetooth: hci_bcm: enable IRQ capability from node

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 <[email protected]>
---
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