Takashi Iwai 1eff14
From a3888f62fe66429fad3be7f2ba962e1e08c26fd6 Mon Sep 17 00:00:00 2001
Takashi Iwai 1eff14
From: Nathan Chancellor <natechancellor@gmail.com>
Takashi Iwai 1eff14
Date: Wed, 17 Oct 2018 17:56:28 -0700
Takashi Iwai 1eff14
Subject: [PATCH] mfd: db8500-prcmu: Fix some section annotations
Takashi Iwai 1eff14
Git-commit: a3888f62fe66429fad3be7f2ba962e1e08c26fd6
Takashi Iwai 1eff14
Patch-mainline: v5.0-rc3
Takashi Iwai 1eff14
References: bsc#1051510
Takashi Iwai 1eff14
Takashi Iwai 1eff14
When building the kernel with Clang, the following section mismatch
Takashi Iwai 1eff14
warnings appear:
Takashi Iwai 1eff14
Takashi Iwai 1eff14
Warning: vmlinux.o(.text+0x7239cc): Section mismatch in reference from
Takashi Iwai 1eff14
the function db8500_prcmu_probe() to the function
Takashi Iwai 1eff14
.init.text:init_prcm_registers()
Takashi Iwai 1eff14
The function db8500_prcmu_probe() references
Takashi Iwai 1eff14
the function __init init_prcm_registers().
Takashi Iwai 1eff14
This is often because db8500_prcmu_probe lacks a __init
Takashi Iwai 1eff14
annotation or the annotation of init_prcm_registers is wrong.
Takashi Iwai 1eff14
Takashi Iwai 1eff14
Warning: vmlinux.o(.text+0x723e28): Section mismatch in reference from
Takashi Iwai 1eff14
the function db8500_prcmu_probe() to the function
Takashi Iwai 1eff14
.init.text:fw_project_name()
Takashi Iwai 1eff14
The function db8500_prcmu_probe() references
Takashi Iwai 1eff14
the function __init fw_project_name().
Takashi Iwai 1eff14
This is often because db8500_prcmu_probe lacks a __init
Takashi Iwai 1eff14
annotation or the annotation of fw_project_name is wrong.
Takashi Iwai 1eff14
Takashi Iwai 1eff14
db8500_prcmu_probe should not be marked as __init so remove the __init
Takashi Iwai 1eff14
annotation from fw_project_name and init_prcm_registers.
Takashi Iwai 1eff14
Takashi Iwai 1eff14
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Takashi Iwai 1eff14
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Takashi Iwai 1eff14
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 1eff14
Takashi Iwai 1eff14
---
Takashi Iwai 1eff14
 drivers/mfd/db8500-prcmu.c | 4 ++--
Takashi Iwai 1eff14
 1 file changed, 2 insertions(+), 2 deletions(-)
Takashi Iwai 1eff14
Takashi Iwai 1eff14
diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c
Takashi Iwai 1eff14
index 5970b8def548..aec20e1c7d3d 100644
Takashi Iwai 1eff14
--- a/drivers/mfd/db8500-prcmu.c
Takashi Iwai 1eff14
+++ b/drivers/mfd/db8500-prcmu.c
Takashi Iwai 1eff14
@@ -2584,7 +2584,7 @@ static struct irq_chip prcmu_irq_chip = {
Takashi Iwai 1eff14
 	.irq_unmask	= prcmu_irq_unmask,
Takashi Iwai 1eff14
 };
Takashi Iwai 1eff14
 
Takashi Iwai 1eff14
-static __init char *fw_project_name(u32 project)
Takashi Iwai 1eff14
+static char *fw_project_name(u32 project)
Takashi Iwai 1eff14
 {
Takashi Iwai 1eff14
 	switch (project) {
Takashi Iwai 1eff14
 	case PRCMU_FW_PROJECT_U8500:
Takashi Iwai 1eff14
@@ -2732,7 +2732,7 @@ void __init db8500_prcmu_early_init(u32 phy_base, u32 size)
Takashi Iwai 1eff14
 	INIT_WORK(&mb0_transfer.mask_work, prcmu_mask_work);
Takashi Iwai 1eff14
 }
Takashi Iwai 1eff14
 
Takashi Iwai 1eff14
-static void __init init_prcm_registers(void)
Takashi Iwai 1eff14
+static void init_prcm_registers(void)
Takashi Iwai 1eff14
 {
Takashi Iwai 1eff14
 	u32 val;
Takashi Iwai 1eff14
 
Takashi Iwai 1eff14
-- 
Takashi Iwai 1eff14
2.16.4
Takashi Iwai 1eff14