Commit 7f688833 authored by Sudip Mukherjee's avatar Sudip Mukherjee Committed by Greg Kroah-Hartman

staging: unisys: remove forward declaration

rearranged the functions to get rid of the forward declarations.
Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2e71c9e4
......@@ -31,49 +31,6 @@
static struct cdev file_cdev;
static struct visorchannel **file_controlvm_channel;
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;
cdev_init(&file_cdev, &visorchipset_fops);
file_cdev.owner = THIS_MODULE;
if (MAJOR(major_dev) == 0) {
rc = alloc_chrdev_region(&major_dev, 0, 1, MYDRVNAME);
/* dynamic major device number registration required */
if (rc < 0)
return rc;
} else {
/* static major device number registration required */
rc = register_chrdev_region(major_dev, 1, MYDRVNAME);
if (rc < 0)
return rc;
}
rc = cdev_add(&file_cdev, MKDEV(MAJOR(major_dev), 0), 1);
if (rc < 0) {
unregister_chrdev_region(major_dev, 1);
return rc;
}
return 0;
}
void
visorchipset_file_cleanup(dev_t major_dev)
{
......@@ -164,3 +121,40 @@ 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;
cdev_init(&file_cdev, &visorchipset_fops);
file_cdev.owner = THIS_MODULE;
if (MAJOR(major_dev) == 0) {
rc = alloc_chrdev_region(&major_dev, 0, 1, MYDRVNAME);
/* dynamic major device number registration required */
if (rc < 0)
return rc;
} else {
/* static major device number registration required */
rc = register_chrdev_region(major_dev, 1, MYDRVNAME);
if (rc < 0)
return rc;
}
rc = cdev_add(&file_cdev, MKDEV(MAJOR(major_dev), 0), 1);
if (rc < 0) {
unregister_chrdev_region(major_dev, 1);
return rc;
}
return 0;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment