diff options
author | H Hartley Sweeten <hsweeten@visionengravers.com> | 2013-01-30 17:23:06 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-31 04:40:41 -0500 |
commit | 1f021e1f3b187586e457b4584d0e5f0f5ca5fa15 (patch) | |
tree | 5ca3e7412f997b445e022686c271a377f537c1e0 | |
parent | 309231d7a610554b02084ff7b465e43ef383a3bc (diff) |
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>
-rw-r--r-- | drivers/staging/comedi/comedi_pcmcia.c | 36 | ||||
-rw-r--r-- | drivers/staging/comedi/comedidev.h | 6 |
2 files changed, 42 insertions, 0 deletions
diff --git a/drivers/staging/comedi/comedi_pcmcia.c b/drivers/staging/comedi/comedi_pcmcia.c index 85229456bf28..f10bcc529585 100644 --- a/drivers/staging/comedi/comedi_pcmcia.c +++ b/drivers/staging/comedi/comedi_pcmcia.c | |||
@@ -28,6 +28,42 @@ | |||
28 | #include "comedidev.h" | 28 | #include "comedidev.h" |
29 | 29 | ||
30 | /** | 30 | /** |
31 | * comedi_to_pcmcia_dev() - comedi_device pointer to pcmcia_device pointer. | ||
32 | * @dev: comedi_device struct | ||
33 | */ | ||
34 | struct pcmcia_device *comedi_to_pcmcia_dev(struct comedi_device *dev) | ||
35 | { | ||
36 | return dev->hw_dev ? to_pcmcia_dev(dev->hw_dev) : NULL; | ||
37 | } | ||
38 | EXPORT_SYMBOL_GPL(comedi_to_pcmcia_dev); | ||
39 | |||
40 | /** | ||
41 | * comedi_pcmcia_auto_config() - Configure/probe a comedi PCMCIA driver. | ||
42 | * @link: pcmcia_device struct | ||
43 | * @driver: comedi_driver struct | ||
44 | * | ||
45 | * Typically called from the pcmcia_driver (*probe) function. | ||
46 | */ | ||
47 | int comedi_pcmcia_auto_config(struct pcmcia_device *link, | ||
48 | struct comedi_driver *driver) | ||
49 | { | ||
50 | return comedi_auto_config(&link->dev, driver, 0); | ||
51 | } | ||
52 | EXPORT_SYMBOL_GPL(comedi_pcmcia_auto_config); | ||
53 | |||
54 | /** | ||
55 | * comedi_pcmcia_auto_unconfig() - Unconfigure/remove a comedi PCMCIA driver. | ||
56 | * @link: pcmcia_device struct | ||
57 | * | ||
58 | * Typically called from the pcmcia_driver (*remove) function. | ||
59 | */ | ||
60 | void comedi_pcmcia_auto_unconfig(struct pcmcia_device *link) | ||
61 | { | ||
62 | comedi_auto_unconfig(&link->dev); | ||
63 | } | ||
64 | EXPORT_SYMBOL_GPL(comedi_pcmcia_auto_unconfig); | ||
65 | |||
66 | /** | ||
31 | * comedi_pcmcia_driver_register() - Register a comedi PCMCIA driver. | 67 | * comedi_pcmcia_driver_register() - Register a comedi PCMCIA driver. |
32 | * @comedi_driver: comedi_driver struct | 68 | * @comedi_driver: comedi_driver struct |
33 | * @pcmcia_driver: pcmcia_driver struct | 69 | * @pcmcia_driver: pcmcia_driver struct |
diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h index 329b1d7bc45e..ea585ebd07df 100644 --- a/drivers/staging/comedi/comedidev.h +++ b/drivers/staging/comedi/comedidev.h | |||
@@ -465,6 +465,12 @@ static inline void comedi_pci_disable(struct pci_dev *dev) | |||
465 | /* comedi_pcmcia.c - comedi PCMCIA driver specific functions */ | 465 | /* comedi_pcmcia.c - comedi PCMCIA driver specific functions */ |
466 | 466 | ||
467 | struct pcmcia_driver; | 467 | struct pcmcia_driver; |
468 | struct pcmcia_device; | ||
469 | |||
470 | struct pcmcia_device *comedi_to_pcmcia_dev(struct comedi_device *); | ||
471 | |||
472 | int comedi_pcmcia_auto_config(struct pcmcia_device *, struct comedi_driver *); | ||
473 | void comedi_pcmcia_auto_unconfig(struct pcmcia_device *); | ||
468 | 474 | ||
469 | int comedi_pcmcia_driver_register(struct comedi_driver *, | 475 | int comedi_pcmcia_driver_register(struct comedi_driver *, |
470 | struct pcmcia_driver *); | 476 | struct pcmcia_driver *); |