[SPARC64]: Fix section mismatchs from dr_cpu_data
authorSam Ravnborg <sam@ravnborg.org>
Mon, 25 Feb 2008 03:47:51 +0000 (19:47 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Feb 2008 03:47:51 +0000 (19:47 -0800)
Fix following warnings:
WARNING: vmlinux.o(.text+0x4b258): Section mismatch in reference from the function dr_cpu_data() to the function .devinit.text:mdesc_fill_in_cpu_data()
WARNING: vmlinux.o(.text+0x4b290): Section mismatch in reference from the function dr_cpu_data() to the function .cpuinit.text:cpu_up()

mdesc_fill_in_cpu_data() is only used during early init and for
cpu hotplug so the __cpuinit annotation is the correct choice.
We have the call chain:
dr_cpu_data() => dr_cpu_configure() => mdesc_fill_in_cpu_data()

dr_cpu_data() is used only during early init and for cpu
hotplug. So annotating them all __cpuinit solves the
section mismatch and should be correct.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/ds.c
arch/sparc64/kernel/mdesc.c

index eeb5a2fc788d2615e47660ae7c6962ca1777126a..bd76482077be66aa3e9e1d6e22d3523a34e4597a 100644 (file)
@@ -525,10 +525,10 @@ static void dr_cpu_mark(struct ds_data *resp, int cpu, int ncpus,
        }
 }
 
-static int dr_cpu_configure(struct ds_info *dp,
-                           struct ds_cap_state *cp,
-                           u64 req_num,
-                           cpumask_t *mask)
+static int __cpuinit dr_cpu_configure(struct ds_info *dp,
+                                     struct ds_cap_state *cp,
+                                     u64 req_num,
+                                     cpumask_t *mask)
 {
        struct ds_data *resp;
        int resp_len, ncpus, cpu;
@@ -623,9 +623,9 @@ static int dr_cpu_unconfigure(struct ds_info *dp,
        return 0;
 }
 
-static void dr_cpu_data(struct ds_info *dp,
-                       struct ds_cap_state *cp,
-                       void *buf, int len)
+static void __cpuinit dr_cpu_data(struct ds_info *dp,
+                                 struct ds_cap_state *cp,
+                                 void *buf, int len)
 {
        struct ds_data *data = buf;
        struct dr_cpu_tag *tag = (struct dr_cpu_tag *) (data + 1);
index 856659bb13116ed7444c263ec1a9f8087c660ec7..9100835895691e1c8f93f6ac38b8bfcf42db7132 100644 (file)
@@ -758,7 +758,7 @@ static void __devinit get_mondo_data(struct mdesc_handle *hp, u64 mp,
        get_one_mondo_bits(val, &tb->nonresum_qmask, 2);
 }
 
-void __devinit mdesc_fill_in_cpu_data(cpumask_t mask)
+void __cpuinit mdesc_fill_in_cpu_data(cpumask_t mask)
 {
        struct mdesc_handle *hp = mdesc_grab();
        u64 mp;