Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull misc kbuild changes from Michal Marek: - make tags fixes again - scripts/show_delta fix for newer python - scripts/kernel-doc does not fail on unknown function prototype - one less coccinelle check this time * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: scripts/tags.sh: remove obsolete __devinit[const|data] scripts/kernel-doc: make unknown function prototype a Warning instead of an Error show_delta: Update script to support python versions 2.5 through 3.3 scripts/coccinelle/api: remove devm_request_and_ioremap.cocci scripts/tags.sh: Increase identifier list
This commit is contained in:
Коммит
e4528d696f
|
@ -1,105 +0,0 @@
|
|||
/// Reimplement a call to devm_request_mem_region followed by a call to ioremap
|
||||
/// or ioremap_nocache by a call to devm_request_and_ioremap.
|
||||
/// Devm_request_and_ioremap was introduced in
|
||||
/// 72f8c0bfa0de64c68ee59f40eb9b2683bffffbb0. It makes the code much more
|
||||
/// concise.
|
||||
///
|
||||
///
|
||||
// Confidence: High
|
||||
// Copyright: (C) 2011 Julia Lawall, INRIA/LIP6. GPLv2.
|
||||
// Copyright: (C) 2011 Gilles Muller, INRIA/LiP6. GPLv2.
|
||||
// URL: http://coccinelle.lip6.fr/
|
||||
// Comments:
|
||||
// Options: --no-includes --include-headers
|
||||
|
||||
virtual patch
|
||||
virtual org
|
||||
virtual report
|
||||
virtual context
|
||||
|
||||
@nm@
|
||||
expression myname;
|
||||
identifier i;
|
||||
@@
|
||||
|
||||
struct platform_driver i = { .driver = { .name = myname } };
|
||||
|
||||
@depends on patch@
|
||||
expression dev,res,size;
|
||||
@@
|
||||
|
||||
-if (!devm_request_mem_region(dev, res->start, size,
|
||||
- \(res->name\|dev_name(dev)\))) {
|
||||
- ...
|
||||
- return ...;
|
||||
-}
|
||||
... when != res->start
|
||||
(
|
||||
-devm_ioremap(dev,res->start,size)
|
||||
+devm_request_and_ioremap(dev,res)
|
||||
|
|
||||
-devm_ioremap_nocache(dev,res->start,size)
|
||||
+devm_request_and_ioremap(dev,res)
|
||||
)
|
||||
... when any
|
||||
when != res->start
|
||||
|
||||
// this rule is separate from the previous one, because a single file can
|
||||
// have multiple values of myname
|
||||
@depends on patch@
|
||||
expression dev,res,size;
|
||||
expression nm.myname;
|
||||
@@
|
||||
|
||||
-if (!devm_request_mem_region(dev, res->start, size,myname)) {
|
||||
- ...
|
||||
- return ...;
|
||||
-}
|
||||
... when != res->start
|
||||
(
|
||||
-devm_ioremap(dev,res->start,size)
|
||||
+devm_request_and_ioremap(dev,res)
|
||||
|
|
||||
-devm_ioremap_nocache(dev,res->start,size)
|
||||
+devm_request_and_ioremap(dev,res)
|
||||
)
|
||||
... when any
|
||||
when != res->start
|
||||
|
||||
|
||||
@pb depends on org || report || context@
|
||||
expression dev,res,size;
|
||||
expression nm.myname;
|
||||
position p1,p2;
|
||||
@@
|
||||
|
||||
*if
|
||||
(!devm_request_mem_region@p1(dev, res->start, size,
|
||||
\(res->name\|dev_name(dev)\|myname\))) {
|
||||
...
|
||||
return ...;
|
||||
}
|
||||
... when != res->start
|
||||
(
|
||||
*devm_ioremap@p2(dev,res->start,size)
|
||||
|
|
||||
*devm_ioremap_nocache@p2(dev,res->start,size)
|
||||
)
|
||||
... when any
|
||||
when != res->start
|
||||
|
||||
@script:python depends on org@
|
||||
p1 << pb.p1;
|
||||
p2 << pb.p2;
|
||||
@@
|
||||
|
||||
cocci.print_main("INFO: replace by devm_request_and_ioremap",p1)
|
||||
cocci.print_secs("",p2)
|
||||
|
||||
@script:python depends on report@
|
||||
p1 << pb.p1;
|
||||
p2 << pb.p2;
|
||||
@@
|
||||
|
||||
msg = "INFO: devm_request_mem_region followed by ioremap on line %s can be replaced by devm_request_and_ioremap" % (p2[0].line)
|
||||
coccilib.report.print_report(p1[0],msg)
|
|
@ -2128,8 +2128,7 @@ sub dump_function($$) {
|
|||
|
||||
create_parameterlist($args, ',', $file);
|
||||
} else {
|
||||
print STDERR "Error(${file}:$.): cannot understand prototype: '$prototype'\n";
|
||||
++$errors;
|
||||
print STDERR "Warning(${file}:$.): cannot understand function prototype: '$prototype'\n";
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import sys
|
|||
import string
|
||||
|
||||
def usage():
|
||||
print """usage: show_delta [<options>] <filename>
|
||||
print ("""usage: show_delta [<options>] <filename>
|
||||
|
||||
This program parses the output from a set of printk message lines which
|
||||
have time data prefixed because the CONFIG_PRINTK_TIME option is set, or
|
||||
|
@ -35,7 +35,7 @@ ex: $ dmesg >timefile
|
|||
|
||||
will show times relative to the line in the kernel output
|
||||
starting with "NET4".
|
||||
"""
|
||||
""")
|
||||
sys.exit(1)
|
||||
|
||||
# returns a tuple containing the seconds and text for each message line
|
||||
|
@ -94,11 +94,11 @@ def main():
|
|||
try:
|
||||
lines = open(filein,"r").readlines()
|
||||
except:
|
||||
print "Problem opening file: %s" % filein
|
||||
print ("Problem opening file: %s" % filein)
|
||||
sys.exit(1)
|
||||
|
||||
if base_str:
|
||||
print 'base= "%s"' % base_str
|
||||
print ('base= "%s"' % base_str)
|
||||
# assume a numeric base. If that fails, try searching
|
||||
# for a matching line.
|
||||
try:
|
||||
|
@ -117,13 +117,13 @@ def main():
|
|||
# stop at first match
|
||||
break
|
||||
if not found:
|
||||
print 'Couldn\'t find line matching base pattern "%s"' % base_str
|
||||
print ('Couldn\'t find line matching base pattern "%s"' % base_str)
|
||||
sys.exit(1)
|
||||
else:
|
||||
base_time = 0.0
|
||||
|
||||
for line in lines:
|
||||
print convert_line(line, base_time),
|
||||
print (convert_line(line, base_time),)
|
||||
|
||||
main()
|
||||
|
||||
|
|
|
@ -149,15 +149,16 @@ dogtags()
|
|||
exuberant()
|
||||
{
|
||||
all_target_sources | xargs $1 -a \
|
||||
-I __initdata,__exitdata,__initconst,__devinitdata \
|
||||
-I __devinitconst,__cpuinitdata,__initdata_memblock \
|
||||
-I __refdata,__attribute \
|
||||
-I __initdata,__exitdata,__initconst, \
|
||||
-I __cpuinitdata,__initdata_memblock \
|
||||
-I __refdata,__attribute,__maybe_unused,__always_unused \
|
||||
-I __acquires,__releases,__deprecated \
|
||||
-I __read_mostly,__aligned,____cacheline_aligned \
|
||||
-I ____cacheline_aligned_in_smp \
|
||||
-I __cacheline_aligned,__cacheline_aligned_in_smp \
|
||||
-I ____cacheline_internodealigned_in_smp \
|
||||
-I __used,__packed,__packed2__,__must_check,__must_hold \
|
||||
-I EXPORT_SYMBOL,EXPORT_SYMBOL_GPL \
|
||||
-I EXPORT_SYMBOL,EXPORT_SYMBOL_GPL,ACPI_EXPORT_SYMBOL \
|
||||
-I DEFINE_TRACE,EXPORT_TRACEPOINT_SYMBOL,EXPORT_TRACEPOINT_SYMBOL_GPL \
|
||||
-I static,const \
|
||||
--extra=+f --c-kinds=+px \
|
||||
|
|
Загрузка…
Ссылка в новой задаче