Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4528d69 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
parents d72681d7 6cf3a6ef
Loading
Loading
Loading
Loading
+0 −105
Original line number Diff line number Diff line
/// 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)
+1 −2
Original line number Diff line number Diff line
@@ -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;
    }

+6 −6
Original line number Diff line number Diff line
@@ -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()
+5 −4
Original line number Diff line number Diff line
@@ -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                                \