On 2013-06-27 17:08, Ian Abbott wrote:
The "ni_labpc" module acts as a low-level comedi driver for various National Instruments Lab-PC ISA cards if `CONFIG_NI_LABPC_ISA` is enabled, and also as a common module depended on by the "ni_labpc_cs" and "ni_labpc_pci" modules. For ISA cards, it optionally supports the use of an ISA DMA channel if `CONFIG_ISA_DMA_API` is enabled, using conditionally compiled code. This conditionally compiled code also relies on `virt_to_bus()`, which only exists if `CONFIG_VIRT_TO_BUS` is enabled. Therefore, support for ISA DMA should only be compiled in if both `CONFIG_ISA_DMA_API` and `CONFIG_VIRT_TO_BUS` are defined. The `CONFIG_NI_LABPC_ISA` option currently depends on `VIRT_TO_BUS` at configure time and checks `CONFIG_ISA_DMA_API` at compile time. It seems better to check both options at compile time. Conditionally define a new macro `NI_LABPC_ISA_DMA` iff both `CONFIG_ISA_DMA_API` and `CONFIG_VIRT_TO_BUS` are defined, and change the conditional compilation tests to use the new macro instead of `CONFIG_ISA_DMA_API`. Also, in the "Kconfig", remove the `VIRT_TO_BUS` dependency from the `COMEDI_NI_LABPC_ISA` option since the dependency is now checked at compile time.
On second thoughts, perhaps I should create a new module and header file and a new conditionally selected config option to handle the ISA DMA support in this module, as that would remove a bunch of #ifdefs (or at least hide them in the header file).
-- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel