Commit da92da36 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild

Pull misc kbuild updates from Michal Marek:
 "This is the less critical kbuild stuff for v3.18-rc1:

   - make deb-pkg debuginfo fix, ppc64el support and warning fix for
     recent dpkg tools
   - make TAGS fixes
   - new coccinelle patch
   - kbuild documentation improvements"

* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  deb-pkg: remove obsolete -isp option to dpkg-gencontrol
  coccinelle: misc: semantic patch to delete overly complex return code processing
  deb-pkg: Add support for powerpc little endian
  builddeb: put the dbg files into the correct directory
  scripts/tags.sh: fix DEFINE_HASHTABLE in emacs case
  scripts/tags.sh: remove *PCGFLAGS regular expressions
  scripts/tags.sh: Don't specify kind-spec for emacs' ctags/etags
  Documentation: kbuild: Improve grammar
  Documentation: kbuild: Remove obsolete dtc_cpp section
  Documentation: kbuild: Improve if_changed documentation
  Documentation: kbuild: Remove obsolete include/asm symlink step
parents f33a3faa 4204111c
...@@ -174,7 +174,7 @@ more details, with real examples. ...@@ -174,7 +174,7 @@ more details, with real examples.
--- 3.3 Loadable module goals - obj-m --- 3.3 Loadable module goals - obj-m
$(obj-m) specify object files which are built as loadable $(obj-m) specifies object files which are built as loadable
kernel modules. kernel modules.
A module may be built from one source file or several source A module may be built from one source file or several source
...@@ -277,7 +277,7 @@ more details, with real examples. ...@@ -277,7 +277,7 @@ more details, with real examples.
down in the ext2 directory. down in the ext2 directory.
Kbuild only uses this information to decide that it needs to visit Kbuild only uses this information to decide that it needs to visit
the directory, it is the Makefile in the subdirectory that the directory, it is the Makefile in the subdirectory that
specifies what is modules and what is built-in. specifies what is modular and what is built-in.
It is good practice to use a CONFIG_ variable when assigning directory It is good practice to use a CONFIG_ variable when assigning directory
names. This allows kbuild to totally skip the directory if the names. This allows kbuild to totally skip the directory if the
...@@ -403,7 +403,7 @@ more details, with real examples. ...@@ -403,7 +403,7 @@ more details, with real examples.
echoing information to user in a rule is often a good practice echoing information to user in a rule is often a good practice
but when execution "make -s" one does not expect to see any output but when execution "make -s" one does not expect to see any output
except for warnings/errors. except for warnings/errors.
To support this kbuild define $(kecho) which will echo out the To support this kbuild defines $(kecho) which will echo out the
text following $(kecho) to stdout except if "make -s" is used. text following $(kecho) to stdout except if "make -s" is used.
Example: Example:
...@@ -417,7 +417,7 @@ more details, with real examples. ...@@ -417,7 +417,7 @@ more details, with real examples.
The kernel may be built with several different versions of The kernel may be built with several different versions of
$(CC), each supporting a unique set of features and options. $(CC), each supporting a unique set of features and options.
kbuild provide basic support to check for valid options for $(CC). kbuild provides basic support to check for valid options for $(CC).
$(CC) is usually the gcc compiler, but other alternatives are $(CC) is usually the gcc compiler, but other alternatives are
available. available.
...@@ -456,8 +456,8 @@ more details, with real examples. ...@@ -456,8 +456,8 @@ more details, with real examples.
Note: as-instr-option uses KBUILD_AFLAGS for $(AS) options Note: as-instr-option uses KBUILD_AFLAGS for $(AS) options
cc-option cc-option
cc-option is used to check if $(CC) supports a given option, and not cc-option is used to check if $(CC) supports a given option, and if
supported to use an optional second option. not supported to use an optional second option.
Example: Example:
#arch/x86/Makefile #arch/x86/Makefile
...@@ -557,8 +557,8 @@ more details, with real examples. ...@@ -557,8 +557,8 @@ more details, with real examples.
false ; \ false ; \
fi fi
In this example for a specific GCC version the build will error out explaining In this example for a specific GCC version the build will error out
to the user why it stops. explaining to the user why it stops.
cc-cross-prefix cc-cross-prefix
cc-cross-prefix is used to check if there exists a $(CC) in path with cc-cross-prefix is used to check if there exists a $(CC) in path with
...@@ -656,7 +656,7 @@ Both possibilities are described in the following. ...@@ -656,7 +656,7 @@ Both possibilities are described in the following.
In the example above the executable is composed of the C++ file In the example above the executable is composed of the C++ file
qconf.cc - identified by $(qconf-cxxobjs). qconf.cc - identified by $(qconf-cxxobjs).
If qconf is composed by a mixture of .c and .cc files, then an If qconf is composed of a mixture of .c and .cc files, then an
additional line can be used to identify this. additional line can be used to identify this.
Example: Example:
...@@ -733,7 +733,7 @@ Both possibilities are described in the following. ...@@ -733,7 +733,7 @@ Both possibilities are described in the following.
hostprogs-$(CONFIG_KALLSYMS) += kallsyms hostprogs-$(CONFIG_KALLSYMS) += kallsyms
Kbuild knows about both 'y' for built-in and 'm' for module. Kbuild knows about both 'y' for built-in and 'm' for module.
So if a config symbol evaluate to 'm', kbuild will still build So if a config symbol evaluates to 'm', kbuild will still build
the binary. In other words, Kbuild handles hostprogs-m exactly the binary. In other words, Kbuild handles hostprogs-m exactly
like hostprogs-y. But only hostprogs-y is recommended to be used like hostprogs-y. But only hostprogs-y is recommended to be used
when no CONFIG symbols are involved. when no CONFIG symbols are involved.
...@@ -754,8 +754,8 @@ Additional files can be specified in kbuild makefiles by use of $(clean-files). ...@@ -754,8 +754,8 @@ Additional files can be specified in kbuild makefiles by use of $(clean-files).
#drivers/pci/Makefile #drivers/pci/Makefile
clean-files := devlist.h classlist.h clean-files := devlist.h classlist.h
When executing "make clean", the two files "devlist.h classlist.h" will When executing "make clean", the two files "devlist.h classlist.h" will be
be deleted. Kbuild will assume files to be in same relative directory as the deleted. Kbuild will assume files to be in the same relative directory as the
Makefile except if an absolute path is specified (path starting with '/'). Makefile except if an absolute path is specified (path starting with '/').
To delete a directory hierarchy use: To delete a directory hierarchy use:
...@@ -786,7 +786,7 @@ is not sufficient this sometimes needs to be explicit. ...@@ -786,7 +786,7 @@ is not sufficient this sometimes needs to be explicit.
The above assignment instructs kbuild to descend down in the The above assignment instructs kbuild to descend down in the
directory compressed/ when "make clean" is executed. directory compressed/ when "make clean" is executed.
To support the clean infrastructure in the Makefiles that builds the To support the clean infrastructure in the Makefiles that build the
final bootimage there is an optional target named archclean: final bootimage there is an optional target named archclean:
Example: Example:
...@@ -818,17 +818,16 @@ a few targets. ...@@ -818,17 +818,16 @@ a few targets.
When kbuild executes, the following steps are followed (roughly): When kbuild executes, the following steps are followed (roughly):
1) Configuration of the kernel => produce .config 1) Configuration of the kernel => produce .config
2) Store kernel version in include/linux/version.h 2) Store kernel version in include/linux/version.h
3) Symlink include/asm to include/asm-$(ARCH) 3) Updating all other prerequisites to the target prepare:
4) Updating all other prerequisites to the target prepare:
- Additional prerequisites are specified in arch/$(ARCH)/Makefile - Additional prerequisites are specified in arch/$(ARCH)/Makefile
5) Recursively descend down in all directories listed in 4) Recursively descend down in all directories listed in
init-* core* drivers-* net-* libs-* and build all targets. init-* core* drivers-* net-* libs-* and build all targets.
- The values of the above variables are expanded in arch/$(ARCH)/Makefile. - The values of the above variables are expanded in arch/$(ARCH)/Makefile.
6) All object files are then linked and the resulting file vmlinux is 5) All object files are then linked and the resulting file vmlinux is
located at the root of the obj tree. located at the root of the obj tree.
The very first objects linked are listed in head-y, assigned by The very first objects linked are listed in head-y, assigned by
arch/$(ARCH)/Makefile. arch/$(ARCH)/Makefile.
7) Finally, the architecture-specific part does any required post processing 6) Finally, the architecture-specific part does any required post processing
and builds the final bootimage. and builds the final bootimage.
- This includes building boot records - This includes building boot records
- Preparing initrd images and the like - Preparing initrd images and the like
...@@ -927,7 +926,7 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -927,7 +926,7 @@ When kbuild executes, the following steps are followed (roughly):
KBUILD_AFLAGS_MODULE Options for $(AS) when building modules KBUILD_AFLAGS_MODULE Options for $(AS) when building modules
$(KBUILD_AFLAGS_MODULE) is used to add arch specific options that $(KBUILD_AFLAGS_MODULE) is used to add arch-specific options that
are used for $(AS). are used for $(AS).
From commandline AFLAGS_MODULE shall be used (see kbuild.txt). From commandline AFLAGS_MODULE shall be used (see kbuild.txt).
...@@ -938,13 +937,13 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -938,13 +937,13 @@ When kbuild executes, the following steps are followed (roughly):
KBUILD_CFLAGS_MODULE Options for $(CC) when building modules KBUILD_CFLAGS_MODULE Options for $(CC) when building modules
$(KBUILD_CFLAGS_MODULE) is used to add arch specific options that $(KBUILD_CFLAGS_MODULE) is used to add arch-specific options that
are used for $(CC). are used for $(CC).
From commandline CFLAGS_MODULE shall be used (see kbuild.txt). From commandline CFLAGS_MODULE shall be used (see kbuild.txt).
KBUILD_LDFLAGS_MODULE Options for $(LD) when linking modules KBUILD_LDFLAGS_MODULE Options for $(LD) when linking modules
$(KBUILD_LDFLAGS_MODULE) is used to add arch specific options $(KBUILD_LDFLAGS_MODULE) is used to add arch-specific options
used when linking modules. This is often a linker script. used when linking modules. This is often a linker script.
From commandline LDFLAGS_MODULE shall be used (see kbuild.txt). From commandline LDFLAGS_MODULE shall be used (see kbuild.txt).
...@@ -1066,7 +1065,7 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -1066,7 +1065,7 @@ When kbuild executes, the following steps are followed (roughly):
extra-y extra-y
extra-y specify additional targets created in the current extra-y specifies additional targets created in the current
directory, in addition to any targets specified by obj-*. directory, in addition to any targets specified by obj-*.
Listing all targets in extra-y is required for two purposes: Listing all targets in extra-y is required for two purposes:
...@@ -1093,7 +1092,7 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -1093,7 +1092,7 @@ When kbuild executes, the following steps are followed (roughly):
Usage: Usage:
target: source(s) FORCE target: source(s) FORCE
$(call if_changed,ld/objcopy/gzip) $(call if_changed,ld/objcopy/gzip/...)
When the rule is evaluated, it is checked to see if any files When the rule is evaluated, it is checked to see if any files
need an update, or the command line has changed since the last need an update, or the command line has changed since the last
...@@ -1111,7 +1110,7 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -1111,7 +1110,7 @@ When kbuild executes, the following steps are followed (roughly):
significant; for instance, the below will fail (note the extra space significant; for instance, the below will fail (note the extra space
after the comma): after the comma):
target: source(s) FORCE target: source(s) FORCE
#WRONG!# $(call if_changed, ld/objcopy/gzip) #WRONG!# $(call if_changed, ld/objcopy/gzip/...)
ld ld
Link target. Often, LDFLAGS_$@ is used to set specific options to ld. Link target. Often, LDFLAGS_$@ is used to set specific options to ld.
...@@ -1142,8 +1141,8 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -1142,8 +1141,8 @@ When kbuild executes, the following steps are followed (roughly):
2) delete target during make clean 2) delete target during make clean
The ": %: %.o" part of the prerequisite is a shorthand that The ": %: %.o" part of the prerequisite is a shorthand that
free us from listing the setup.o and bootsect.o files. frees us from listing the setup.o and bootsect.o files.
Note: It is a common mistake to forget the "target :=" assignment, Note: It is a common mistake to forget the "targets :=" assignment,
resulting in the target file being recompiled for no resulting in the target file being recompiled for no
obvious reason. obvious reason.
...@@ -1164,29 +1163,6 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -1164,29 +1163,6 @@ When kbuild executes, the following steps are followed (roughly):
clean-files += *.dtb clean-files += *.dtb
DTC_FLAGS ?= -p 1024 DTC_FLAGS ?= -p 1024
dtc_cpp
This is just like dtc as describe above, except that the C pre-
processor is invoked upon the .dtsp file before compiling the result
with dtc.
In order for build dependencies to work, all files compiled using
dtc_cpp must use the C pre-processor's #include functionality and not
dtc's /include/ functionality.
Using the C pre-processor allows use of #define to create named
constants. In turn, the #defines will typically appear in a header
file, which may be shared with regular C code. Since the dtc language
represents a data structure rather than code in C syntax, similar
restrictions are placed on a header file included by a device tree
file as for a header file included by an assembly language file.
In particular, the C pre-processor is passed -x assembler-with-cpp,
which sets macro __ASSEMBLY__. __DTS__ is also set. These allow header
files to restrict their content to that compatible with device tree
source.
A central rule exists to create $(obj)/%.dtb from $(src)/%.dtsp;
architecture Makefiles do no need to explicitly write out that rule.
--- 6.8 Custom kbuild commands --- 6.8 Custom kbuild commands
When kbuild is executing with KBUILD_VERBOSE=0, then only a shorthand When kbuild is executing with KBUILD_VERBOSE=0, then only a shorthand
...@@ -1237,11 +1213,11 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -1237,11 +1213,11 @@ When kbuild executes, the following steps are followed (roughly):
When building the *.lds target, kbuild uses the variables: When building the *.lds target, kbuild uses the variables:
KBUILD_CPPFLAGS : Set in top-level Makefile KBUILD_CPPFLAGS : Set in top-level Makefile
cppflags-y : May be set in the kbuild makefile cppflags-y : May be set in the kbuild makefile
CPPFLAGS_$(@F) : Target specific flags. CPPFLAGS_$(@F) : Target-specific flags.
Note that the full filename is used in this Note that the full filename is used in this
assignment. assignment.
The kbuild infrastructure for *lds file are used in several The kbuild infrastructure for *lds files is used in several
architecture-specific files. architecture-specific files.
--- 6.10 Generic header files --- 6.10 Generic header files
...@@ -1254,11 +1230,11 @@ When kbuild executes, the following steps are followed (roughly): ...@@ -1254,11 +1230,11 @@ When kbuild executes, the following steps are followed (roughly):
=== 7 Kbuild syntax for exported headers === 7 Kbuild syntax for exported headers
The kernel include a set of headers that is exported to userspace. The kernel includes a set of headers that is exported to userspace.
Many headers can be exported as-is but other headers require a Many headers can be exported as-is but other headers require a
minimal pre-processing before they are ready for user-space. minimal pre-processing before they are ready for user-space.
The pre-processing does: The pre-processing does:
- drop kernel specific annotations - drop kernel-specific annotations
- drop include of compiler.h - drop include of compiler.h
- drop all sections that are kernel internal (guarded by ifdef __KERNEL__) - drop all sections that are kernel internal (guarded by ifdef __KERNEL__)
...@@ -1268,7 +1244,7 @@ See subsequent chapter for the syntax of the Kbuild file. ...@@ -1268,7 +1244,7 @@ See subsequent chapter for the syntax of the Kbuild file.
--- 7.1 header-y --- 7.1 header-y
header-y specify header files to be exported. header-y specifies header files to be exported.
Example: Example:
#include/linux/Kbuild #include/linux/Kbuild
...@@ -1278,7 +1254,7 @@ See subsequent chapter for the syntax of the Kbuild file. ...@@ -1278,7 +1254,7 @@ See subsequent chapter for the syntax of the Kbuild file.
The convention is to list one file per line and The convention is to list one file per line and
preferably in alphabetic order. preferably in alphabetic order.
header-y also specify which subdirectories to visit. header-y also specifies which subdirectories to visit.
A subdirectory is identified by a trailing '/' which A subdirectory is identified by a trailing '/' which
can be seen in the example above for the usb subdirectory. can be seen in the example above for the usb subdirectory.
...@@ -1296,9 +1272,9 @@ See subsequent chapter for the syntax of the Kbuild file. ...@@ -1296,9 +1272,9 @@ See subsequent chapter for the syntax of the Kbuild file.
--- 7.3 destination-y --- 7.3 destination-y
When an architecture have a set of exported headers that needs to be When an architecture has a set of exported headers that needs to be
exported to a different directory destination-y is used. exported to a different directory destination-y is used.
destination-y specify the destination directory for all exported destination-y specifies the destination directory for all exported
headers in the file where it is present. headers in the file where it is present.
Example: Example:
...@@ -1391,9 +1367,9 @@ The top Makefile exports the following variables: ...@@ -1391,9 +1367,9 @@ The top Makefile exports the following variables:
INSTALL_MOD_STRIP INSTALL_MOD_STRIP
If this variable is specified, will cause modules to be stripped If this variable is specified, it will cause modules to be stripped
after they are installed. If INSTALL_MOD_STRIP is '1', then the after they are installed. If INSTALL_MOD_STRIP is '1', then the
default option --strip-debug will be used. Otherwise, default option --strip-debug will be used. Otherwise, the
INSTALL_MOD_STRIP value will be used as the option(s) to the strip INSTALL_MOD_STRIP value will be used as the option(s) to the strip
command. command.
......
/// Simplify a trivial if-return sequence. Possibly combine with a
/// preceding function call.
//
// Confidence: High
// Copyright: (C) 2014 Julia Lawall, INRIA/LIP6. GPLv2.
// Copyright: (C) 2014 Gilles Muller, INRIA/LiP6. GPLv2.
// URL: http://coccinelle.lip6.fr/
// Comments:
// Options: --no-includes --include-headers
virtual patch
virtual context
virtual org
virtual report
@r depends on patch@
local idexpression e;
identifier i,f,fn;
@@
fn(...) { <...
- e@i =
+ return
f(...);
-if (i != 0) return i;
-return 0;
...> }
@depends on patch@
identifier r.i;
type t;
@@
-t i;
... when != i
@depends on patch@
expression e;
@@
-if (e != 0)
return e;
-return 0;
// -----------------------------------------------------------------------
@s1 depends on context || org || report@
local idexpression e;
identifier i,f,fn;
position p,p1,p2;
@@
fn(...) { <...
* e@i@p = f(...);
if (\(i@p1 != 0\|i@p2 < 0\))
return i;
return 0;
...> }
@s2 depends on context || org || report forall@
identifier s1.i;
type t;
position q,s1.p;
expression e,f;
@@
* t i@q;
... when != i
e@p = f(...);
@s3 depends on context || org || report@
expression e;
position p1!=s1.p1;
position p2!=s1.p2;
@@
*if (\(e@p1 != 0\|e@p2 < 0\))
return e;
return 0;
// -----------------------------------------------------------------------
@script:python depends on org@
p << s1.p;
p1 << s1.p1;
q << s2.q;
@@
cocci.print_main("decl",q)
cocci.print_secs("use",p)
cocci.include_match(False)
@script:python depends on org@
p << s1.p;
p2 << s1.p2;
q << s2.q;
@@
cocci.print_main("decl",q)
cocci.print_secs("use with questionable test",p)
cocci.include_match(False)
@script:python depends on org@
p << s1.p;
p1 << s1.p1;
@@
cocci.print_main("use",p)
@script:python depends on org@
p << s1.p;
p2 << s1.p2;
@@
cocci.print_main("use with questionable test",p)
@script:python depends on org@
p << s3.p1;
@@
cocci.print_main("test",p)
@script:python depends on org@
p << s3.p2;
@@
cocci.print_main("questionable test",p)
// -----------------------------------------------------------------------
@script:python depends on report@
p << s1.p;
p1 << s1.p1;
q << s2.q;
@@
msg = "WARNING: end returns can be simpified and declaration on line %s can be dropped" % (q[0].line)
coccilib.report.print_report(p[0],msg)
cocci.include_match(False)
@script:python depends on report@
p << s1.p;
p1 << s1.p1;
q << s2.q
;
@@
msg = "WARNING: end returns may be simpified if negative or 0 value and declaration on line %s can be dropped" % (q[0].line)
coccilib.report.print_report(p[0],msg)
cocci.include_match(False)
@script:python depends on report@
p << s1.p;
p1 << s1.p1;
@@
msg = "WARNING: end returns can be simpified"
coccilib.report.print_report(p[0],msg)
@script:python depends on report@
p << s1.p;
p2 << s1.p2;
@@
msg = "WARNING: end returns can be simpified if negative or 0 value"
coccilib.report.print_report(p[0],msg)
@script:python depends on report@
p << s3.p1;
@@
msg = "WARNING: end returns can be simpified"
coccilib.report.print_report(p[0],msg)
@script:python depends on report@
p << s3.p2;
@@
msg = "WARNING: end returns can be simpified if tested value is negative or 0"
coccilib.report.print_report(p[0],msg)
...@@ -37,7 +37,7 @@ create_package() { ...@@ -37,7 +37,7 @@ create_package() {
s390*) s390*)
debarch=s390$(grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;; debarch=s390$(grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;;
ppc*) ppc*)
debarch=powerpc ;; debarch=$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo ppc64el || echo powerpc) ;;
parisc*) parisc*)
debarch=hppa ;; debarch=hppa ;;
mips*) mips*)
...@@ -64,7 +64,7 @@ create_package() { ...@@ -64,7 +64,7 @@ create_package() {
fi fi
# Create the package # Create the package
dpkg-gencontrol -isp $forcearch -Vkernel:debarch="${debarch:-$(dpkg --print-architecture)}" -p$pname -P"$pdir" dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch:-$(dpkg --print-architecture)}" -p$pname -P"$pdir"
dpkg --build "$pdir" .. dpkg --build "$pdir" ..
} }
...@@ -152,18 +152,16 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then ...@@ -152,18 +152,16 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then
rmdir "$tmpdir/lib/modules/$version" rmdir "$tmpdir/lib/modules/$version"
fi fi
if [ -n "$BUILD_DEBUG" ] ; then if [ -n "$BUILD_DEBUG" ] ; then
( for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do
cd $tmpdir module=lib/modules/$module
for module in $(find lib/modules/ -name *.ko); do mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module)
mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) # only keep debug symbols in the debug file
# only keep debug symbols in the debug file $OBJCOPY --only-keep-debug $tmpdir/$module $dbg_dir/usr/lib/debug/$module
$OBJCOPY --only-keep-debug $module $dbg_dir/usr/lib/debug/$module # strip original module from debug symbols
# strip original module from debug symbols $OBJCOPY --strip-debug $tmpdir/$module
$OBJCOPY --strip-debug $module # then add a link to those
# then add a link to those $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $tmpdir/$module
$OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $module done
done
)
fi fi
fi fi
......
...@@ -193,10 +193,6 @@ exuberant() ...@@ -193,10 +193,6 @@ exuberant()
--regex-c++='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \ --regex-c++='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
--regex-c++='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/' \ --regex-c++='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/' \
--regex-c++='/_PE\(([^,)]*).*/PEVENT_ERRNO__\1/' \ --regex-c++='/_PE\(([^,)]*).*/PEVENT_ERRNO__\1/' \
--regex-c++='/TESTPCGFLAG\(([^,)]*).*/PageCgroup\1/' \
--regex-c++='/SETPCGFLAG\(([^,)]*).*/SetPageCgroup\1/' \
--regex-c++='/CLEARPCGFLAG\(([^,)]*).*/ClearPageCgroup\1/' \
--regex-c++='/TESTCLEARPCGFLAG\(([^,)]*).*/TestClearPageCgroup\1/' \
--regex-c++='/TASK_PFA_TEST\([^,]*,\s*([^)]*)\)/task_\1/' \ --regex-c++='/TASK_PFA_TEST\([^,]*,\s*([^)]*)\)/task_\1/' \
--regex-c++='/TASK_PFA_SET\([^,]*,\s*([^)]*)\)/task_set_\1/' \ --regex-c++='/TASK_PFA_SET\([^,]*,\s*([^)]*)\)/task_set_\1/' \
--regex-c++='/TASK_PFA_CLEAR\([^,]*,\s*([^)]*)\)/task_clear_\1/'\ --regex-c++='/TASK_PFA_CLEAR\([^,]*,\s*([^)]*)\)/task_clear_\1/'\
...@@ -259,17 +255,13 @@ emacs() ...@@ -259,17 +255,13 @@ emacs()
--regex='/__CLEARPAGEFLAG_NOOP(\([^,)]*\).*/__ClearPage\1/' \ --regex='/__CLEARPAGEFLAG_NOOP(\([^,)]*\).*/__ClearPage\1/' \
--regex='/TESTCLEARFLAG_FALSE(\([^,)]*\).*/TestClearPage\1/' \ --regex='/TESTCLEARFLAG_FALSE(\([^,)]*\).*/TestClearPage\1/' \
--regex='/__TESTCLEARFLAG_FALSE(\([^,)]*\).*/__TestClearPage\1/' \ --regex='/__TESTCLEARFLAG_FALSE(\([^,)]*\).*/__TestClearPage\1/' \
--regex='/TESTPCGFLAG\(([^,)]*).*/PageCgroup\1/' \
--regex='/SETPCGFLAG\(([^,)]*).*/SetPageCgroup\1/' \
--regex='/CLEARPCGFLAG\(([^,)]*).*/ClearPageCgroup\1/' \
--regex='/TESTCLEARPCGFLAG\(([^,)]*).*/TestClearPageCgroup\1/' \
--regex='/TASK_PFA_TEST\([^,]*,\s*([^)]*)\)/task_\1/' \ --regex='/TASK_PFA_TEST\([^,]*,\s*([^)]*)\)/task_\1/' \
--regex='/TASK_PFA_SET\([^,]*,\s*([^)]*)\)/task_set_\1/' \ --regex='/TASK_PFA_SET\([^,]*,\s*([^)]*)\)/task_set_\1/' \
--regex='/TASK_PFA_CLEAR\([^,]*,\s*([^)]*)\)/task_clear_\1/' \ --regex='/TASK_PFA_CLEAR\([^,]*,\s*([^)]*)\)/task_clear_\1/' \
--regex='/_PE(\([^,)]*\).*/PEVENT_ERRNO__\1/' \ --regex='/_PE(\([^,)]*\).*/PEVENT_ERRNO__\1/' \
--regex='/PCI_OP_READ(\([a-z]*[a-z]\).*[1-4])/pci_bus_read_config_\1/' \ --regex='/PCI_OP_READ(\([a-z]*[a-z]\).*[1-4])/pci_bus_read_config_\1/' \
--regex='/PCI_OP_WRITE(\([a-z]*[a-z]\).*[1-4])/pci_bus_write_config_\1/'\ --regex='/PCI_OP_WRITE(\([a-z]*[a-z]\).*[1-4])/pci_bus_write_config_\1/'\
--regex='/DEFINE_HASHTABLE\((\w*)/\1/v/' --regex='/[^#]*DEFINE_HASHTABLE(\([^,)]*\)/\1/'
all_kconfigs | xargs $1 -a \ all_kconfigs | xargs $1 -a \
--regex='/^[ \t]*\(\(menu\)*config\)[ \t]+\([a-zA-Z0-9_]+\)/\3/' --regex='/^[ \t]*\(\(menu\)*config\)[ \t]+\([a-zA-Z0-9_]+\)/\3/'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment