Reorder code so that forward declarations are not needed.

Signed-off-by: Dmitry Kalinkin <dmitry.kalin...@gmail.com>
Cc: Igor Alekseev <igor.aleks...@itep.ru>
---
 drivers/staging/vme/devices/vme_user.c | 139 ++++++++++++++-------------------
 1 file changed, 60 insertions(+), 79 deletions(-)

diff --git a/drivers/staging/vme/devices/vme_user.c 
b/drivers/staging/vme/devices/vme_user.c
index 449b8cd..8e46d60 100644
--- a/drivers/staging/vme/devices/vme_user.c
+++ b/drivers/staging/vme/devices/vme_user.c
@@ -116,44 +116,11 @@ static const int type[VME_DEVS] = {       MASTER_MINOR,   
MASTER_MINOR,
                                        CONTROL_MINOR
                                };
 
-
-static int vme_user_open(struct inode *, struct file *);
-static int vme_user_release(struct inode *, struct file *);
-static ssize_t vme_user_read(struct file *, char __user *, size_t, loff_t *);
-static ssize_t vme_user_write(struct file *, const char __user *, size_t,
-       loff_t *);
-static loff_t vme_user_llseek(struct file *, loff_t, int);
-static long vme_user_unlocked_ioctl(struct file *, unsigned int, unsigned 
long);
-static int vme_user_mmap(struct file *file, struct vm_area_struct *vma);
-
-static void vme_user_vm_open(struct vm_area_struct *vma);
-static void vme_user_vm_close(struct vm_area_struct *vma);
-
-static int vme_user_match(struct vme_dev *);
-static int vme_user_probe(struct vme_dev *);
-static int vme_user_remove(struct vme_dev *);
-
-static const struct file_operations vme_user_fops = {
-       .open = vme_user_open,
-       .release = vme_user_release,
-       .read = vme_user_read,
-       .write = vme_user_write,
-       .llseek = vme_user_llseek,
-       .unlocked_ioctl = vme_user_unlocked_ioctl,
-       .compat_ioctl = vme_user_unlocked_ioctl,
-       .mmap = vme_user_mmap,
-};
-
 struct vme_user_vma_priv {
        unsigned int minor;
        atomic_t refcnt;
 };
 
-static const struct vm_operations_struct vme_user_vm_ops = {
-       .open = vme_user_vm_open,
-       .close = vme_user_vm_close,
-};
-
 
 static int vme_user_open(struct inode *inode, struct file *file)
 {
@@ -582,6 +549,11 @@ static void vme_user_vm_close(struct vm_area_struct *vma)
        kfree(vma_priv);
 }
 
+static const struct vm_operations_struct vme_user_vm_ops = {
+       .open = vme_user_vm_open,
+       .close = vme_user_vm_close,
+};
+
 static int vme_user_master_mmap(unsigned int minor, struct vm_area_struct *vma)
 {
        int err;
@@ -623,6 +595,16 @@ static int vme_user_mmap(struct file *file, struct 
vm_area_struct *vma)
        return -ENODEV;
 }
 
+static const struct file_operations vme_user_fops = {
+       .open = vme_user_open,
+       .release = vme_user_release,
+       .read = vme_user_read,
+       .write = vme_user_write,
+       .llseek = vme_user_llseek,
+       .unlocked_ioctl = vme_user_unlocked_ioctl,
+       .compat_ioctl = vme_user_unlocked_ioctl,
+       .mmap = vme_user_mmap,
+};
 
 /*
  * Unallocate a previously allocated buffer
@@ -649,52 +631,6 @@ static void buf_unalloc(int num)
        }
 }
 
-static struct vme_driver vme_user_driver = {
-       .name = driver_name,
-       .match = vme_user_match,
-       .probe = vme_user_probe,
-       .remove = vme_user_remove,
-};
-
-
-static int __init vme_user_init(void)
-{
-       int retval = 0;
-
-       pr_info("VME User Space Access Driver\n");
-
-       if (bus_num == 0) {
-               pr_err("No cards, skipping registration\n");
-               retval = -ENODEV;
-               goto err_nocard;
-       }
-
-       /* Let's start by supporting one bus, we can support more than one
-        * in future revisions if that ever becomes necessary.
-        */
-       if (bus_num > VME_USER_BUS_MAX) {
-               pr_err("Driver only able to handle %d buses\n",
-                      VME_USER_BUS_MAX);
-               bus_num = VME_USER_BUS_MAX;
-       }
-
-       /*
-        * Here we just register the maximum number of devices we can and
-        * leave vme_user_match() to allow only 1 to go through to probe().
-        * This way, if we later want to allow multiple user access devices,
-        * we just change the code in vme_user_match().
-        */
-       retval = vme_register_driver(&vme_user_driver, VME_MAX_SLOTS);
-       if (retval != 0)
-               goto err_reg;
-
-       return retval;
-
-err_reg:
-err_nocard:
-       return retval;
-}
-
 static int vme_user_match(struct vme_dev *vdev)
 {
        int i;
@@ -916,6 +852,51 @@ static int vme_user_remove(struct vme_dev *dev)
        return 0;
 }
 
+static struct vme_driver vme_user_driver = {
+       .name = driver_name,
+       .match = vme_user_match,
+       .probe = vme_user_probe,
+       .remove = vme_user_remove,
+};
+
+static int __init vme_user_init(void)
+{
+       int retval = 0;
+
+       pr_info("VME User Space Access Driver\n");
+
+       if (bus_num == 0) {
+               pr_err("No cards, skipping registration\n");
+               retval = -ENODEV;
+               goto err_nocard;
+       }
+
+       /* Let's start by supporting one bus, we can support more than one
+        * in future revisions if that ever becomes necessary.
+        */
+       if (bus_num > VME_USER_BUS_MAX) {
+               pr_err("Driver only able to handle %d buses\n",
+                      VME_USER_BUS_MAX);
+               bus_num = VME_USER_BUS_MAX;
+       }
+
+       /*
+        * Here we just register the maximum number of devices we can and
+        * leave vme_user_match() to allow only 1 to go through to probe().
+        * This way, if we later want to allow multiple user access devices,
+        * we just change the code in vme_user_match().
+        */
+       retval = vme_register_driver(&vme_user_driver, VME_MAX_SLOTS);
+       if (retval != 0)
+               goto err_reg;
+
+       return retval;
+
+err_reg:
+err_nocard:
+       return retval;
+}
+
 static void __exit vme_user_exit(void)
 {
        vme_unregister_driver(&vme_user_driver);
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to