mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 18:30:06 +00:00
staging: comedi: allow pcmcia drivers to auto attach
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>
This commit is contained in:
parent
309231d7a6
commit
1f021e1f3b
2 changed files with 42 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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 *);
|
||||
|
|
Loading…
Reference in a new issue