tree ad79fe0bade637209967aadf23a34447c717fe1a
parent b8f96a31f38c8e9fc75f0a89c6815e7cbc402858
author Andy Whitcroft <apw@shadowen.org> 1216873748 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1216921646 -0700

checkpatch: handle return types of pointers to functions

Make sure we correctly mark the return type of the pointer to a function
declaration.

    const void *(*sb_tag)(struct sysfs_tag_info *info);

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
