aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2010-03-18 20:37:42 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-21 12:37:30 -0400
commit1704f47b50b5d9e1b825e43e1baaf2c5897baf03 (patch)
tree60617ff867624f915f75a502f2207de5e586757a /scripts/checkpatch.pl
parent3142788b7967ccfd2f1813ee9e11aeb1e1cf7de2 (diff)
lockdep: Add novalidate class for dev->mutex conversion
The conversion of device->sem to device->mutex resulted in lockdep warnings. Create a novalidate class for now until the driver folks come up with separate classes. That way we have at least the basic mutex debugging coverage. Add a checkpatch error so the usage is reserved for device->mutex. [ tglx: checkpatch and compile fix for LOCKDEP=n ] Signed-off-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl11
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a4d74344d805..f2bbea900700 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2656,6 +2656,7 @@ sub process {
2656# check for semaphores used as mutexes 2656# check for semaphores used as mutexes
2657 if ($line =~ /^.\s*init_MUTEX_LOCKED\s*\(/) { 2657 if ($line =~ /^.\s*init_MUTEX_LOCKED\s*\(/) {
2658 WARN("consider using a completion\n" . $herecurr); 2658 WARN("consider using a completion\n" . $herecurr);
2659
2659 } 2660 }
2660# recommend strict_strto* over simple_strto* 2661# recommend strict_strto* over simple_strto*
2661 if ($line =~ /\bsimple_(strto.*?)\s*\(/) { 2662 if ($line =~ /\bsimple_(strto.*?)\s*\(/) {
@@ -2740,6 +2741,16 @@ sub process {
2740 WARN("use of in_atomic() is incorrect outside core kernel code\n" . $herecurr); 2741 WARN("use of in_atomic() is incorrect outside core kernel code\n" . $herecurr);
2741 } 2742 }
2742 } 2743 }
2744
2745# check for lockdep_set_novalidate_class
2746 if ($line =~ /^.\s*lockdep_set_novalidate_class\s*\(/ ||
2747 $line =~ /__lockdep_no_validate__\s*\)/ ) {
2748 if ($realfile !~ m@^kernel/lockdep@ &&
2749 $realfile !~ m@^include/linux/lockdep@ &&
2750 $realfile !~ m@^drivers/base/core@) {
2751 ERROR("lockdep_no_validate class is reserved for device->mutex.\n" . $herecurr);
2752 }
2753 }
2743 } 2754 }
2744 2755
2745 # If we have no input at all, then there is nothing to report on 2756 # If we have no input at all, then there is nothing to report on