--- a/fs/ramfs/inode.c
+++ b/fs/ramfs/inode.c
@@ -51,7 +51,6 @@ struct ramfs_fs_info {
 
 #define RAMFS_DEFAULT_MODE	0755
 
-static const struct super_operations ramfs_ops;
 static const struct inode_operations ramfs_dir_inode_operations;
 
 struct inode *ramfs_get_inode(struct super_block *sb,
--- a/include/linux/console.h
+++ b/include/linux/console.h
@@ -21,10 +21,8 @@
 #include <linux/vesa.h>
 
 struct vc_data;
-struct console_font_op;
 struct console_font;
 struct module;
-struct tty_struct;
 struct notifier_block;
 
 enum con_scroll {
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -36,10 +36,7 @@
 struct device;
 struct device_private;
 struct device_driver;
-struct driver_private;
 struct module;
-struct class;
-struct subsys_private;
 struct device_node;
 struct fwnode_handle;
 struct iommu_group;
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -531,8 +531,6 @@ extern const void *ftrace_expected;
 
 void ftrace_bug(int err, struct dyn_ftrace *rec);
 
-struct seq_file;
-
 extern int ftrace_text_reserved(const void *start, const void *end);
 
 struct ftrace_ops *ftrace_ops_trampoline(unsigned long addr);
@@ -1147,8 +1145,6 @@ static inline void unpause_graph_tracing(void) { }
 #endif /* CONFIG_FUNCTION_GRAPH_TRACER */
 
 #ifdef CONFIG_TRACING
-enum ftrace_dump_mode;
-
 #define MAX_TRACER_SIZE		100
 extern char ftrace_dump_on_oops[];
 extern int ftrace_dump_on_oops_enabled(void);
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -41,7 +41,6 @@ struct rlimit;
 struct kernel_siginfo;
 struct sembuf;
 struct kern_ipc_perm;
-struct audit_context;
 struct super_block;
 struct inode;
 struct dentry;
@@ -59,8 +58,6 @@ struct xfrm_sec_ctx;
 struct mm_struct;
 struct fs_context;
 struct fs_parameter;
-enum fs_value_type;
-struct watch;
 struct watch_notification;
 struct lsm_ctx;
 
@@ -183,8 +180,6 @@ struct sock;
 struct sockaddr;
 struct socket;
 struct flowi_common;
-struct dst_entry;
-struct xfrm_selector;
 struct xfrm_policy;
 struct xfrm_state;
 struct xfrm_user_sec_ctx;
@@ -219,7 +214,6 @@ extern unsigned long dac_mmap_min_addr;
 #define LSM_PRLIMIT_WRITE 2
 
 /* forward declares to avoid warnings */
-struct sched_param;
 struct request_sock;
 
 /* bprm->unsafe reasons */
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -274,8 +274,6 @@ static inline int valid_signal(unsigned long sig)
 	return sig <= _NSIG ? 1 : 0;
 }
 
-struct timespec;
-struct pt_regs;
 enum pid_type;
 
 extern int next_signal(struct sigpending *pending, sigset_t *mask);
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -11,8 +11,6 @@
 
 struct __aio_sigset;
 struct epoll_event;
-struct iattr;
-struct inode;
 struct iocb;
 struct io_event;
 struct iovec;
@@ -20,14 +18,12 @@ struct __kernel_old_itimerval;
 struct kexec_segment;
 struct linux_dirent;
 struct linux_dirent64;
-struct list_head;
 struct mmap_arg_struct;
 struct msgbuf;
 struct user_msghdr;
 struct mmsghdr;
 struct msqid_ds;
 struct new_utsname;
-struct nfsctl_arg;
 struct __old_kernel_stat;
 struct oldold_utsname;
 struct old_utsname;
@@ -38,7 +34,6 @@ struct rusage;
 struct sched_param;
 struct sched_attr;
 struct sel_arg_struct;
-struct semaphore;
 struct sembuf;
 struct shmid_ds;
 struct sockaddr;
@@ -48,14 +43,12 @@ struct statfs;
 struct statfs64;
 struct statx;
 struct sysinfo;
-struct timespec;
 struct __kernel_old_timeval;
 struct __kernel_timex;
 struct timezone;
 struct tms;
 struct utimbuf;
 struct mq_attr;
-struct compat_stat;
 struct old_timeval32;
 struct robust_list_head;
 struct futex_waitv;
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -23,9 +23,7 @@
 #include <linux/atomic.h>
 
 struct kobject;
-struct module;
 struct bin_attribute;
-enum kobj_ns_type;
 
 struct attribute {
 	const char		*name;
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -1095,10 +1095,6 @@ unsigned int reclaim_clean_pages_from_list(struct zone *zone,
 /* Flags that allow allocations below the min watermark. */
 #define ALLOC_RESERVES (ALLOC_NON_BLOCK|ALLOC_MIN_RESERVE|ALLOC_HIGHATOMIC|ALLOC_OOM)
 
-enum ttu_flags;
-struct tlbflush_unmap_batch;
-
-
 /*
  * only for MM internal work items which do not depend on
  * any allocations or locks which might depend on allocations
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -261,7 +261,6 @@ static const struct inode_operations shmem_dir_inode_operations;
 static const struct inode_operations shmem_special_inode_operations;
 static const struct vm_operations_struct shmem_vm_ops;
 static const struct vm_operations_struct shmem_anon_vm_ops;
-static struct file_system_type shmem_fs_type;
 
 bool shmem_mapping(struct address_space *mapping)
 {
