scripts/tags.sh: add ctags magic for declarations of popular kernel type
Kirill Tkhai [Fri, 22 Feb 2013 00:42:42 +0000 (16:42 -0800)]
- Add magic for declarations of variables of popular kernel type like
  spinlock_t, list_head, wait_queue_head_t and other.

- Add a set of specially handled declaration extentions like
  __attribute, __aligned and other.

- Simplify pci_bus_* magic

Signed-off-by: Kirill V Tkhai <tkhai@yandex.ru>
Cc: Michal Marek <mmarek@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

scripts/tags.sh

index 08f06c0..65f9595 100755 (executable)
@@ -149,12 +149,17 @@ dogtags()
 exuberant()
 {
        all_target_sources | xargs $1 -a                        \
-       -I __initdata,__exitdata,__acquires,__releases          \
-       -I __read_mostly,____cacheline_aligned                  \
+       -I __initdata,__exitdata,__initconst,__devinitdata      \
+       -I __devinitconst,__cpuinitdata,__initdata_memblock     \
+       -I __refdata,__attribute                                \
+       -I __acquires,__releases,__deprecated                   \
+       -I __read_mostly,__aligned,____cacheline_aligned        \
        -I ____cacheline_aligned_in_smp                         \
        -I ____cacheline_internodealigned_in_smp                \
+       -I __used,__packed,__packed2__,__must_check,__must_hold \
        -I EXPORT_SYMBOL,EXPORT_SYMBOL_GPL                      \
        -I DEFINE_TRACE,EXPORT_TRACEPOINT_SYMBOL,EXPORT_TRACEPOINT_SYMBOL_GPL \
+       -I static,const                                         \
        --extra=+f --c-kinds=+px                                \
        --regex-asm='/^(ENTRY|_GLOBAL)\(([^)]*)\).*/\2/'        \
        --regex-c='/^SYSCALL_DEFINE[[:digit:]]?\(([^,)]*).*/sys_\1/' \
@@ -182,8 +187,19 @@ exuberant()
        --regex-c++='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
        --regex-c++='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/' \
        --regex-c++='/_PE\(([^,)]*).*/PEVENT_ERRNO__\1/'                \
-       --regex-c='/PCI_OP_READ\(([a-z]*[a-z]).*[1-4]\)/pci_bus_read_config_\1/' \
-       --regex-c='/PCI_OP_WRITE\(([a-z]*[a-z]).*[1-4]\)/pci_bus_write_config_\1/'
+       --regex-c='/PCI_OP_READ\((\w*).*[1-4]\)/pci_bus_read_config_\1/' \
+       --regex-c='/PCI_OP_WRITE\((\w*).*[1-4]\)/pci_bus_write_config_\1/' \
+       --regex-c='/DEFINE_(MUTEX|SEMAPHORE|SPINLOCK)\((\w*)/\2/v/'     \
+       --regex-c='/DEFINE_(RAW_SPINLOCK|RWLOCK|SEQLOCK)\((\w*)/\2/v/'  \
+       --regex-c='/DECLARE_(RWSEM|COMPLETION)\((\w*)/\2/v/'            \
+       --regex-c='/DECLARE_BITMAP\((\w*)/\1/v/'                        \
+       --regex-c='/(^|\s)(|L|H)LIST_HEAD\((\w*)/\3/v/'                 \
+       --regex-c='/(^|\s)RADIX_TREE\((\w*)/\2/v/'                      \
+       --regex-c='/DEFINE_PER_CPU\(([^,]*,\s*)(\w*).*\)/\2/v/'         \
+       --regex-c='/DEFINE_PER_CPU_SHARED_ALIGNED\(([^,]*,\s*)(\w*).*\)/\2/v/' \
+       --regex-c='/DECLARE_WAIT_QUEUE_HEAD\((\w*)/\1/v/'               \
+       --regex-c='/DECLARE_(TASKLET|WORK|DELAYED_WORK)\((\w*)/\2/v/'   \
+       --regex-c='/DEFINE_PCI_DEVICE_TABLE\((\w*)/\1/v/'
 
        all_kconfigs | xargs $1 -a                              \
        --langdef=kconfig --language-force=kconfig              \