rearranged the functions to remove the forward declarations. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> --- v2: it was not in v1 drivers/staging/unisys/visorchipset/file.c | 78 ++++++++++++++---------------- 1 file changed, 36 insertions(+), 42 deletions(-) diff --git a/drivers/staging/unisys/visorchipset/file.c b/drivers/staging/unisys/visorchipset/file.c index e88a215..b74a0f2 100644 --- a/drivers/staging/unisys/visorchipset/file.c +++ b/drivers/staging/unisys/visorchipset/file.c @@ -33,48 +33,6 @@ static struct visorchannel **file_controlvm_channel; static dev_t majordev; /**< indicates major num for device */ static BOOL registered = FALSE; -static int visorchipset_open(struct inode *inode, struct file *file); -static int visorchipset_release(struct inode *inode, struct file *file); -static int visorchipset_mmap(struct file *file, struct vm_area_struct *vma); -static long visorchipset_ioctl(struct file *file, unsigned int cmd, - unsigned long arg); - -static const struct file_operations visorchipset_fops = { - .owner = THIS_MODULE, - .open = visorchipset_open, - .read = NULL, - .write = NULL, - .unlocked_ioctl = visorchipset_ioctl, - .release = visorchipset_release, - .mmap = visorchipset_mmap, -}; - -int -visorchipset_file_init(dev_t major_dev, struct visorchannel **controlvm_channel) -{ - int rc = 0; - - file_controlvm_channel = controlvm_channel; - majordev = major_dev; - cdev_init(&file_cdev, &visorchipset_fops); - file_cdev.owner = THIS_MODULE; - if (MAJOR(majordev) == 0) { - /* dynamic major device number registration required */ - if (alloc_chrdev_region(&majordev, 0, 1, MYDRVNAME) < 0) - return -1; - registered = TRUE; - } else { - /* static major device number registration required */ - if (register_chrdev_region(majordev, 1, MYDRVNAME) < 0) - return -1; - registered = TRUE; - } - rc = cdev_add(&file_cdev, MKDEV(MAJOR(majordev), 0), 1); - if (rc < 0) - return -1; - return 0; -} - void visorchipset_file_cleanup(void) { @@ -169,3 +127,39 @@ static long visorchipset_ioctl(struct file *file, unsigned int cmd, return -EFAULT; } } + +static const struct file_operations visorchipset_fops = { + .owner = THIS_MODULE, + .open = visorchipset_open, + .read = NULL, + .write = NULL, + .unlocked_ioctl = visorchipset_ioctl, + .release = visorchipset_release, + .mmap = visorchipset_mmap, +}; + +int +visorchipset_file_init(dev_t major_dev, struct visorchannel **controlvm_channel) +{ + int rc = 0; + + file_controlvm_channel = controlvm_channel; + majordev = major_dev; + cdev_init(&file_cdev, &visorchipset_fops); + file_cdev.owner = THIS_MODULE; + if (MAJOR(majordev) == 0) { + /* dynamic major device number registration required */ + if (alloc_chrdev_region(&majordev, 0, 1, MYDRVNAME) < 0) + return -1; + registered = TRUE; + } else { + /* static major device number registration required */ + if (register_chrdev_region(majordev, 1, MYDRVNAME) < 0) + return -1; + registered = TRUE; + } + rc = cdev_add(&file_cdev, MKDEV(MAJOR(majordev), 0), 1); + if (rc < 0) + return -1; + return 0; +} -- 1.8.1.2 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel