[PATCH 1/5] staging: comedi: ni_labpc: split out PCI support

Ian Abbott abbotti at mev.co.uk
Tue Apr 23 12:24:04 UTC 2013


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 <hsweeten at visionengravers.com>
> Cc: Ian Abbott <abbotti at mev.co.uk>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

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: <abbotti at mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-



More information about the devel mailing list