Commit 2f82614c authored by Alan Cox's avatar Alan Cox Committed by Greg Kroah-Hartman

Staging: sep: statically initialize the fops like other drivers

This doesn't need to be done at runtime so do it at compile time
Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a2171b68
...@@ -71,14 +71,6 @@ ...@@ -71,14 +71,6 @@
INT_MODULE_PARM(sepDebug, 0x0); INT_MODULE_PARM(sepDebug, 0x0);
MODULE_PARM_DESC(sepDebug, "Flag to enable SEP debug messages"); MODULE_PARM_DESC(sepDebug, "Flag to enable SEP debug messages");
/* major and minor device numbers */
static dev_t g_sep_device_number;
/* the files operations structure of the driver */
static struct file_operations g_sep_fops;
/* cdev struct of the driver */
static struct cdev g_sep_cdev;
/* /*
mutex for the access to the internals of the sep driver mutex for the access to the internals of the sep driver
...@@ -2456,31 +2448,40 @@ static void sep_configure_dma_burst(void) ...@@ -2456,31 +2448,40 @@ static void sep_configure_dma_burst(void)
} }
/* major and minor device numbers */
static dev_t sep_devno;
/* the files operations structure of the driver */
static struct file_operations sep_file_operations = {
.owner = THIS_MODULE,
.ioctl = sep_ioctl,
.poll = sep_poll,
.open = sep_open,
.release = sep_release,
.mmap = sep_mmap,
};
/* cdev struct of the driver */
static struct cdev sep_cdev;
/* /*
this function registers the driver to the file system this function registers the driver to the file system
*/ */
static int sep_register_driver_to_fs(void) static int sep_register_driver_to_fs(void)
{ {
int ret_val = alloc_chrdev_region(&g_sep_device_number, 0, 1, "sep_sec_driver"); int ret_val = alloc_chrdev_region(&sep_devno, 0, 1, "sep_sec_driver");
if (ret_val) { if (ret_val) {
edbg("sep_driver:major number allocation failed, retval is %d\n", ret_val); edbg("sep_driver:major number allocation failed, retval is %d\n", ret_val);
goto end_function; goto end_function;
} }
/* set the files operations structure */
g_sep_fops.owner = THIS_MODULE;
g_sep_fops.ioctl = sep_ioctl;
g_sep_fops.poll = sep_poll;
g_sep_fops.open = sep_open;
g_sep_fops.release = sep_release;
g_sep_fops.mmap = sep_mmap;
/* init cdev */ /* init cdev */
cdev_init(&g_sep_cdev, &g_sep_fops); cdev_init(&sep_cdev, &sep_file_operations);
g_sep_cdev.owner = THIS_MODULE; sep_cdev.owner = THIS_MODULE;
/* register the driver with the kernel */ /* register the driver with the kernel */
ret_val = cdev_add(&g_sep_cdev, g_sep_device_number, 1); ret_val = cdev_add(&sep_cdev, sep_devno, 1);
if (ret_val) { if (ret_val) {
edbg("sep_driver:cdev_add failed, retval is %d\n", ret_val); edbg("sep_driver:cdev_add failed, retval is %d\n", ret_val);
...@@ -2492,7 +2493,7 @@ static int sep_register_driver_to_fs(void) ...@@ -2492,7 +2493,7 @@ static int sep_register_driver_to_fs(void)
end_function_unregister_devnum: end_function_unregister_devnum:
/* unregister dev numbers */ /* unregister dev numbers */
unregister_chrdev_region(g_sep_device_number, 1); unregister_chrdev_region(sep_devno, 1);
end_function: end_function:
return ret_val; return ret_val;
...@@ -2503,9 +2504,9 @@ static int sep_register_driver_to_fs(void) ...@@ -2503,9 +2504,9 @@ static int sep_register_driver_to_fs(void)
*/ */
static void sep_unregister_driver_from_fs(void) static void sep_unregister_driver_from_fs(void)
{ {
cdev_del(&g_sep_cdev); cdev_del(&sep_cdev);
/* unregister dev numbers */ /* unregister dev numbers */
unregister_chrdev_region(g_sep_device_number, 1); unregister_chrdev_region(sep_devno, 1);
} }
......
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