aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/ioc4.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/ioc4.c')
-rw-r--r--drivers/misc/ioc4.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/misc/ioc4.c b/drivers/misc/ioc4.c
index 60b0b1a4fb3a..193206602d88 100644
--- a/drivers/misc/ioc4.c
+++ b/drivers/misc/ioc4.c
@@ -30,6 +30,7 @@
30#include <linux/pci.h> 30#include <linux/pci.h>
31#include <linux/ioc4.h> 31#include <linux/ioc4.h>
32#include <linux/ktime.h> 32#include <linux/ktime.h>
33#include <linux/slab.h>
33#include <linux/mutex.h> 34#include <linux/mutex.h>
34#include <linux/time.h> 35#include <linux/time.h>
35#include <asm/io.h> 36#include <asm/io.h>
@@ -138,7 +139,7 @@ ioc4_unregister_submodule(struct ioc4_submodule *is)
138 * even though the following code utilizes external interrupt registers 139 * even though the following code utilizes external interrupt registers
139 * to perform the speed calculation. 140 * to perform the speed calculation.
140 */ 141 */
141static void 142static void __devinit
142ioc4_clock_calibrate(struct ioc4_driver_data *idd) 143ioc4_clock_calibrate(struct ioc4_driver_data *idd)
143{ 144{
144 union ioc4_int_out int_out; 145 union ioc4_int_out int_out;
@@ -230,7 +231,7 @@ ioc4_clock_calibrate(struct ioc4_driver_data *idd)
230 * on the same PCI bus at slot number 3 to differentiate IO9 from IO10. 231 * on the same PCI bus at slot number 3 to differentiate IO9 from IO10.
231 * If neither is present, it's a PCI-RT. 232 * If neither is present, it's a PCI-RT.
232 */ 233 */
233static unsigned int 234static unsigned int __devinit
234ioc4_variant(struct ioc4_driver_data *idd) 235ioc4_variant(struct ioc4_driver_data *idd)
235{ 236{
236 struct pci_dev *pdev = NULL; 237 struct pci_dev *pdev = NULL;
@@ -269,7 +270,7 @@ ioc4_variant(struct ioc4_driver_data *idd)
269 return IOC4_VARIANT_PCI_RT; 270 return IOC4_VARIANT_PCI_RT;
270} 271}
271 272
272static void 273static void __devinit
273ioc4_load_modules(struct work_struct *work) 274ioc4_load_modules(struct work_struct *work)
274{ 275{
275 /* arg just has to be freed */ 276 /* arg just has to be freed */
@@ -280,7 +281,7 @@ ioc4_load_modules(struct work_struct *work)
280} 281}
281 282
282/* Adds a new instance of an IOC4 card */ 283/* Adds a new instance of an IOC4 card */
283static int 284static int __devinit
284ioc4_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id) 285ioc4_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
285{ 286{
286 struct ioc4_driver_data *idd; 287 struct ioc4_driver_data *idd;
@@ -425,7 +426,7 @@ out:
425} 426}
426 427
427/* Removes a particular instance of an IOC4 card. */ 428/* Removes a particular instance of an IOC4 card. */
428static void 429static void __devexit
429ioc4_remove(struct pci_dev *pdev) 430ioc4_remove(struct pci_dev *pdev)
430{ 431{
431 struct ioc4_submodule *is; 432 struct ioc4_submodule *is;
@@ -476,7 +477,7 @@ static struct pci_driver ioc4_driver = {
476 .name = "IOC4", 477 .name = "IOC4",
477 .id_table = ioc4_id_table, 478 .id_table = ioc4_id_table,
478 .probe = ioc4_probe, 479 .probe = ioc4_probe,
479 .remove = ioc4_remove, 480 .remove = __devexit_p(ioc4_remove),
480}; 481};
481 482
482MODULE_DEVICE_TABLE(pci, ioc4_id_table); 483MODULE_DEVICE_TABLE(pci, ioc4_id_table);
@@ -486,14 +487,14 @@ MODULE_DEVICE_TABLE(pci, ioc4_id_table);
486 *********************/ 487 *********************/
487 488
488/* Module load */ 489/* Module load */
489static int __devinit 490static int __init
490ioc4_init(void) 491ioc4_init(void)
491{ 492{
492 return pci_register_driver(&ioc4_driver); 493 return pci_register_driver(&ioc4_driver);
493} 494}
494 495
495/* Module unload */ 496/* Module unload */
496static void __devexit 497static void __exit
497ioc4_exit(void) 498ioc4_exit(void)
498{ 499{
499 /* Ensure ioc4_load_modules() has completed before exiting */ 500 /* Ensure ioc4_load_modules() has completed before exiting */