Re: [PATCH] staging: comedi: ni_labpc: fix VIRT_TO_BUS dependency

From: Ian Abbott
Date: Tue May 14 2013 - 06:02:25 EST


On 2013-05-13 22:28, Greg Kroah-Hartman wrote:
On Mon, May 13, 2013 at 12:02:15PM +0100, Ian Abbott wrote:
The "ni_labpc" module acts as a low-level comedi driver for various
Nattional 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,
otherwise the "ni_labpc" module fails to compile on kernels that enable
`CONFIG_ISA_DMA_API` but not `CONFIG_VIRT_TO_BUS`.

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.

Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
---
drivers/staging/comedi/Kconfig | 1 -
drivers/staging/comedi/drivers/ni_labpc.c | 18 +++++++++++-------
2 files changed, 11 insertions(+), 8 deletions(-)

Ick, no, I'll take Hartley's patch he sent a week or so ago that fixes
this properly for all architectures.

Okay, I completely forgot about that patch! I think the Kconfig part of my patch is still valid though, so I'll repost that part.

--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/