static ssize_t sock_splice_read(struct file *file, loff_t *ppos,
struct pipe_inode_info *pipe, size_t len,
unsigned int flags);
-static void sock_show_fdinfo(struct seq_file *m, struct file *f);
+
+#ifdef CONFIG_PROC_FS
+static void sock_show_fdinfo(struct seq_file *m, struct file *f)
+{
+ struct socket *sock = f->private_data;
+
+ if (sock->ops->show_fdinfo)
+ sock->ops->show_fdinfo(m, sock);
+}
+#else
+#define sock_show_fdinfo NULL
+#endif
/*
* Socket files have a set of 'special' operations as well as the generic file ones. These don't appear
.sendpage = sock_sendpage,
.splice_write = generic_splice_sendpage,
.splice_read = sock_splice_read,
-#ifdef CONFIG_PROC_FS
.show_fdinfo = sock_show_fdinfo,
-#endif
};
/*
return res;
}
-static void sock_show_fdinfo(struct seq_file *m, struct file *f)
-{
- struct socket *sock = f->private_data;
-
- if (sock->ops->show_fdinfo)
- sock->ops->show_fdinfo(m, sock);
-}
-
/*
* Atomic setting of ioctl hooks to avoid race
* with module unload.