staging: comedi: refactor me_daq driver to remove forward declarations
PATCH 1/1 staging: comedi: refactor me_daq driver to remove forward declarations
Move the module_init/module_exit routines and the associated struct comedi_driver and other variables to the end of the source. This is more typical of how other drivers are written and removes the need for the forward declarations.
Signed-off-by H Hartley Sweeten <[email protected]>
Cc Ian Abbott <[email protected]>
Cc Mori Hess <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
---
drivers/staging/comedi/drivers/me_daq.c +51 -64
@@ -146,10 +146,6 @@ from http://www.comedi.org#define ME_COUNTER_STARTDATA_B 0x0022/* - | W */ #define ME_COUNTER_VALUE_B 0x0022/* R | - */ -/* Function prototypes */ -static int me_attach (struct comedi_device *dev,struct comedi_devconfig *it); -static int me_detach (struct comedi_device *dev); -static const struct comedi_lrange me2000_ai_range = {8 , {
@@ -187,14 +183,6 @@ static const struct comedi_lrange me2600_ao_range = { } }; -static DEFINE_PCI_DEVICE_TABLE (me_pci_table) = { - {PCI_DEVICE (PCI_VENDOR_ID_MEILHAUS ,ME2600_DEVICE_ID ) }, - {PCI_DEVICE (PCI_VENDOR_ID_MEILHAUS ,ME2000_DEVICE_ID ) }, - {0 } -}; - -MODULE_DEVICE_TABLE (pci, me_pci_table); -/* Board specification structure */ struct me_board {const char *name;/* driver name */
@@ -247,51 +235,6 @@ static const struct me_board me_boards[] = {#define me_board_nbr (sizeof(me_boards)/sizeof(struct me_board)) -static struct comedi_driver me_driver = { - .driver_name =ME_DRIVER_NAME , - .module =THIS_MODULE , - .attach = me_attach, - .detach = me_detach, -}; - -static int __devinit me_driver_pci_probe (struct pci_dev *dev, -const struct pci_device_id *ent) -{ -return comedi_pci_auto_config (dev, &me_driver); -} - -static void __devexit me_driver_pci_remove(struct pci_dev *dev) -{ -comedi_pci_auto_unconfig (dev); -} - -static struct pci_driver me_driver_pci_driver = { - .id_table = me_pci_table, - .probe = &me_driver_pci_probe, - .remove =__devexit_p (&me_driver_pci_remove) -}; - -static int __init me_driver_init_module (void ) -{ -int retval; - - retval =comedi_driver_register (&me_driver); -if (retval <0 ) -return retval; - - me_driver_pci_driver.name = (char *)me_driver.driver_name; -return pci_register_driver (&me_driver_pci_driver); -} - -static void __exit me_driver_cleanup_module(void) -{ -pci_unregister_driver (&me_driver_pci_driver); -comedi_driver_unregister (&me_driver); -} - -module_init (me_driver_init_module); -module_exit (me_driver_cleanup_module); -/* Private data structure */ struct me_private_data {struct pci_dev *pci_device;
@@ -669,12 +612,6 @@ static int me_reset(struct comedi_device *dev)return 0 ; } -/* -* Attach -* -* - Register PCI device -* - Declare device driver capability -*/ static int me_attach (struct comedi_device *dev,struct comedi_devconfig *it) {struct pci_dev *pci_device =NULL ;
@@ -869,7 +806,6 @@ found:return 0 ; } -/* Detach */ static int me_detach (struct comedi_device *dev) {if (dev_private) {
@@ -889,6 +825,57 @@ static int me_detach(struct comedi_device *dev)return 0 ; } +static struct comedi_driver me_driver = { + .driver_name =ME_DRIVER_NAME , + .module =THIS_MODULE , + .attach = me_attach, + .detach = me_detach, +}; + +static int __devinit me_driver_pci_probe (struct pci_dev *dev, +const struct pci_device_id *ent) +{ +return comedi_pci_auto_config (dev, &me_driver); +} + +static void __devexit me_driver_pci_remove(struct pci_dev *dev) +{ +comedi_pci_auto_unconfig (dev); +} + +static DEFINE_PCI_DEVICE_TABLE (me_pci_table) = { + {PCI_DEVICE (PCI_VENDOR_ID_MEILHAUS ,ME2600_DEVICE_ID ) }, + {PCI_DEVICE (PCI_VENDOR_ID_MEILHAUS ,ME2000_DEVICE_ID ) }, + {0 } +}; +MODULE_DEVICE_TABLE (pci, me_pci_table); + +static struct pci_driver me_driver_pci_driver = { + .id_table = me_pci_table, + .probe = me_driver_pci_probe, + .remove =__devexit_p (me_driver_pci_remove), +}; + +static int __init me_driver_init_module (void ) +{ +int retval; + + retval =comedi_driver_register (&me_driver); +if (retval <0 ) +return retval; + + me_driver_pci_driver.name = (char *)me_driver.driver_name; +return pci_register_driver (&me_driver_pci_driver); +} +module_init (me_driver_init_module); + +static void __exit me_driver_cleanup_module(void) +{ +pci_unregister_driver (&me_driver_pci_driver); +comedi_driver_unregister (&me_driver); +} +module_exit (me_driver_cleanup_module); +MODULE_AUTHOR ("Comedi http://www.comedi.org" );MODULE_DESCRIPTION ("Comedi low-level driver" );MODULE_LICENSE ("GPL" );