OSDN Git Service

bcma: Use the proper gpio include
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 28 Oct 2022 09:23:32 +0000 (11:23 +0200)
committerKalle Valo <kvalo@kernel.org>
Fri, 4 Nov 2022 10:59:25 +0000 (12:59 +0200)
commit2b6c0e152868c9c5939a5c5094d5b2be61cf48e6
treed20b23dcaf1822bd1857ecee2fdb2c38df825ee6
parent81d17f6f3331f03c8eafdacea68ab773426c1e3c
bcma: Use the proper gpio include

The <linux/bcma/bcma_driver_chipcommon.h> is including the legacy
header <linux/gpio.h> to obtain struct gpio_chip. Instead, include
<linux/gpio/driver.h> where this struct is defined.

It turns out that the brcm80211 brcmsmac depends on this to
bring in the symbol gpio_is_valid().

The driver looks up the BCMA parent GPIO driver and checks that
this succeeds, but then it goes on to use the deprecated GPIO
call gpio_is_valid() to check the consistency of the .base
member of the BCMA GPIO struct. The whole check can be dropped
because the bcma_gpio is initialized in the declarations:

  struct gpio_chip *bcma_gpio = &cc_drv->gpio;

And this can never be NULL.

Cc: Jonas Gorski <jonas.gorski@gmail.com>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20221028092332.238728-1-linus.walleij@linaro.org
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
include/linux/bcma/bcma_driver_chipcommon.h