staging: comedi: refactor ke_counter driver to remove forward declarations
PATCH 1/1 staging: comedi: refactor ke_counter 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/ke_counter.c +50 -61
@@ -46,18 +46,6 @@ Kolter Electronic PCI Counter Card.#define PCI_VENDOR_ID_KOLTER 0x1001#define CNT_CARD_DEVICE_ID 0x0014 -/*-- function prototypes ----------------------------------------------------*/ - -static int cnt_attach (struct comedi_device *dev,struct comedi_devconfig *it); -static int cnt_detach (struct comedi_device *dev); - -static DEFINE_PCI_DEVICE_TABLE (cnt_pci_table) = { - {PCI_DEVICE (PCI_VENDOR_ID_KOLTER ,CNT_CARD_DEVICE_ID ) }, - {0 } -}; - -MODULE_DEVICE_TABLE (pci, cnt_pci_table); -/*-- board specification structure ------------------------------------------*/ struct cnt_board_struct {
@@ -87,51 +75,6 @@ struct cnt_device_private {#define devpriv ((struct cnt_device_private *)dev->private) -static struct comedi_driver cnt_driver = { - .driver_name =CNT_DRIVER_NAME , - .module =THIS_MODULE , - .attach = cnt_attach, - .detach = cnt_detach, -}; - -static int __devinit cnt_driver_pci_probe (struct pci_dev *dev, -const struct pci_device_id *ent) -{ -return comedi_pci_auto_config (dev, &cnt_driver); -} - -static void __devexit cnt_driver_pci_remove(struct pci_dev *dev) -{ -comedi_pci_auto_unconfig (dev); -} - -static struct pci_driver cnt_driver_pci_driver = { - .id_table = cnt_pci_table, - .probe = &cnt_driver_pci_probe, - .remove =__devexit_p (&cnt_driver_pci_remove) -}; - -static int __init cnt_driver_init_module (void ) -{ -int retval; - - retval =comedi_driver_register (&cnt_driver); -if (retval <0 ) -return retval; - - cnt_driver_pci_driver.name = (char *)cnt_driver.driver_name; -return pci_register_driver (&cnt_driver_pci_driver); -} - -static void __exit cnt_driver_cleanup_module(void) -{ -pci_unregister_driver (&cnt_driver_pci_driver); -comedi_driver_unregister (&cnt_driver); -} - -module_init (cnt_driver_init_module); -module_exit (cnt_driver_cleanup_module); -/*-- counter write ----------------------------------------------------------*/ /* This should be used only for resetting the counters; maybe it is better
@@ -181,8 +124,6 @@ static int cnt_rinsn(struct comedi_device *dev,return 1 ; } -/*-- attach -----------------------------------------------------------------*/ -static int cnt_attach (struct comedi_device *dev,struct comedi_devconfig *it) {struct comedi_subdevice *subdevice;
@@ -278,8 +219,6 @@ found:return 0 ; } -/*-- detach -----------------------------------------------------------------*/ -static int cnt_detach (struct comedi_device *dev) {if (devpriv && devpriv->pcidev) {
@@ -292,6 +231,56 @@ static int cnt_detach(struct comedi_device *dev)return 0 ; } +static struct comedi_driver cnt_driver = { + .driver_name =CNT_DRIVER_NAME , + .module =THIS_MODULE , + .attach = cnt_attach, + .detach = cnt_detach, +}; + +static int __devinit cnt_driver_pci_probe (struct pci_dev *dev, +const struct pci_device_id *ent) +{ +return comedi_pci_auto_config (dev, &cnt_driver); +} + +static void __devexit cnt_driver_pci_remove(struct pci_dev *dev) +{ +comedi_pci_auto_unconfig (dev); +} + +static DEFINE_PCI_DEVICE_TABLE (cnt_pci_table) = { + {PCI_DEVICE (PCI_VENDOR_ID_KOLTER ,CNT_CARD_DEVICE_ID ) }, + {0 } +}; +MODULE_DEVICE_TABLE (pci, cnt_pci_table); + +static struct pci_driver cnt_driver_pci_driver = { + .id_table = cnt_pci_table, + .probe = cnt_driver_pci_probe, + .remove =__devexit_p (cnt_driver_pci_remove), +}; + +static int __init cnt_driver_init_module (void ) +{ +int retval; + + retval =comedi_driver_register (&cnt_driver); +if (retval <0 ) +return retval; + + cnt_driver_pci_driver.name = (char *)cnt_driver.driver_name; +return pci_register_driver (&cnt_driver_pci_driver); +} +module_init (cnt_driver_init_module); + +static void __exit cnt_driver_cleanup_module(void) +{ +pci_unregister_driver (&cnt_driver_pci_driver); +comedi_driver_unregister (&cnt_driver); +} +module_exit (cnt_driver_cleanup_module); +MODULE_AUTHOR ("Comedi http://www.comedi.org" );MODULE_DESCRIPTION ("Comedi low-level driver" );MODULE_LICENSE ("GPL" );