diff options
author | Peter Zijlstra <peterz@infradead.org> | 2010-03-18 20:37:42 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-21 12:37:30 -0400 |
commit | 1704f47b50b5d9e1b825e43e1baaf2c5897baf03 (patch) | |
tree | 60617ff867624f915f75a502f2207de5e586757a /scripts | |
parent | 3142788b7967ccfd2f1813ee9e11aeb1e1cf7de2 (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')
-rwxr-xr-x | scripts/checkpatch.pl | 11 |
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 |