Commit 3ff6eecca4e5c49a5d1dd8b58ea0e20102ce08f0
Committed by
Sam Ravnborg
1 parent
bc395add94
Exists in
master
and in
4 other branches
remove __attribute_used__
Remove the deprecated __attribute_used__. [Introduce __section in a few places to silence checkpatch /sam] Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Showing 22 changed files with 41 additions and 50 deletions Side-by-side Diff
- arch/alpha/lib/dec_and_lock.c
- arch/powerpc/boot/Makefile
- arch/powerpc/kernel/sysfs.c
- arch/powerpc/oprofile/op_model_power4.c
- arch/sparc64/kernel/unaligned.c
- arch/um/include/init.h
- drivers/rapidio/rio.h
- fs/compat_ioctl.c
- include/asm-avr32/setup.h
- include/asm-ia64/gcc_intrin.h
- include/asm-sh/machvec.h
- include/asm-sh/thread_info.h
- include/asm-x86/thread_info_32.h
- include/linux/compiler-gcc3.h
- include/linux/compiler-gcc4.h
- include/linux/compiler.h
- include/linux/elfnote.h
- include/linux/init.h
- include/linux/module.h
- include/linux/moduleparam.h
- include/linux/pci.h
- scripts/mod/modpost.c
arch/alpha/lib/dec_and_lock.c
... | ... | @@ -30,8 +30,7 @@ |
30 | 30 | .previous \n\ |
31 | 31 | .end _atomic_dec_and_lock"); |
32 | 32 | |
33 | -static int __attribute_used__ | |
34 | -atomic_dec_and_lock_1(atomic_t *atomic, spinlock_t *lock) | |
33 | +static int __used atomic_dec_and_lock_1(atomic_t *atomic, spinlock_t *lock) | |
35 | 34 | { |
36 | 35 | /* Slow path */ |
37 | 36 | spin_lock(lock); |
arch/powerpc/boot/Makefile
... | ... | @@ -65,7 +65,7 @@ |
65 | 65 | obj-plat := $(addsuffix .o, $(basename $(addprefix $(obj)/, $(src-plat)))) |
66 | 66 | |
67 | 67 | quiet_cmd_copy_zlib = COPY $@ |
68 | - cmd_copy_zlib = sed "s@__attribute_used__@@;s@<linux/\([^>]*\).*@\"\"@" $< > $@ | |
68 | + cmd_copy_zlib = sed "s@__used@@;s@<linux/\([^>]*\).*@\"\"@" $< > $@ | |
69 | 69 | |
70 | 70 | quiet_cmd_copy_zlibheader = COPY $@ |
71 | 71 | cmd_copy_zlibheader = sed "s@<linux/\([^>]*\).*@\"\1\"@" $< > $@ |
arch/powerpc/kernel/sysfs.c
... | ... | @@ -158,7 +158,7 @@ |
158 | 158 | unsigned long val = run_on_cpu(cpu->sysdev.id, read_##NAME, 0); \ |
159 | 159 | return sprintf(buf, "%lx\n", val); \ |
160 | 160 | } \ |
161 | -static ssize_t __attribute_used__ \ | |
161 | +static ssize_t __used \ | |
162 | 162 | store_##NAME(struct sys_device *dev, const char *buf, size_t count) \ |
163 | 163 | { \ |
164 | 164 | struct cpu *cpu = container_of(dev, struct cpu, sysdev); \ |
arch/powerpc/oprofile/op_model_power4.c
... | ... | @@ -172,15 +172,15 @@ |
172 | 172 | } |
173 | 173 | |
174 | 174 | /* Fake functions used by canonicalize_pc */ |
175 | -static void __attribute_used__ hypervisor_bucket(void) | |
175 | +static void __used hypervisor_bucket(void) | |
176 | 176 | { |
177 | 177 | } |
178 | 178 | |
179 | -static void __attribute_used__ rtas_bucket(void) | |
179 | +static void __used rtas_bucket(void) | |
180 | 180 | { |
181 | 181 | } |
182 | 182 | |
183 | -static void __attribute_used__ kernel_unknown_bucket(void) | |
183 | +static void __used kernel_unknown_bucket(void) | |
184 | 184 | { |
185 | 185 | } |
186 | 186 |
arch/sparc64/kernel/unaligned.c
... | ... | @@ -175,7 +175,7 @@ |
175 | 175 | } |
176 | 176 | |
177 | 177 | /* This is just to make gcc think die_if_kernel does return... */ |
178 | -static void __attribute_used__ unaligned_panic(char *str, struct pt_regs *regs) | |
178 | +static void __used unaligned_panic(char *str, struct pt_regs *regs) | |
179 | 179 | { |
180 | 180 | die_if_kernel(str, regs); |
181 | 181 | } |
arch/um/include/init.h
... | ... | @@ -42,15 +42,15 @@ |
42 | 42 | |
43 | 43 | /* These are for everybody (although not all archs will actually |
44 | 44 | discard it in modules) */ |
45 | -#define __init __attribute__ ((__section__ (".init.text"))) | |
46 | -#define __initdata __attribute__ ((__section__ (".init.data"))) | |
47 | -#define __exitdata __attribute__ ((__section__(".exit.data"))) | |
48 | -#define __exit_call __attribute_used__ __attribute__ ((__section__ (".exitcall.exit"))) | |
45 | +#define __init __section(.init.text) | |
46 | +#define __initdata __section(.init.data) | |
47 | +#define __exitdata __section(.exit.data) | |
48 | +#define __exit_call __used __section(.exitcall.exit) | |
49 | 49 | |
50 | 50 | #ifdef MODULE |
51 | -#define __exit __attribute__ ((__section__(".exit.text"))) | |
51 | +#define __exit __section(.exit.text) | |
52 | 52 | #else |
53 | -#define __exit __attribute_used__ __attribute__ ((__section__(".exit.text"))) | |
53 | +#define __exit __used __section(.exit.text) | |
54 | 54 | #endif |
55 | 55 | |
56 | 56 | #endif |
57 | 57 | |
... | ... | @@ -103,16 +103,16 @@ |
103 | 103 | * Mark functions and data as being only used at initialization |
104 | 104 | * or exit time. |
105 | 105 | */ |
106 | -#define __uml_init_setup __attribute_used__ __attribute__ ((__section__ (".uml.setup.init"))) | |
107 | -#define __uml_setup_help __attribute_used__ __attribute__ ((__section__ (".uml.help.init"))) | |
108 | -#define __uml_init_call __attribute_used__ __attribute__ ((__section__ (".uml.initcall.init"))) | |
109 | -#define __uml_postsetup_call __attribute_used__ __attribute__ ((__section__ (".uml.postsetup.init"))) | |
110 | -#define __uml_exit_call __attribute_used__ __attribute__ ((__section__ (".uml.exitcall.exit"))) | |
106 | +#define __uml_init_setup __used __section(.uml.setup.init) | |
107 | +#define __uml_setup_help __used __section(.uml.help.init) | |
108 | +#define __uml_init_call __used __section(.uml.initcall.init) | |
109 | +#define __uml_postsetup_call __used __section(.uml.postsetup.init) | |
110 | +#define __uml_exit_call __used __section(.uml.exitcall.exit) | |
111 | 111 | |
112 | 112 | #ifndef __KERNEL__ |
113 | 113 | |
114 | 114 | #define __define_initcall(level,fn) \ |
115 | - static initcall_t __initcall_##fn __attribute_used__ \ | |
115 | + static initcall_t __initcall_##fn __used \ | |
116 | 116 | __attribute__((__section__(".initcall" level ".init"))) = fn |
117 | 117 | |
118 | 118 | /* Userspace initcalls shouldn't depend on anything in the kernel, so we'll |
... | ... | @@ -122,7 +122,7 @@ |
122 | 122 | |
123 | 123 | #define __exitcall(fn) static exitcall_t __exitcall_##fn __exit_call = fn |
124 | 124 | |
125 | -#define __init_call __attribute_used__ __attribute__ ((__section__ (".initcall.init"))) | |
125 | +#define __init_call __used __section(.initcall.init) | |
126 | 126 | |
127 | 127 | #endif |
128 | 128 |
drivers/rapidio/rio.h
... | ... | @@ -31,8 +31,8 @@ |
31 | 31 | |
32 | 32 | /* Helpers internal to the RIO core code */ |
33 | 33 | #define DECLARE_RIO_ROUTE_SECTION(section, vid, did, add_hook, get_hook) \ |
34 | - static struct rio_route_ops __rio_route_ops __attribute_used__ \ | |
35 | - __attribute__((__section__(#section))) = { vid, did, add_hook, get_hook }; | |
34 | + static struct rio_route_ops __rio_route_ops __used \ | |
35 | + __section(section)= { vid, did, add_hook, get_hook }; | |
36 | 36 | |
37 | 37 | /** |
38 | 38 | * DECLARE_RIO_ROUTE_OPS - Registers switch routing operations |
fs/compat_ioctl.c
include/asm-avr32/setup.h
... | ... | @@ -110,7 +110,7 @@ |
110 | 110 | int (*parse)(struct tag *); |
111 | 111 | }; |
112 | 112 | |
113 | -#define __tag __attribute_used__ __attribute__((__section__(".taglist.init"))) | |
113 | +#define __tag __used __attribute__((__section__(".taglist.init"))) | |
114 | 114 | #define __tagtable(tag, fn) \ |
115 | 115 | static struct tagtable __tagtable_##fn __tag = { tag, fn } |
116 | 116 |
include/asm-ia64/gcc_intrin.h
... | ... | @@ -24,7 +24,7 @@ |
24 | 24 | extern void ia64_bad_param_for_setreg (void); |
25 | 25 | extern void ia64_bad_param_for_getreg (void); |
26 | 26 | |
27 | -register unsigned long ia64_r13 asm ("r13") __attribute_used__; | |
27 | +register unsigned long ia64_r13 asm ("r13") __used; | |
28 | 28 | |
29 | 29 | #define ia64_setreg(regnum, val) \ |
30 | 30 | ({ \ |
include/asm-sh/machvec.h
include/asm-sh/thread_info.h
... | ... | @@ -68,7 +68,7 @@ |
68 | 68 | #define init_stack (init_thread_union.stack) |
69 | 69 | |
70 | 70 | /* how to get the current stack pointer from C */ |
71 | -register unsigned long current_stack_pointer asm("r15") __attribute_used__; | |
71 | +register unsigned long current_stack_pointer asm("r15") __used; | |
72 | 72 | |
73 | 73 | /* how to get the thread information struct from C */ |
74 | 74 | static inline struct thread_info *current_thread_info(void) |
include/asm-x86/thread_info_32.h
... | ... | @@ -85,7 +85,7 @@ |
85 | 85 | |
86 | 86 | |
87 | 87 | /* how to get the current stack pointer from C */ |
88 | -register unsigned long current_stack_pointer asm("esp") __attribute_used__; | |
88 | +register unsigned long current_stack_pointer asm("esp") __used; | |
89 | 89 | |
90 | 90 | /* how to get the thread information struct from C */ |
91 | 91 | static inline struct thread_info *current_thread_info(void) |
include/linux/compiler-gcc3.h
... | ... | @@ -7,10 +7,8 @@ |
7 | 7 | |
8 | 8 | #if __GNUC_MINOR__ >= 3 |
9 | 9 | # define __used __attribute__((__used__)) |
10 | -# define __attribute_used__ __used /* deprecated */ | |
11 | 10 | #else |
12 | 11 | # define __used __attribute__((__unused__)) |
13 | -# define __attribute_used__ __used /* deprecated */ | |
14 | 12 | #endif |
15 | 13 | |
16 | 14 | #if __GNUC_MINOR__ >= 4 |
include/linux/compiler-gcc4.h
... | ... | @@ -15,7 +15,6 @@ |
15 | 15 | #endif |
16 | 16 | |
17 | 17 | #define __used __attribute__((__used__)) |
18 | -#define __attribute_used__ __used /* deprecated */ | |
19 | 18 | #define __must_check __attribute__((warn_unused_result)) |
20 | 19 | #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) |
21 | 20 | #define __always_inline inline __attribute__((always_inline)) |
include/linux/compiler.h
... | ... | @@ -126,10 +126,6 @@ |
126 | 126 | * Mark functions that are referenced only in inline assembly as __used so |
127 | 127 | * the code is emitted even though it appears to be unreferenced. |
128 | 128 | */ |
129 | -#ifndef __attribute_used__ | |
130 | -# define __attribute_used__ /* deprecated */ | |
131 | -#endif | |
132 | - | |
133 | 129 | #ifndef __used |
134 | 130 | # define __used /* unimplemented */ |
135 | 131 | #endif |
include/linux/elfnote.h
... | ... | @@ -76,7 +76,7 @@ |
76 | 76 | typeof(desc) _desc \ |
77 | 77 | __attribute__((aligned(sizeof(Elf##size##_Word)))); \ |
78 | 78 | } _ELFNOTE_PASTE(_note_, unique) \ |
79 | - __attribute_used__ \ | |
79 | + __used \ | |
80 | 80 | __attribute__((section(".note." name), \ |
81 | 81 | aligned(sizeof(Elf##size##_Word)), \ |
82 | 82 | unused)) = { \ |
include/linux/init.h
... | ... | @@ -43,7 +43,7 @@ |
43 | 43 | #define __init __section(.init.text) __cold |
44 | 44 | #define __initdata __section(.init.data) |
45 | 45 | #define __exitdata __section(.exit.data) |
46 | -#define __exit_call __attribute_used__ __section(.exitcall.exit) | |
46 | +#define __exit_call __used __section(.exitcall.exit) | |
47 | 47 | |
48 | 48 | /* modpost check for section mismatches during the kernel build. |
49 | 49 | * A section mismatch happens when there are references from a |
... | ... | @@ -144,7 +144,7 @@ |
144 | 144 | */ |
145 | 145 | |
146 | 146 | #define __define_initcall(level,fn,id) \ |
147 | - static initcall_t __initcall_##fn##id __attribute_used__ \ | |
147 | + static initcall_t __initcall_##fn##id __used \ | |
148 | 148 | __attribute__((__section__(".initcall" level ".init"))) = fn |
149 | 149 | |
150 | 150 | /* |
151 | 151 | |
... | ... | @@ -178,11 +178,11 @@ |
178 | 178 | |
179 | 179 | #define console_initcall(fn) \ |
180 | 180 | static initcall_t __initcall_##fn \ |
181 | - __attribute_used__ __section(.con_initcall.init)=fn | |
181 | + __used __section(.con_initcall.init) = fn | |
182 | 182 | |
183 | 183 | #define security_initcall(fn) \ |
184 | 184 | static initcall_t __initcall_##fn \ |
185 | - __attribute_used__ __section(.security_initcall.init) = fn | |
185 | + __used __section(.security_initcall.init) = fn | |
186 | 186 | |
187 | 187 | struct obs_kernel_param { |
188 | 188 | const char *str; |
... | ... | @@ -199,8 +199,7 @@ |
199 | 199 | #define __setup_param(str, unique_id, fn, early) \ |
200 | 200 | static char __setup_str_##unique_id[] __initdata __aligned(1) = str; \ |
201 | 201 | static struct obs_kernel_param __setup_##unique_id \ |
202 | - __attribute_used__ \ | |
203 | - __section(.init.setup) \ | |
202 | + __used __section(.init.setup) \ | |
204 | 203 | __attribute__((aligned((sizeof(long))))) \ |
205 | 204 | = { __setup_str_##unique_id, fn, early } |
206 | 205 |
include/linux/module.h
... | ... | @@ -178,7 +178,7 @@ |
178 | 178 | #define __CRC_SYMBOL(sym, sec) \ |
179 | 179 | extern void *__crc_##sym __attribute__((weak)); \ |
180 | 180 | static const unsigned long __kcrctab_##sym \ |
181 | - __attribute_used__ \ | |
181 | + __used \ | |
182 | 182 | __attribute__((section("__kcrctab" sec), unused)) \ |
183 | 183 | = (unsigned long) &__crc_##sym; |
184 | 184 | #else |
... | ... | @@ -193,7 +193,7 @@ |
193 | 193 | __attribute__((section("__ksymtab_strings"))) \ |
194 | 194 | = MODULE_SYMBOL_PREFIX #sym; \ |
195 | 195 | static const struct kernel_symbol __ksymtab_##sym \ |
196 | - __attribute_used__ \ | |
196 | + __used \ | |
197 | 197 | __attribute__((section("__ksymtab" sec), unused)) \ |
198 | 198 | = { (unsigned long)&sym, __kstrtab_##sym } |
199 | 199 |
include/linux/moduleparam.h
... | ... | @@ -18,7 +18,7 @@ |
18 | 18 | #define __module_cat(a,b) ___module_cat(a,b) |
19 | 19 | #define __MODULE_INFO(tag, name, info) \ |
20 | 20 | static const char __module_cat(name,__LINE__)[] \ |
21 | - __attribute_used__ \ | |
21 | + __used \ | |
22 | 22 | __attribute__((section(".modinfo"),unused)) = __stringify(tag) "=" info |
23 | 23 | #else /* !MODULE */ |
24 | 24 | #define __MODULE_INFO(tag, name, info) |
... | ... | @@ -72,7 +72,7 @@ |
72 | 72 | BUILD_BUG_ON_ZERO((perm) < 0 || (perm) > 0777 || ((perm) & 2)); \ |
73 | 73 | static const char __param_str_##name[] = prefix #name; \ |
74 | 74 | static struct kernel_param const __param_##name \ |
75 | - __attribute_used__ \ | |
75 | + __used \ | |
76 | 76 | __attribute__ ((unused,__section__ ("__param"),aligned(sizeof(void *)))) \ |
77 | 77 | = { __param_str_##name, perm, set, get, { arg } } |
78 | 78 |
include/linux/pci.h
... | ... | @@ -867,7 +867,7 @@ |
867 | 867 | |
868 | 868 | /* Anonymous variables would be nice... */ |
869 | 869 | #define DECLARE_PCI_FIXUP_SECTION(section, name, vendor, device, hook) \ |
870 | - static const struct pci_fixup __pci_fixup_##name __attribute_used__ \ | |
870 | + static const struct pci_fixup __pci_fixup_##name __used \ | |
871 | 871 | __attribute__((__section__(#section))) = { vendor, device, hook }; |
872 | 872 | #define DECLARE_PCI_FIXUP_EARLY(vendor, device, hook) \ |
873 | 873 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ |
scripts/mod/modpost.c
... | ... | @@ -1445,7 +1445,7 @@ |
1445 | 1445 | |
1446 | 1446 | buf_printf(b, "\n"); |
1447 | 1447 | buf_printf(b, "static const struct modversion_info ____versions[]\n"); |
1448 | - buf_printf(b, "__attribute_used__\n"); | |
1448 | + buf_printf(b, "__used\n"); | |
1449 | 1449 | buf_printf(b, "__attribute__((section(\"__versions\"))) = {\n"); |
1450 | 1450 | |
1451 | 1451 | for (s = mod->unres; s; s = s->next) { |
... | ... | @@ -1476,7 +1476,7 @@ |
1476 | 1476 | |
1477 | 1477 | buf_printf(b, "\n"); |
1478 | 1478 | buf_printf(b, "static const char __module_depends[]\n"); |
1479 | - buf_printf(b, "__attribute_used__\n"); | |
1479 | + buf_printf(b, "__used\n"); | |
1480 | 1480 | buf_printf(b, "__attribute__((section(\".modinfo\"))) =\n"); |
1481 | 1481 | buf_printf(b, "\"depends="); |
1482 | 1482 | for (s = mod->unres; s; s = s->next) { |