mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 22:21:42 +00:00
checkpatch: externalize the structs that should be const
Make it easier to add new structs that should be const. Link: http://lkml.kernel.org/r/e5a8da43e7c11525bafbda1ca69a8323614dd942.1472664220.git.joe@perches.com Signed-off-by: Joe Perches <joe@perches.com> Cc: Julia Lawall <julia.lawall@lip6.fr> Cc: Kees Cook <keescook@chromium.org> Cc: Andy Whitcroft <apw@canonical.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f333195d41
commit
bf1fa1dae6
@ -54,6 +54,7 @@ my $min_conf_desc_length = 4;
|
|||||||
my $spelling_file = "$D/spelling.txt";
|
my $spelling_file = "$D/spelling.txt";
|
||||||
my $codespell = 0;
|
my $codespell = 0;
|
||||||
my $codespellfile = "/usr/share/codespell/dictionary.txt";
|
my $codespellfile = "/usr/share/codespell/dictionary.txt";
|
||||||
|
my $conststructsfile = "$D/const_structs.checkpatch";
|
||||||
my $color = 1;
|
my $color = 1;
|
||||||
my $allow_c99_comments = 1;
|
my $allow_c99_comments = 1;
|
||||||
|
|
||||||
@ -624,6 +625,29 @@ if ($codespell) {
|
|||||||
|
|
||||||
$misspellings = join("|", sort keys %spelling_fix) if keys %spelling_fix;
|
$misspellings = join("|", sort keys %spelling_fix) if keys %spelling_fix;
|
||||||
|
|
||||||
|
my $const_structs = "";
|
||||||
|
if (open(my $conststructs, '<', $conststructsfile)) {
|
||||||
|
while (<$conststructs>) {
|
||||||
|
my $line = $_;
|
||||||
|
|
||||||
|
$line =~ s/\s*\n?$//g;
|
||||||
|
$line =~ s/^\s*//g;
|
||||||
|
|
||||||
|
next if ($line =~ m/^\s*#/);
|
||||||
|
next if ($line =~ m/^\s*$/);
|
||||||
|
if ($line =~ /\s/) {
|
||||||
|
print("$conststructsfile: '$line' invalid - ignored\n");
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
$const_structs .= '|' if ($const_structs ne "");
|
||||||
|
$const_structs .= $line;
|
||||||
|
}
|
||||||
|
close($conststructsfile);
|
||||||
|
} else {
|
||||||
|
warn "No structs that should be const will be found - file '$conststructsfile': $!\n";
|
||||||
|
}
|
||||||
|
|
||||||
sub build_types {
|
sub build_types {
|
||||||
my $mods = "(?x: \n" . join("|\n ", (@modifierList, @modifierListFile)) . "\n)";
|
my $mods = "(?x: \n" . join("|\n ", (@modifierList, @modifierListFile)) . "\n)";
|
||||||
my $all = "(?x: \n" . join("|\n ", (@typeList, @typeListFile)) . "\n)";
|
my $all = "(?x: \n" . join("|\n ", (@typeList, @typeListFile)) . "\n)";
|
||||||
@ -5912,46 +5936,6 @@ sub process {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# check for various structs that are normally const (ops, kgdb, device_tree)
|
# check for various structs that are normally const (ops, kgdb, device_tree)
|
||||||
my $const_structs = qr{
|
|
||||||
acpi_dock_ops|
|
|
||||||
address_space_operations|
|
|
||||||
backlight_ops|
|
|
||||||
block_device_operations|
|
|
||||||
dentry_operations|
|
|
||||||
dev_pm_ops|
|
|
||||||
dma_map_ops|
|
|
||||||
extent_io_ops|
|
|
||||||
file_lock_operations|
|
|
||||||
file_operations|
|
|
||||||
hv_ops|
|
|
||||||
ide_dma_ops|
|
|
||||||
intel_dvo_dev_ops|
|
|
||||||
item_operations|
|
|
||||||
iwl_ops|
|
|
||||||
kgdb_arch|
|
|
||||||
kgdb_io|
|
|
||||||
kset_uevent_ops|
|
|
||||||
lock_manager_operations|
|
|
||||||
microcode_ops|
|
|
||||||
mtrr_ops|
|
|
||||||
neigh_ops|
|
|
||||||
nlmsvc_binding|
|
|
||||||
of_device_id|
|
|
||||||
pci_raw_ops|
|
|
||||||
pipe_buf_operations|
|
|
||||||
platform_hibernation_ops|
|
|
||||||
platform_suspend_ops|
|
|
||||||
proto_ops|
|
|
||||||
rpc_pipe_ops|
|
|
||||||
seq_operations|
|
|
||||||
snd_ac97_build_ops|
|
|
||||||
soc_pcmcia_socket_ops|
|
|
||||||
stacktrace_ops|
|
|
||||||
sysfs_ops|
|
|
||||||
tty_operations|
|
|
||||||
uart_ops|
|
|
||||||
usb_mon_operations|
|
|
||||||
wd_ops}x;
|
|
||||||
if ($line !~ /\bconst\b/ &&
|
if ($line !~ /\bconst\b/ &&
|
||||||
$line =~ /\bstruct\s+($const_structs)\b/) {
|
$line =~ /\bstruct\s+($const_structs)\b/) {
|
||||||
WARN("CONST_STRUCT",
|
WARN("CONST_STRUCT",
|
||||||
|
39
scripts/const_structs.checkpatch
Normal file
39
scripts/const_structs.checkpatch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
acpi_dock_ops
|
||||||
|
address_space_operations
|
||||||
|
backlight_ops
|
||||||
|
block_device_operations
|
||||||
|
dentry_operations
|
||||||
|
dev_pm_ops
|
||||||
|
dma_map_ops
|
||||||
|
extent_io_ops
|
||||||
|
file_lock_operations
|
||||||
|
file_operations
|
||||||
|
hv_ops
|
||||||
|
ide_dma_ops
|
||||||
|
intel_dvo_dev_ops
|
||||||
|
item_operations
|
||||||
|
iwl_ops
|
||||||
|
kgdb_arch
|
||||||
|
kgdb_io
|
||||||
|
kset_uevent_ops
|
||||||
|
lock_manager_operations
|
||||||
|
microcode_ops
|
||||||
|
mtrr_ops
|
||||||
|
neigh_ops
|
||||||
|
nlmsvc_binding
|
||||||
|
of_device_id
|
||||||
|
pci_raw_ops
|
||||||
|
pipe_buf_operations
|
||||||
|
platform_hibernation_ops
|
||||||
|
platform_suspend_ops
|
||||||
|
proto_ops
|
||||||
|
rpc_pipe_ops
|
||||||
|
seq_operations
|
||||||
|
snd_ac97_build_ops
|
||||||
|
soc_pcmcia_socket_ops
|
||||||
|
stacktrace_ops
|
||||||
|
sysfs_ops
|
||||||
|
tty_operations
|
||||||
|
uart_ops
|
||||||
|
usb_mon_operations
|
||||||
|
wd_ops
|
Loading…
Reference in New Issue
Block a user