diff mbox series

arm64: sunxi: Enable REGMAP_MMIO to fix linker error

Message ID 1542128665-78302-1-git-send-email-john.garry@huawei.com (mailing list archive)
State New, archived
Headers show
Series arm64: sunxi: Enable REGMAP_MMIO to fix linker error | expand

Commit Message

John Garry Nov. 13, 2018, 5:04 p.m. UTC
The following linker failure can be seen for a certain heavily reduced
defconfig:
drivers/soc/sunxi/sunxi_sram.o: In function `sunxi_sram_probe':
drivers/soc/sunxi/sunxi_sram.c:353: undefined reference to `__devm_regmap_init_mmio_clk'
drivers/soc/sunxi/sunxi_sram.c:353:(.text+0x3c4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__devm_regmap_init_mmio_clk'

It would seem that the sunxi sram driver implicitly depended on config
REGMAP_MMIO.

To solve, select config REGMAP_MMIO for ARCH_SUNXI. This seems a better
option than selecting from the respective driver config as this just
defaults to ARCH_SUNXI.

Fixes: 5828729bebbb ("soc: sunxi: export a regmap for EMAC clock reg on A64")
Signed-off-by: John Garry <john.garry@huawei.com>

Comments

Maxime Ripard Nov. 14, 2018, 2:51 p.m. UTC | #1
Hi John,

On Wed, Nov 14, 2018 at 01:04:25AM +0800, John Garry wrote:
> The following linker failure can be seen for a certain heavily reduced
> defconfig:
> drivers/soc/sunxi/sunxi_sram.o: In function `sunxi_sram_probe':
> drivers/soc/sunxi/sunxi_sram.c:353: undefined reference to `__devm_regmap_init_mmio_clk'
> drivers/soc/sunxi/sunxi_sram.c:353:(.text+0x3c4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__devm_regmap_init_mmio_clk'
> 
> It would seem that the sunxi sram driver implicitly depended on config
> REGMAP_MMIO.
> 
> To solve, select config REGMAP_MMIO for ARCH_SUNXI. This seems a better
> option than selecting from the respective driver config as this just
> defaults to ARCH_SUNXI.
> 
> Fixes: 5828729bebbb ("soc: sunxi: export a regmap for EMAC clock reg on A64")
> Signed-off-by: John Garry <john.garry@huawei.com>
> 
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 51bc479..c8a6ad3 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -12,6 +12,7 @@ config ARCH_SUNXI
>  	select ARCH_HAS_RESET_CONTROLLER
>  	select GENERIC_IRQ_CHIP
>  	select PINCTRL
> +	select REGMAP_MMIO
>  	select RESET_CONTROLLER
>  	help
>  	  This enables support for Allwinner sunxi based SoCs like the A64.

The sunxi_sram driver has a Kconfig symbol of its own now, it would
make more sense to add that select there, especially since we can also
compile it for arm.

Maxime
John Garry Nov. 14, 2018, 3 p.m. UTC | #2
On 14/11/2018 14:51, Maxime Ripard wrote:
> Hi John,
>
> On Wed, Nov 14, 2018 at 01:04:25AM +0800, John Garry wrote:
>> The following linker failure can be seen for a certain heavily reduced
>> defconfig:
>> drivers/soc/sunxi/sunxi_sram.o: In function `sunxi_sram_probe':
>> drivers/soc/sunxi/sunxi_sram.c:353: undefined reference to `__devm_regmap_init_mmio_clk'
>> drivers/soc/sunxi/sunxi_sram.c:353:(.text+0x3c4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__devm_regmap_init_mmio_clk'
>>
>> It would seem that the sunxi sram driver implicitly depended on config
>> REGMAP_MMIO.
>>
>> To solve, select config REGMAP_MMIO for ARCH_SUNXI. This seems a better
>> option than selecting from the respective driver config as this just
>> defaults to ARCH_SUNXI.
>>
>> Fixes: 5828729bebbb ("soc: sunxi: export a regmap for EMAC clock reg on A64")
>> Signed-off-by: John Garry <john.garry@huawei.com>
>>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index 51bc479..c8a6ad3 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -12,6 +12,7 @@ config ARCH_SUNXI
>>  	select ARCH_HAS_RESET_CONTROLLER
>>  	select GENERIC_IRQ_CHIP
>>  	select PINCTRL
>> +	select REGMAP_MMIO
>>  	select RESET_CONTROLLER
>>  	help
>>  	  This enables support for Allwinner sunxi based SoCs like the A64.
>
> The sunxi_sram driver has a Kconfig symbol of its own now, it would
> make more sense to add that select there, especially since we can also
> compile it for arm.

Fine, so I'll leave this to you to fix if you don't mind.

Thanks,
John

>
> Maxime
>
diff mbox series

Patch

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 51bc479..c8a6ad3 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -12,6 +12,7 @@  config ARCH_SUNXI
 	select ARCH_HAS_RESET_CONTROLLER
 	select GENERIC_IRQ_CHIP
 	select PINCTRL
+	select REGMAP_MMIO
 	select RESET_CONTROLLER
 	help
 	  This enables support for Allwinner sunxi based SoCs like the A64.