| @@ -861,24 +861,23 @@ static void check_section(const char *modname, struct elf_info *elf, · 860 unmodified lines |
| 861 | 861 | |
| 862 | 862 | |
| 863 | 863 | #define ALL_INIT_DATA_SECTIONS \ |
| 864 | | − ".init.setup$", ".init.rodata$", \ |
| 865 | | − ".cpuinit.rodata$", ".meminit.rodata$", \ |
| 866 | | − ".init.data$", ".cpuinit.data$", ".meminit.data$" |
| 864 | + ".init.setup$", ".init.rodata$", ".meminit.rodata$", \ |
| 865 | + ".init.data$", ".meminit.data$" |
| 867 | 866 | #define ALL_EXIT_DATA_SECTIONS \ |
| 868 | | − ".exit.data$", ".cpuexit.data$", ".memexit.data$" |
| 867 | + ".exit.data$", ".memexit.data$" |
| 869 | 868 | |
| 870 | 869 | #define ALL_INIT_TEXT_SECTIONS \ |
| 871 | | − ".init.text$", ".cpuinit.text$", ".meminit.text$" |
| 870 | + ".init.text$", ".meminit.text$" |
| 872 | 871 | #define ALL_EXIT_TEXT_SECTIONS \ |
| 873 | | − ".exit.text$", ".cpuexit.text$", ".memexit.text$" |
| 872 | + ".exit.text$", ".memexit.text$" |
| 874 | 873 | |
| 875 | 874 | #define ALL_PCI_INIT_SECTIONS \ |
| 876 | 875 | ".pci_fixup_early$", ".pci_fixup_header$", ".pci_fixup_final$", \ |
| 877 | 876 | ".pci_fixup_enable$", ".pci_fixup_resume$", \ |
| 878 | 877 | ".pci_fixup_resume_early$", ".pci_fixup_suspend$" |
| 879 | 878 | |
| 880 | | −#define ALL_XXXINIT_SECTIONS CPU_INIT_SECTIONS, MEM_INIT_SECTIONS |
| 881 | | −#define ALL_XXXEXIT_SECTIONS CPU_EXIT_SECTIONS, MEM_EXIT_SECTIONS |
| 879 | +#define ALL_XXXINIT_SECTIONS MEM_INIT_SECTIONS |
| 880 | +#define ALL_XXXEXIT_SECTIONS MEM_EXIT_SECTIONS |
| 882 | 881 | |
| 883 | 882 | #define ALL_INIT_SECTIONS INIT_SECTIONS, ALL_XXXINIT_SECTIONS |
| 884 | 883 | #define ALL_EXIT_SECTIONS EXIT_SECTIONS, ALL_XXXEXIT_SECTIONS |
| @@ -887,11 +886,9 @@ static void check_section(const char *modname, struct elf_info *elf, · 2 unmodified lines |
| 887 | 886 | #define TEXT_SECTIONS ".text$", ".text.unlikely$" |
| 888 | 887 | |
| 889 | 888 | #define INIT_SECTIONS ".init.*" |
| 890 | | −#define CPU_INIT_SECTIONS ".cpuinit.*" |
| 891 | 889 | #define MEM_INIT_SECTIONS ".meminit.*" |
| 892 | 890 | |
| 893 | 891 | #define EXIT_SECTIONS ".exit.*" |
| 894 | | −#define CPU_EXIT_SECTIONS ".cpuexit.*" |
| 895 | 892 | #define MEM_EXIT_SECTIONS ".memexit.*" |
| 896 | 893 | |
| 897 | 894 | /* init data sections */ |
| @@ -979,48 +976,20 @@ const struct sectioncheck sectioncheck[] = { · 81 unmodified lines |
| 979 | 976 | .mismatch = DATA_TO_ANY_EXIT, |
| 980 | 977 | .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, |
| 981 | 978 | }, |
| 982 | | −/* Do not reference init code/data from cpuinit/meminit code/data */ |
| 979 | +/* Do not reference init code/data from meminit code/data */ |
| 983 | 980 | { |
| 984 | 981 | .fromsec = { ALL_XXXINIT_SECTIONS, NULL }, |
| 985 | 982 | .tosec = { INIT_SECTIONS, NULL }, |
| 986 | 983 | .mismatch = XXXINIT_TO_SOME_INIT, |
| 987 | 984 | .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, |
| 988 | 985 | }, |
| 989 | | −/* Do not reference cpuinit code/data from meminit code/data */ |
| 990 | | −{ |
| 991 | | − .fromsec = { MEM_INIT_SECTIONS, NULL }, |
| 992 | | − .tosec = { CPU_INIT_SECTIONS, NULL }, |
| 993 | | − .mismatch = XXXINIT_TO_SOME_INIT, |
| 994 | | − .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, |
| 995 | | −}, |
| 996 | | −/* Do not reference meminit code/data from cpuinit code/data */ |
| 997 | | −{ |
| 998 | | − .fromsec = { CPU_INIT_SECTIONS, NULL }, |
| 999 | | − .tosec = { MEM_INIT_SECTIONS, NULL }, |
| 1000 | | − .mismatch = XXXINIT_TO_SOME_INIT, |
| 1001 | | − .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, |
| 1002 | | −}, |
| 1003 | | −/* Do not reference exit code/data from cpuexit/memexit code/data */ |
| 986 | +/* Do not reference exit code/data from memexit code/data */ |
| 1004 | 987 | { |
| 1005 | 988 | .fromsec = { ALL_XXXEXIT_SECTIONS, NULL }, |
| 1006 | 989 | .tosec = { EXIT_SECTIONS, NULL }, |
| 1007 | 990 | .mismatch = XXXEXIT_TO_SOME_EXIT, |
| 1008 | 991 | .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, |
| 1009 | 992 | }, |
| 1010 | | −/* Do not reference cpuexit code/data from memexit code/data */ |
| 1011 | | −{ |
| 1012 | | − .fromsec = { MEM_EXIT_SECTIONS, NULL }, |
| 1013 | | − .tosec = { CPU_EXIT_SECTIONS, NULL }, |
| 1014 | | − .mismatch = XXXEXIT_TO_SOME_EXIT, |
| 1015 | | − .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, |
| 1016 | | −}, |
| 1017 | | −/* Do not reference memexit code/data from cpuexit code/data */ |
| 1018 | | −{ |
| 1019 | | − .fromsec = { CPU_EXIT_SECTIONS, NULL }, |
| 1020 | | − .tosec = { MEM_EXIT_SECTIONS, NULL }, |
| 1021 | | − .mismatch = XXXEXIT_TO_SOME_EXIT, |
| 1022 | | − .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, |
| 1023 | | −}, |
| 1024 | 993 | /* Do not use exit code/data from init code */ |
| 1025 | 994 | { |
| 1026 | 995 | .fromsec = { ALL_INIT_SECTIONS, NULL }, |
| @@ -1089,8 +1058,6 @@ static const struct sectioncheck *section_mismatch( · 62 unmodified lines |
| 1089 | 1058 | * Pattern 2: |
| 1090 | 1059 | * Many drivers utilise a *driver container with references to |
| 1091 | 1060 | * add, remove, probe functions etc. |
| 1092 | | − * These functions may often be marked __cpuinit and we do not want to |
| 1093 | | − * warn here. |
| 1094 | 1061 | * the pattern is identified by: |
| 1095 | 1062 | * tosec = init or exit section |
| 1096 | 1063 | * fromsec = data section |
| @@ -1249,7 +1216,6 @@ static Elf_Sym *find_elf_symbol2(struct elf_info *elf, Elf_Addr addr, · 152 unmodified lines |
| 1249 | 1216 | /* |
| 1250 | 1217 | * Convert a section name to the function/data attribute |
| 1251 | 1218 | * .init.text => __init |
| 1252 | | − * .cpuinit.data => __cpudata |
| 1253 | 1219 | * .memexitconst => __memconst |
| 1254 | 1220 | * etc. |
| 1255 | 1221 | * |