ARM: sunxi: Have ARCH_SUNXI select RESET_CONTROLLER for clock driver usage

As the sunxi usb clocks all contain a reset controller, it is not
possible to build the sunxi clock driver without RESET_CONTROLLER
enabled. Doing so results in an undefined symbol error:

    drivers/built-in.o: In function `sunxi_gates_clk_setup':
    linux/drivers/clk/sunxi/clk-sunxi.c:1071: undefined reference to
	`reset_controller_register'

This is possible if building a minimal kernel without PHY_SUN4I_USB.

The dependency issue is made visible at compile time instead of
link time by the new A80 mmc clocks, which also use a reset control
itself.

This patch makes ARCH_SUNXI select ARCH_HAS_RESET_CONTROLLER and
RESET_CONTROLLER.

Fixes: 559482d1f9 ARM: sunxi: Split the various SoCs support in Kconfig
Cc: <stable@vger.kernel.org> # 3.16+
Reported-by: Lourens Rozema <ik@lourensrozema.nl>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
This commit is contained in:
Chen-Yu Tsai 2015-02-09 18:23:20 +08:00 committed by Maxime Ripard
parent c517d838eb
commit fdc0074c5f
1 changed files with 2 additions and 6 deletions

View File

@ -1,10 +1,12 @@
menuconfig ARCH_SUNXI menuconfig ARCH_SUNXI
bool "Allwinner SoCs" if ARCH_MULTI_V7 bool "Allwinner SoCs" if ARCH_MULTI_V7
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select ARCH_HAS_RESET_CONTROLLER
select CLKSRC_MMIO select CLKSRC_MMIO
select GENERIC_IRQ_CHIP select GENERIC_IRQ_CHIP
select PINCTRL select PINCTRL
select SUN4I_TIMER select SUN4I_TIMER
select RESET_CONTROLLER
if ARCH_SUNXI if ARCH_SUNXI
@ -20,10 +22,8 @@ config MACH_SUN5I
config MACH_SUN6I config MACH_SUN6I
bool "Allwinner A31 (sun6i) SoCs support" bool "Allwinner A31 (sun6i) SoCs support"
default ARCH_SUNXI default ARCH_SUNXI
select ARCH_HAS_RESET_CONTROLLER
select ARM_GIC select ARM_GIC
select MFD_SUN6I_PRCM select MFD_SUN6I_PRCM
select RESET_CONTROLLER
select SUN5I_HSTIMER select SUN5I_HSTIMER
config MACH_SUN7I config MACH_SUN7I
@ -37,16 +37,12 @@ config MACH_SUN7I
config MACH_SUN8I config MACH_SUN8I
bool "Allwinner A23 (sun8i) SoCs support" bool "Allwinner A23 (sun8i) SoCs support"
default ARCH_SUNXI default ARCH_SUNXI
select ARCH_HAS_RESET_CONTROLLER
select ARM_GIC select ARM_GIC
select MFD_SUN6I_PRCM select MFD_SUN6I_PRCM
select RESET_CONTROLLER
config MACH_SUN9I config MACH_SUN9I
bool "Allwinner (sun9i) SoCs support" bool "Allwinner (sun9i) SoCs support"
default ARCH_SUNXI default ARCH_SUNXI
select ARCH_HAS_RESET_CONTROLLER
select ARM_GIC select ARM_GIC
select RESET_CONTROLLER
endif endif