.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0 |
---|
1 | 2 | /* |
---|
2 | 3 | * arch/sh/kernel/machvec.c |
---|
3 | 4 | * |
---|
.. | .. |
---|
5 | 6 | * |
---|
6 | 7 | * Copyright (C) 1999 Niibe Yutaka |
---|
7 | 8 | * Copyright (C) 2002 - 2007 Paul Mundt |
---|
8 | | - * |
---|
9 | | - * This file is subject to the terms and conditions of the GNU General Public |
---|
10 | | - * License. See the file "COPYING" in the main directory of this archive |
---|
11 | | - * for more details. |
---|
12 | 9 | */ |
---|
13 | 10 | #include <linux/init.h> |
---|
14 | 11 | #include <linux/string.h> |
---|
.. | .. |
---|
18 | 15 | #include <asm/setup.h> |
---|
19 | 16 | #include <asm/io.h> |
---|
20 | 17 | #include <asm/irq.h> |
---|
| 18 | +#include <asm/processor.h> |
---|
21 | 19 | |
---|
22 | 20 | #define MV_NAME_SIZE 32 |
---|
23 | 21 | |
---|
24 | 22 | #define for_each_mv(mv) \ |
---|
25 | | - for ((mv) = (struct sh_machine_vector *)&__machvec_start; \ |
---|
26 | | - (mv) && (unsigned long)(mv) < (unsigned long)&__machvec_end; \ |
---|
| 23 | + for ((mv) = (struct sh_machine_vector *)__machvec_start; \ |
---|
| 24 | + (mv) && (unsigned long)(mv) < (unsigned long)__machvec_end; \ |
---|
27 | 25 | (mv)++) |
---|
28 | 26 | |
---|
29 | 27 | static struct sh_machine_vector * __init get_mv_byname(const char *name) |
---|
.. | .. |
---|
67 | 65 | |
---|
68 | 66 | mvp = get_mv_byname(mv_name); |
---|
69 | 67 | if (unlikely(!mvp)) { |
---|
70 | | - printk("Available vectors:\n\n\t'%s', ", sh_mv.mv_name); |
---|
| 68 | + pr_info("Available vectors:\n\n\t'%s', ", sh_mv.mv_name); |
---|
71 | 69 | for_each_mv(mvp) |
---|
72 | | - printk("'%s', ", mvp->mv_name); |
---|
73 | | - printk("\n\n"); |
---|
| 70 | + pr_cont("'%s', ", mvp->mv_name); |
---|
| 71 | + pr_cont("\n\n"); |
---|
74 | 72 | panic("Failed to select machvec '%s' -- halting.\n", |
---|
75 | 73 | mv_name); |
---|
76 | 74 | } else |
---|
.. | .. |
---|
89 | 87 | if (!machvec_selected) { |
---|
90 | 88 | unsigned long machvec_size; |
---|
91 | 89 | |
---|
92 | | - machvec_size = ((unsigned long)&__machvec_end - |
---|
93 | | - (unsigned long)&__machvec_start); |
---|
| 90 | + machvec_size = ((unsigned long)__machvec_end - |
---|
| 91 | + (unsigned long)__machvec_start); |
---|
94 | 92 | |
---|
95 | 93 | /* |
---|
96 | 94 | * Sanity check for machvec section alignment. Ensure |
---|
.. | .. |
---|
104 | 102 | * vector (usually the only one) from .machvec.init. |
---|
105 | 103 | */ |
---|
106 | 104 | if (machvec_size >= sizeof(struct sh_machine_vector)) |
---|
107 | | - sh_mv = *(struct sh_machine_vector *)&__machvec_start; |
---|
| 105 | + sh_mv = *(struct sh_machine_vector *)__machvec_start; |
---|
108 | 106 | } |
---|
109 | 107 | |
---|
110 | | - printk(KERN_NOTICE "Booting machvec: %s\n", get_system_type()); |
---|
| 108 | + pr_notice("Booting machvec: %s\n", get_system_type()); |
---|
111 | 109 | |
---|
112 | 110 | /* |
---|
113 | 111 | * Manually walk the vec, fill in anything that the board hasn't yet |
---|