Bluetooth: Depend on rather than select GPIOLIB
authorLukas Wunner <lukas@wunner.de>
Tue, 2 Jan 2018 19:08:40 +0000 (20:08 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 8 Jan 2018 20:44:22 +0000 (21:44 +0100)
Commit 27378f4c1b92 ("Bluetooth: Avoid WARN splat due to missing
GPIOLIB") amended Kconfig to select GPIOLIB if BT_HCIUART_NOKIA,
BT_HCIUART_INTEL or BT_HCIUART_BCM is enabled since all three drivers
require it to function.

The diagnosis was correct but the treatment was not.  As stated in
Documentation/gpio/consumer.txt:

    Guidelines for GPIOs consumers
    ==============================

    Drivers that can't work without standard GPIO calls should have
    Kconfig entries that depend on GPIOLIB.
                         ^^^^^^^^^
Fix it.

Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/Kconfig

index d816ce9e23a77716079d902d4d42a8dbc79c0892..07e55cd8f8c87a4338b50faa5a3c57cfb7bd03bb 100644 (file)
@@ -108,10 +108,10 @@ config BT_HCIUART_NOKIA
        tristate "UART Nokia H4+ protocol support"
        depends on BT_HCIUART
        depends on BT_HCIUART_SERDEV
+       depends on GPIOLIB
        depends on PM
        select BT_HCIUART_H4
        select BT_BCM
-       select GPIOLIB
        help
          Nokia H4+ is serial protocol for communication between Bluetooth
          device and host. This protocol is required for Bluetooth devices
@@ -170,9 +170,9 @@ config BT_HCIUART_3WIRE
 config BT_HCIUART_INTEL
        bool "Intel protocol support"
        depends on BT_HCIUART
+       depends on GPIOLIB
        select BT_HCIUART_H4
        select BT_INTEL
-       select GPIOLIB
        help
          The Intel protocol support enables Bluetooth HCI over serial
          port interface for Intel Bluetooth controllers.
@@ -184,9 +184,9 @@ config BT_HCIUART_BCM
        depends on BT_HCIUART
        depends on BT_HCIUART_SERDEV
        depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT)
+       depends on GPIOLIB
        select BT_HCIUART_H4
        select BT_BCM
-       select GPIOLIB
        help
          The Broadcom protocol support enables Bluetooth HCI over serial
          port interface for Broadcom Bluetooth controllers.