Bluetooth: hci_bcm: Move platform_get_irq call to bcm_probe
authorHans de Goede <hdegoede@redhat.com>
Wed, 4 Oct 2017 18:43:38 +0000 (20:43 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 6 Oct 2017 18:35:48 +0000 (20:35 +0200)
The ACPI subsys is going to move over to instantiating ACPI enumerated
HCIs as serdevs, rather then as platform devices.

Most of the code in bcm_platform_probe is actually not platform
specific and will work with any struct device passed to it, the one
platform specific call in bcm_platform_probe is platform_get_irq.

This commit moves platform_get_irq call to the platform-driver's bcm_probe
function, this is a preparation patch for adding (runtime)pm support to
the serdev path.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_bcm.c

index 1a9ce68..3cbd7da 100644 (file)
@@ -776,7 +776,6 @@ static int bcm_platform_probe(struct bcm_device *dev)
                return PTR_ERR(dev->shutdown);
 
        /* IRQ can be declared in ACPI table as Interrupt or GpioInt */
-       dev->irq = platform_get_irq(pdev, 0);
        if (dev->irq <= 0) {
                struct gpio_desc *gpio;
 
@@ -853,6 +852,7 @@ static int bcm_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        dev->pdev = pdev;
+       dev->irq = platform_get_irq(pdev, 0);
 
        if (has_acpi_companion(&pdev->dev)) {
                ret = bcm_acpi_probe(dev);