diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2017-10-17 11:46:09 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-10-19 10:12:49 +0200 |
commit | 350bdb84fda89270703907fb4c4fb482e1edbc31 (patch) | |
tree | cdafa891ddc3a07f7a12b125602b517485ef9ca7 /arch/blackfin/include/asm/gpio.h | |
parent | 1c363531dd814dc4fe10865722bf6b0f72ce4673 (diff) | |
download | linux-350bdb84fda89270703907fb4c4fb482e1edbc31.tar.gz linux-350bdb84fda89270703907fb4c4fb482e1edbc31.tar.bz2 linux-350bdb84fda89270703907fb4c4fb482e1edbc31.zip |
blackfin: Fix local <asm/gpio.h> includes
When making the pin control submenu globally visible, all kinds
of oddities appear, in blackfin a few files were #including
<linux/gpio.h> and relying on that to pull in <asm/gpio.h>.
This was not working when pin control but not GPIOLIB was
selected resulting in a breakage in allmodconfig. The code these
files were using was still there and defined in <asm/gpio.h>
just not pulle in from just including <linux/gpio.h>
Simply add the required includes explicitly in the blackfin
kernel core and everything compiles fine.
Delete the use of the incorrect <linux/gpio.h> where possible.
Add stubs to <asm/gpio.h> for the functions called from PM:
these should probably also depend on !PINCTRL but since the
global CONFIG_PM symbol is used to compile PM support,
we need some more intrusive thing here, to be tested by
Blackfin maintainers.
Cc: Steven Miao <realmz6@gmail.com>
Cc: Huanhuan Feng <huanhuan.feng@analog.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/blackfin/include/asm/gpio.h')
-rw-r--r-- | arch/blackfin/include/asm/gpio.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/gpio.h b/arch/blackfin/include/asm/gpio.h index 99d338ca2ea4..a2579321c7f1 100644 --- a/arch/blackfin/include/asm/gpio.h +++ b/arch/blackfin/include/asm/gpio.h @@ -183,6 +183,26 @@ static inline int irq_to_gpio(unsigned irq) { return irq - GPIO_IRQ_BASE; } + +#else /* CONFIG_PINCTRL */ + +/* + * CONFIG_PM is not working with pin control and should probably + * avoid being selected when pin control is active, but so far, + * these stubs are here to make allyesconfig and allmodconfig + * compile properly. These functions are normally backed by the + * CONFIG_ADI_GPIO custom GPIO implementation. + */ + +static inline int bfin_pm_standby_setup(void) +{ + return 0; +} + +static inline void bfin_pm_standby_restore(void) +{ +} + #endif /* CONFIG_PINCTRL */ #include <asm/irq.h> |