Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Adrian Bunk and committed by
Sam Ravnborg
3ff6eecc bc395add

+41 -50
+1 -2
arch/alpha/lib/dec_and_lock.c
··· 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);
+1 -1
arch/powerpc/boot/Makefile
··· 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/\([^>]*\).*@\"\1\"@" $< > $@ 68 + cmd_copy_zlib = sed "s@__used@@;s@<linux/\([^>]*\).*@\"\1\"@" $< > $@ 69 69 70 70 quiet_cmd_copy_zlibheader = COPY $@ 71 71 cmd_copy_zlibheader = sed "s@<linux/\([^>]*\).*@\"\1\"@" $< > $@
+1 -1
arch/powerpc/kernel/sysfs.c
··· 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); \
+3 -3
arch/powerpc/oprofile/op_model_power4.c
··· 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
+1 -1
arch/sparc64/kernel/unaligned.c
··· 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 }
+13 -13
arch/um/include/init.h
··· 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 ··· 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 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
+2 -2
drivers/rapidio/rio.h
··· 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
+1 -1
fs/compat_ioctl.c
··· 1376 1376 return -EINVAL; 1377 1377 } 1378 1378 1379 - static __attribute_used__ int 1379 + static __used int 1380 1380 ret_einval(unsigned int fd, unsigned int cmd, unsigned long arg) 1381 1381 { 1382 1382 return -EINVAL;
+1 -1
include/asm-avr32/setup.h
··· 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
+1 -1
include/asm-ia64/gcc_intrin.h
··· 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 ({ \
+1 -1
include/asm-sh/machvec.h
··· 65 65 #define get_system_type() sh_mv.mv_name 66 66 67 67 #define __initmv \ 68 - __attribute_used__ __attribute__((__section__ (".machvec.init"))) 68 + __used __section(.machvec.init) 69 69 70 70 #endif /* _ASM_SH_MACHVEC_H */
+1 -1
include/asm-sh/thread_info.h
··· 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)
+1 -1
include/asm-x86/thread_info_32.h
··· 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)
-2
include/linux/compiler-gcc3.h
··· 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
-1
include/linux/compiler-gcc4.h
··· 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))
-4
include/linux/compiler.h
··· 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
+1 -1
include/linux/elfnote.h
··· 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)) = { \
+5 -6
include/linux/init.h
··· 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 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 /* ··· 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 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
+2 -2
include/linux/module.h
··· 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 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
+2 -2
include/linux/moduleparam.h
··· 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 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
+1 -1
include/linux/pci.h
··· 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, \
+2 -2
scripts/mod/modpost.c
··· 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 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) {