summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2009-08-07 19:23:04 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-15 12:02:13 -0700
commit2f82614ca597ef0aa4ddc26de5f9a176f1a91ee6 (patch)
tree9d5b9a43995256583da1c760e9855a7ea33a0f32 /drivers
parenta2171b6807b01bb942de9524b01df29cf71b46c6 (diff)
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: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/sep/sep_main_mod.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/drivers/staging/sep/sep_main_mod.c b/drivers/staging/sep/sep_main_mod.c
index 0324fdfccfed..197768dc5c2e 100644
--- a/drivers/staging/sep/sep_main_mod.c
+++ b/drivers/staging/sep/sep_main_mod.c
@@ -71,14 +71,6 @@
INT_MODULE_PARM(sepDebug, 0x0);
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
@@ -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
*/
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) {
edbg("sep_driver:major number allocation failed, retval is %d\n", ret_val);
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 */
- cdev_init(&g_sep_cdev, &g_sep_fops);
- g_sep_cdev.owner = THIS_MODULE;
+ cdev_init(&sep_cdev, &sep_file_operations);
+ sep_cdev.owner = THIS_MODULE;
/* 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) {
edbg("sep_driver:cdev_add failed, retval is %d\n", ret_val);
@@ -2492,7 +2493,7 @@ static int sep_register_driver_to_fs(void)
end_function_unregister_devnum:
/* unregister dev numbers */
- unregister_chrdev_region(g_sep_device_number, 1);
+ unregister_chrdev_region(sep_devno, 1);
end_function:
return ret_val;
@@ -2503,9 +2504,9 @@ end_function:
*/
static void sep_unregister_driver_from_fs(void)
{
- cdev_del(&g_sep_cdev);
+ cdev_del(&sep_cdev);
/* unregister dev numbers */
- unregister_chrdev_region(g_sep_device_number, 1);
+ unregister_chrdev_region(sep_devno, 1);
}