Skip to content

Commit

Permalink
staging: comedi: allow pcmcia drivers to auto attach
Browse files Browse the repository at this point in the history
Introduce some helper functions to allow converting the comedi
pcmcia drivers to the comedi auto_attach mechanism.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
H Hartley Sweeten authored and Greg Kroah-Hartman committed Jan 31, 2013
1 parent 309231d commit 1f021e1
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
36 changes: 36 additions & 0 deletions drivers/staging/comedi/comedi_pcmcia.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,42 @@

#include "comedidev.h"

/**
* comedi_to_pcmcia_dev() - comedi_device pointer to pcmcia_device pointer.
* @dev: comedi_device struct
*/
struct pcmcia_device *comedi_to_pcmcia_dev(struct comedi_device *dev)
{
return dev->hw_dev ? to_pcmcia_dev(dev->hw_dev) : NULL;
}
EXPORT_SYMBOL_GPL(comedi_to_pcmcia_dev);

/**
* comedi_pcmcia_auto_config() - Configure/probe a comedi PCMCIA driver.
* @link: pcmcia_device struct
* @driver: comedi_driver struct
*
* Typically called from the pcmcia_driver (*probe) function.
*/
int comedi_pcmcia_auto_config(struct pcmcia_device *link,
struct comedi_driver *driver)
{
return comedi_auto_config(&link->dev, driver, 0);
}
EXPORT_SYMBOL_GPL(comedi_pcmcia_auto_config);

/**
* comedi_pcmcia_auto_unconfig() - Unconfigure/remove a comedi PCMCIA driver.
* @link: pcmcia_device struct
*
* Typically called from the pcmcia_driver (*remove) function.
*/
void comedi_pcmcia_auto_unconfig(struct pcmcia_device *link)
{
comedi_auto_unconfig(&link->dev);
}
EXPORT_SYMBOL_GPL(comedi_pcmcia_auto_unconfig);

/**
* comedi_pcmcia_driver_register() - Register a comedi PCMCIA driver.
* @comedi_driver: comedi_driver struct
Expand Down
6 changes: 6 additions & 0 deletions drivers/staging/comedi/comedidev.h
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,12 @@ static inline void comedi_pci_disable(struct pci_dev *dev)
/* comedi_pcmcia.c - comedi PCMCIA driver specific functions */

struct pcmcia_driver;
struct pcmcia_device;

struct pcmcia_device *comedi_to_pcmcia_dev(struct comedi_device *);

int comedi_pcmcia_auto_config(struct pcmcia_device *, struct comedi_driver *);
void comedi_pcmcia_auto_unconfig(struct pcmcia_device *);

int comedi_pcmcia_driver_register(struct comedi_driver *,
struct pcmcia_driver *);
Expand Down

0 comments on commit 1f021e1

Please sign in to comment.