diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/checkpatch.pl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index c883ec55654f..377f373db6c0 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl | |||
| @@ -573,6 +573,27 @@ foreach my $entry (@mode_permission_funcs) { | |||
| 573 | } | 573 | } |
| 574 | $mode_perms_search = "(?:${mode_perms_search})"; | 574 | $mode_perms_search = "(?:${mode_perms_search})"; |
| 575 | 575 | ||
| 576 | our %deprecated_apis = ( | ||
| 577 | "synchronize_rcu_bh" => "synchronize_rcu", | ||
| 578 | "synchronize_rcu_bh_expedited" => "synchronize_rcu_expedited", | ||
| 579 | "call_rcu_bh" => "call_rcu", | ||
| 580 | "rcu_barrier_bh" => "rcu_barrier", | ||
| 581 | "synchronize_sched" => "synchronize_rcu", | ||
| 582 | "synchronize_sched_expedited" => "synchronize_rcu_expedited", | ||
| 583 | "call_rcu_sched" => "call_rcu", | ||
| 584 | "rcu_barrier_sched" => "rcu_barrier", | ||
| 585 | "get_state_synchronize_sched" => "get_state_synchronize_rcu", | ||
| 586 | "cond_synchronize_sched" => "cond_synchronize_rcu", | ||
| 587 | ); | ||
| 588 | |||
| 589 | #Create a search pattern for all these strings to speed up a loop below | ||
| 590 | our $deprecated_apis_search = ""; | ||
| 591 | foreach my $entry (keys %deprecated_apis) { | ||
| 592 | $deprecated_apis_search .= '|' if ($deprecated_apis_search ne ""); | ||
| 593 | $deprecated_apis_search .= $entry; | ||
| 594 | } | ||
| 595 | $deprecated_apis_search = "(?:${deprecated_apis_search})"; | ||
| 596 | |||
| 576 | our $mode_perms_world_writable = qr{ | 597 | our $mode_perms_world_writable = qr{ |
| 577 | S_IWUGO | | 598 | S_IWUGO | |
| 578 | S_IWOTH | | 599 | S_IWOTH | |
| @@ -6368,6 +6389,20 @@ sub process { | |||
| 6368 | "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr); | 6389 | "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr); |
| 6369 | } | 6390 | } |
| 6370 | 6391 | ||
| 6392 | # check for spin_is_locked(), suggest lockdep instead | ||
| 6393 | if ($line =~ /\bspin_is_locked\(/) { | ||
| 6394 | WARN("USE_LOCKDEP", | ||
| 6395 | "Where possible, use lockdep_assert_held instead of assertions based on spin_is_locked\n" . $herecurr); | ||
| 6396 | } | ||
| 6397 | |||
| 6398 | # check for deprecated apis | ||
| 6399 | if ($line =~ /\b($deprecated_apis_search)\b\s*\(/) { | ||
| 6400 | my $deprecated_api = $1; | ||
| 6401 | my $new_api = $deprecated_apis{$deprecated_api}; | ||
| 6402 | WARN("DEPRECATED_API", | ||
| 6403 | "Deprecated use of '$deprecated_api', prefer '$new_api' instead\n" . $herecurr); | ||
| 6404 | } | ||
| 6405 | |||
| 6371 | # check for various structs that are normally const (ops, kgdb, device_tree) | 6406 | # check for various structs that are normally const (ops, kgdb, device_tree) |
| 6372 | # and avoid what seem like struct definitions 'struct foo {' | 6407 | # and avoid what seem like struct definitions 'struct foo {' |
| 6373 | if ($line !~ /\bconst\b/ && | 6408 | if ($line !~ /\bconst\b/ && |
