On 2013-04-22 20:33, H Hartley Sweeten wrote:
Currently the ni_labpc driver is used by the legacy (ISA), PCI, and
PCMCIA versions of the LabPC board. The driver is enabled under the
COMEDI_PCI_DRIVERS section of the Kconfig. This means that PCI support
must be enabled in order to use the ni_labpc driver for the PCI or
PCMCIA drivers.
Split the PCI support code out of the ni_labpc driver into a separate
driver, ni_labpc_pci. The PCMCIA support is already slip out as
ni_labpc_cs.
Modify the Kconfig so that the common code in ni_labpc is enabled by the
Kconfig option COMEDI_NI_LABPC. The ISA support code is currently still
in the ni_labpc driver but is only compiled in if COMEDI_NI_LABPC_ISA is
also enabled.
This allows the PCI and PCMCIA drivers to be enabled without the need
for the ISA stuff.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Ian Abbott <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Just minor niggles, can be fixed up later.
[snip]
diff --git a/drivers/staging/comedi/drivers/ni_labpc.c
b/drivers/staging/comedi/drivers/ni_labpc.c
index 96a6837..e8fc6a1 100644
--- a/drivers/staging/comedi/drivers/ni_labpc.c
+++ b/drivers/staging/comedi/drivers/ni_labpc.c
[snip]
@@ -241,6 +234,7 @@ static inline void labpc_writeb(unsigned int byte, unsigned
long address)
writeb(byte, (void __iomem *)address);
}
+#ifdef CONFIG_COMEDI_NI_LABPC_ISA
That #ifdef and the matching #endif isn't required as labpc_boards gets
optimized out.
static const struct labpc_boardinfo labpc_boards[] = {
{
.name = "lab-pc-1200",
@@ -268,21 +262,8 @@ static const struct labpc_boardinfo labpc_boards[] = {
.ai_range_table = &range_labpc_plus_ai,
.ai_range_code = labpc_plus_ai_gain_bits,
},
-#ifdef CONFIG_COMEDI_PCI_DRIVERS
- {
- .name = "pci-1200",
- .device_id = 0x161,
- .ai_speed = 10000,
- .bustype = pci_bustype,
- .register_layout = labpc_1200_layout,
- .has_ao = 1,
- .ai_range_table = &range_labpc_1200_ai,
- .ai_range_code = labpc_1200_ai_gain_bits,
- .ai_scan_up = 1,
- .has_mmio = 1,
- },
-#endif
};
+#endif
[snip]
+#ifdef CONFIG_COMEDI_NI_LABPC_ISA
static int labpc_attach(struct comedi_device *dev, struct comedi_devconfig
*it)
{
const struct labpc_boardinfo *board = comedi_board(dev);
'board' is now an unused variable here and can be removed.
[snip]
-void labpc_common_detach(struct comedi_device *dev)
+void labpc_detach(struct comedi_device *dev)
'labpc_detach' should be declared 'static'.
--
-=( Ian Abbott @ MEV Ltd. E-mail: <[email protected]> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel