]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
proc: use __auto_type more
authorAlexey Dobriyan <adobriyan@gmail.com>
Sun, 8 Sep 2024 09:26:22 +0000 (12:26 +0300)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 17 Sep 2024 08:11:20 +0000 (01:11 -0700)
Switch away from quite chatty declarations using typeof_member().

In theory this is faster to compile too because there is no macro
expansion and there is less type checking.

Link: https://lkml.kernel.org/r/81bf02fd-8724-4f4d-a2bb-c59620b7d716@p183
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/proc/inode.c

index d19434e2a58e71fdae5e4be075b6976bec260acc..626ad7bd94f244e7e1bd25365e5a31908cb4d72a 100644 (file)
@@ -303,9 +303,7 @@ static ssize_t proc_reg_read_iter(struct kiocb *iocb, struct iov_iter *iter)
 
 static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)
 {
-       typeof_member(struct proc_ops, proc_read) read;
-
-       read = pde->proc_ops->proc_read;
+       __auto_type read = pde->proc_ops->proc_read;
        if (read)
                return read(file, buf, count, ppos);
        return -EIO;
@@ -327,9 +325,7 @@ static ssize_t proc_reg_read(struct file *file, char __user *buf, size_t count,
 
 static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)
 {
-       typeof_member(struct proc_ops, proc_write) write;
-
-       write = pde->proc_ops->proc_write;
+       __auto_type write = pde->proc_ops->proc_write;
        if (write)
                return write(file, buf, count, ppos);
        return -EIO;
@@ -351,9 +347,7 @@ static ssize_t proc_reg_write(struct file *file, const char __user *buf, size_t
 
 static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)
 {
-       typeof_member(struct proc_ops, proc_poll) poll;
-
-       poll = pde->proc_ops->proc_poll;
+       __auto_type poll = pde->proc_ops->proc_poll;
        if (poll)
                return poll(file, pts);
        return DEFAULT_POLLMASK;
@@ -375,9 +369,7 @@ static __poll_t proc_reg_poll(struct file *file, struct poll_table_struct *pts)
 
 static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)
 {
-       typeof_member(struct proc_ops, proc_ioctl) ioctl;
-
-       ioctl = pde->proc_ops->proc_ioctl;
+       __auto_type ioctl = pde->proc_ops->proc_ioctl;
        if (ioctl)
                return ioctl(file, cmd, arg);
        return -ENOTTY;
@@ -400,9 +392,7 @@ static long proc_reg_unlocked_ioctl(struct file *file, unsigned int cmd, unsigne
 #ifdef CONFIG_COMPAT
 static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)
 {
-       typeof_member(struct proc_ops, proc_compat_ioctl) compat_ioctl;
-
-       compat_ioctl = pde->proc_ops->proc_compat_ioctl;
+       __auto_type compat_ioctl = pde->proc_ops->proc_compat_ioctl;
        if (compat_ioctl)
                return compat_ioctl(file, cmd, arg);
        return -ENOTTY;
@@ -424,9 +414,7 @@ static long proc_reg_compat_ioctl(struct file *file, unsigned int cmd, unsigned
 
 static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)
 {
-       typeof_member(struct proc_ops, proc_mmap) mmap;
-
-       mmap = pde->proc_ops->proc_mmap;
+       __auto_type mmap = pde->proc_ops->proc_mmap;
        if (mmap)
                return mmap(file, vma);
        return -EIO;
@@ -483,7 +471,6 @@ static int proc_reg_open(struct inode *inode, struct file *file)
        struct proc_dir_entry *pde = PDE(inode);
        int rv = 0;
        typeof_member(struct proc_ops, proc_open) open;
-       typeof_member(struct proc_ops, proc_release) release;
        struct pde_opener *pdeo;
 
        if (!pde->proc_ops->proc_lseek)
@@ -510,7 +497,7 @@ static int proc_reg_open(struct inode *inode, struct file *file)
        if (!use_pde(pde))
                return -ENOENT;
 
-       release = pde->proc_ops->proc_release;
+       __auto_type release = pde->proc_ops->proc_release;
        if (release) {
                pdeo = kmem_cache_alloc(pde_opener_cache, GFP_KERNEL);
                if (!pdeo) {
@@ -547,9 +534,7 @@ static int proc_reg_release(struct inode *inode, struct file *file)
        struct pde_opener *pdeo;
 
        if (pde_is_permanent(pde)) {
-               typeof_member(struct proc_ops, proc_release) release;
-
-               release = pde->proc_ops->proc_release;
+               __auto_type release = pde->proc_ops->proc_release;
                if (release) {
                        return release(inode, file);
                }