forked from luck/tmp_suning_uos_patched
630f289b71
Change a header to mandatory-y if both of the following are met: [1] At least one architecture (except um) specifies it as generic-y in arch/*/include/asm/Kbuild [2] Every architecture (except um) either has its own implementation (arch/*/include/asm/*.h) or specifies it as generic-y in arch/*/include/asm/Kbuild This commit was generated by the following shell script. ----------------------------------->8----------------------------------- arches=$(cd arch; ls -1 | sed -e '/Kconfig/d' -e '/um/d') tmpfile=$(mktemp) grep "^mandatory-y +=" include/asm-generic/Kbuild > $tmpfile find arch -path 'arch/*/include/asm/Kbuild' | xargs sed -n 's/^generic-y += \(.*\)/\1/p' | sort -u | while read header do mandatory=yes for arch in $arches do if ! grep -q "generic-y += $header" arch/$arch/include/asm/Kbuild && ! [ -f arch/$arch/include/asm/$header ]; then mandatory=no break fi done if [ "$mandatory" = yes ]; then echo "mandatory-y += $header" >> $tmpfile for arch in $arches do sed -i "/generic-y += $header/d" arch/$arch/include/asm/Kbuild done fi done sed -i '/^mandatory-y +=/d' include/asm-generic/Kbuild LANG=C sort $tmpfile >> include/asm-generic/Kbuild ----------------------------------->8----------------------------------- One obvious benefit is the diff stat: 25 files changed, 52 insertions(+), 557 deletions(-) It is tedious to list generic-y for each arch that needs it. So, mandatory-y works like a fallback default (by just wrapping asm-generic one) when arch does not have a specific header implementation. See the following commits: |
||
---|---|---|
.. | ||
asm-macros.h | ||
asm-offsets.h | ||
cache.h | ||
cacheflush.h | ||
checksum.h | ||
cpuinfo.h | ||
delay.h | ||
elf.h | ||
entry.h | ||
io.h | ||
irq.h | ||
irqflags.h | ||
Kbuild | ||
kgdb.h | ||
linkage.h | ||
mmu_context.h | ||
mmu.h | ||
page.h | ||
pgalloc.h | ||
pgtable-bits.h | ||
pgtable.h | ||
processor.h | ||
ptrace.h | ||
registers.h | ||
setup.h | ||
shmparam.h | ||
string.h | ||
switch_to.h | ||
syscall.h | ||
syscalls.h | ||
thread_info.h | ||
timex.h | ||
tlb.h | ||
tlbflush.h | ||
traps.h | ||
uaccess.h | ||
vmalloc.h |