staging: comedi: das08_cs: refactor the pcmcia support code
PATCH 6/12 staging: comedi: das08_cs: refactor the pcmcia support code
Refactor the pcmcia support code to remove the need for the forward declarations.
Signed-off-by H Hartley Sweeten <[email protected]>
Cc Ian Abbott <[email protected]>
Cc Frank Mori Hess <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
--- drivers/staging/comedi/drivers/das08_cs.c | 87 ++++++++++++++----------------- 1 file changed, 39 insertions(+), 48 deletions(-)
drivers/staging/comedi/drivers/das08_cs.c +39 -48
@@ -104,54 +104,12 @@ static int das08_cs_attach(struct comedi_device *dev,return das08_common_attach (dev, iobase); } -static void das08_pcmcia_config (struct pcmcia_device *link); -static void das08_pcmcia_release (struct pcmcia_device *link); -static int das08_pcmcia_suspend (struct pcmcia_device *p_dev); -static int das08_pcmcia_resume (struct pcmcia_device *p_dev); - -static int das08_pcmcia_attach (struct pcmcia_device *); -static void das08_pcmcia_detach (struct pcmcia_device *); - -struct local_info_t { -struct pcmcia_device *link; -int stop; -struct bus_operations *bus; -}; - -static int das08_pcmcia_attach (struct pcmcia_device *link) -{ -struct local_info_t *local; - -dev_dbg (&link->dev,"das08_pcmcia_attach()\n" ); - -/* Allocate space for private device-specific data */ - local =kzalloc (sizeof (struct local_info_t ),GFP_KERNEL ); -if (!local) -return -ENOMEM ; - local->link = link; - link->priv = local; - - cur_dev = link; - -das08_pcmcia_config (link); - -return 0 ; -} - -static void das08_pcmcia_detach (struct pcmcia_device *link) +static void das08_pcmcia_release (struct pcmcia_device *link) { - -dev_dbg (&link->dev,"das08_pcmcia_detach\n" ); - - ((struct local_info_t *)link->priv)->stop =1 ; -das08_pcmcia_release (link); - -/* This points to the parent struct local_info_t struct */ -kfree (link->priv); - +dev_dbg (&link->dev,"das08_pcmcia_release\n" ); +pcmcia_disable_device (link); } -static int das08_pcmcia_config_loop (struct pcmcia_device *p_dev,void *priv_data) {
@@ -189,10 +147,43 @@ failed: } -static void das08_pcmcia_release (struct pcmcia_device *link) +struct local_info_t { +struct pcmcia_device *link; +int stop; +struct bus_operations *bus; +}; + +static int das08_pcmcia_attach (struct pcmcia_device *link) { -dev_dbg (&link->dev,"das08_pcmcia_release\n" ); -pcmcia_disable_device (link); +struct local_info_t *local; + +dev_dbg (&link->dev,"das08_pcmcia_attach()\n" ); + +/* Allocate space for private device-specific data */ + local =kzalloc (sizeof (struct local_info_t ),GFP_KERNEL ); +if (!local) +return -ENOMEM ; + local->link = link; + link->priv = local; + + cur_dev = link; + +das08_pcmcia_config (link); + +return 0 ; +} + +static void das08_pcmcia_detach (struct pcmcia_device *link) +{ + +dev_dbg (&link->dev,"das08_pcmcia_detach\n" ); + + ((struct local_info_t *)link->priv)->stop =1 ; +das08_pcmcia_release (link); + +/* This points to the parent struct local_info_t struct */ +kfree (link->priv); + }static int das08_pcmcia_suspend (struct pcmcia_device *link)
Signature · 1 line
1.7.11