Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
config-osm.c
Go to the documentation of this file.
1 /*
2  * Configuration OSM
3  *
4  * Copyright (C) 2005 Markus Lidel <[email protected]>
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License as published by the
8  * Free Software Foundation; either version 2 of the License, or (at your
9  * option) any later version.
10  *
11  * Fixes/additions:
12  * Markus Lidel <[email protected]>
13  * initial version.
14  */
15 
16 #include <linux/module.h>
17 #include <linux/i2o.h>
18 #include <linux/dcache.h>
19 #include <linux/namei.h>
20 #include <linux/fs.h>
21 
22 #include <asm/uaccess.h>
23 
24 #define OSM_NAME "config-osm"
25 #define OSM_VERSION "1.323"
26 #define OSM_DESCRIPTION "I2O Configuration OSM"
27 
28 /* access mode user rw */
29 #define S_IWRSR (S_IRUSR | S_IWUSR)
30 
31 static struct i2o_driver i2o_config_driver;
32 
33 /* Config OSM driver struct */
34 static struct i2o_driver i2o_config_driver = {
35  .name = OSM_NAME,
36 };
37 
38 #ifdef CONFIG_I2O_CONFIG_OLD_IOCTL
39 #include "i2o_config.c"
40 #endif
41 
50 static int __init i2o_config_init(void)
51 {
53 
54  if (i2o_driver_register(&i2o_config_driver)) {
55  osm_err("handler register failed.\n");
56  return -EBUSY;
57  }
58 #ifdef CONFIG_I2O_CONFIG_OLD_IOCTL
59  if (i2o_config_old_init()) {
60  osm_err("old config handler initialization failed\n");
61  i2o_driver_unregister(&i2o_config_driver);
62  return -EBUSY;
63  }
64 #endif
65 
66  return 0;
67 }
68 
75 static void i2o_config_exit(void)
76 {
77 #ifdef CONFIG_I2O_CONFIG_OLD_IOCTL
78  i2o_config_old_exit();
79 #endif
80 
81  i2o_driver_unregister(&i2o_config_driver);
82 }
83 
84 MODULE_AUTHOR("Markus Lidel <[email protected]>");
85 MODULE_LICENSE("GPL");
88 
89 module_init(i2o_config_init);
90 module_exit(i2o_config_exit);