checkpatch: struct file_operations should normally be const
Andy Whitcroft [Tue, 6 Jan 2009 22:41:29 +0000 (14:41 -0800)]
In the general use case struct file_operations should be a const object.
Check for and warn where it is not.  As suggested by Steven and Ingo.

Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

scripts/checkpatch.pl

index c39ce0b..94371f6 100755 (executable)
@@ -2509,6 +2509,11 @@ sub process {
                if ($line =~ /^.\s*__initcall\s*\(/) {
                        WARN("please use device_initcall() instead of __initcall()\n" . $herecurr);
                }
+# check for struct file_operations, ensure they are const.
+               if ($line =~ /\bstruct\s+file_operations\b/ &&
+                   $line !~ /\bconst\b/) {
+                       WARN("struct file_operations should normally be const\n" . $herecurr);
+               }
 
 # use of NR_CPUS is usually wrong
 # ignore definitions of NR_CPUS and usage to define arrays as likely right