All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] staging/comedi: Add VIRT_TO_BUS dependency to 'fix' build failure
@ 2013-05-12 22:00 Peter Huewe
  2013-05-13  9:45 ` Ian Abbott
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Huewe @ 2013-05-12 22:00 UTC (permalink / raw)
  To: Ian Abbott
  Cc: Mori Hess, Greg Kroah-Hartman, H Hartley Sweeten, devel,
	linux-kernel, Geert Uytterhoeven, Peter Huewe

If the platform does not provide virt_to_bus the ni_labpc.c driver fails to
compile.
In order not to break these builds we have to add a depends on
CONFIG_VIRT_TO_BUS to the affected drivers.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
---
 drivers/staging/comedi/Kconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index 7871579..76ccb90 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -1024,6 +1024,7 @@ config COMEDI_NI_LABPC_PCI
 	tristate "NI Lab-PC PCI-1200 support"
 	select COMEDI_NI_LABPC
 	select COMEDI_MITE
+	depends on VIRT_TO_BUS
 	---help---
 	  Enable support for National Instruments Lab-PC PCI-1200.
 
@@ -1151,6 +1152,7 @@ config COMEDI_NI_DAQ_DIO24_CS
 config COMEDI_NI_LABPC_CS
 	tristate "NI DAQCard-1200 PCMCIA support"
 	select COMEDI_NI_LABPC
+	depends on VIRT_TO_BUS
 	---help---
 	  Enable support for the National Instruments PCMCIA DAQCard-1200
 
@@ -1267,6 +1269,7 @@ config COMEDI_NI_LABPC
 	tristate
 	select COMEDI_8255
 	select COMEDI_FC
+	depends on VIRT_TO_BUS
 
 config COMEDI_NI_TIO
 	tristate
-- 
1.8.1.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] staging/comedi: Add VIRT_TO_BUS dependency to 'fix' build failure
  2013-05-12 22:00 [PATCH] staging/comedi: Add VIRT_TO_BUS dependency to 'fix' build failure Peter Huewe
@ 2013-05-13  9:45 ` Ian Abbott
  2013-05-13 11:02   ` [PATCH] staging: comedi: ni_labpc: fix VIRT_TO_BUS dependency Ian Abbott
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Abbott @ 2013-05-13  9:45 UTC (permalink / raw)
  To: Peter Huewe
  Cc: Ian Abbott, Mori Hess, Greg Kroah-Hartman, H Hartley Sweeten,
	devel, linux-kernel, Geert Uytterhoeven

On 2013-05-12 23:00, Peter Huewe wrote:
> If the platform does not provide virt_to_bus the ni_labpc.c driver fails to
> compile.
> In order not to break these builds we have to add a depends on
> CONFIG_VIRT_TO_BUS to the affected drivers.
>
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Signed-off-by: Peter Huewe <peterhuewe@gmx.de>

I'll submit an alternate patch that won't break compilation of 
ni_labpc.c and doesn't depend on CONFIG_VIRT_TO_BUS.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH] staging: comedi: ni_labpc: fix VIRT_TO_BUS dependency
  2013-05-13  9:45 ` Ian Abbott
@ 2013-05-13 11:02   ` Ian Abbott
  2013-05-13 21:28     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Abbott @ 2013-05-13 11:02 UTC (permalink / raw)
  To: devel
  Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten,
	Frank Mori Hess, Peter Huewe, Geert Uytterhoeven, linux-kernel

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@mev.co.uk>
---
 drivers/staging/comedi/Kconfig            |  1 -
 drivers/staging/comedi/drivers/ni_labpc.c | 18 +++++++++++-------
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index 7871579..c55a79d 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -487,7 +487,6 @@ config COMEDI_NI_ATMIO16D
 config COMEDI_NI_LABPC_ISA
 	tristate "NI Lab-PC and compatibles ISA support"
 	select COMEDI_NI_LABPC
-	depends on VIRT_TO_BUS
 	---help---
 	  Enable support for National Instruments Lab-PC and compatibles
 	  Lab-PC-1200, Lab-PC-1200AI, Lab-PC+.
diff --git a/drivers/staging/comedi/drivers/ni_labpc.c b/drivers/staging/comedi/drivers/ni_labpc.c
index 3d978f3..5078be7 100644
--- a/drivers/staging/comedi/drivers/ni_labpc.c
+++ b/drivers/staging/comedi/drivers/ni_labpc.c
@@ -75,6 +75,10 @@
 #include "comedi_fc.h"
 #include "ni_labpc.h"
 
+#if defined(CONFIG_ISA_DMA_API) && defined(CONFIG_VIRT_TO_BUS)
+#define NI_LABPC_ISA_DMA
+#endif
+
 /*
  * Register map (all registers are 8-bit)
  */
@@ -465,7 +469,7 @@ static int labpc_ai_insn_read(struct comedi_device *dev,
 	return insn->n;
 }
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 /* utility function that suggests a dma transfer size in bytes */
 static unsigned int labpc_suggest_transfer_size(const struct comedi_cmd *cmd)
 {
@@ -883,7 +887,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 		return ret;
 	}
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	/*  figure out what method we will use to transfer data */
 	if (devpriv->dma_chan &&	/*  need a dma channel allocated */
 		/*
@@ -966,7 +970,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 
 	labpc_clear_adc_fifo(dev);
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	/*  set up dma transfer */
 	if (xfer == isa_dma_transfer) {
 		unsigned long irq_flags;
@@ -1041,7 +1045,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 	return 0;
 }
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 static void labpc_drain_dma(struct comedi_device *dev)
 {
 	struct labpc_private *devpriv = dev->private;
@@ -1145,7 +1149,7 @@ static int labpc_drain_fifo(struct comedi_device *dev)
  * when acquisition is terminated by stop_src == TRIG_EXT). */
 static void labpc_drain_dregs(struct comedi_device *dev)
 {
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	struct labpc_private *devpriv = dev->private;
 
 	if (devpriv->current_transfer == isa_dma_transfer)
@@ -1195,7 +1199,7 @@ static irqreturn_t labpc_interrupt(int irq, void *d)
 		return IRQ_HANDLED;
 	}
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	if (devpriv->current_transfer == isa_dma_transfer) {
 		/*
 		 * if a dma terminal count of external stop trigger
@@ -1731,7 +1735,7 @@ static int labpc_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 	if (ret)
 		return ret;
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	if (dev->irq && (dma_chan == 1 || dma_chan == 3)) {
 		devpriv->dma_buffer = kmalloc(dma_buffer_size,
 					      GFP_KERNEL | GFP_DMA);
-- 
1.8.1.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] staging: comedi: ni_labpc: fix VIRT_TO_BUS dependency
  2013-05-13 11:02   ` [PATCH] staging: comedi: ni_labpc: fix VIRT_TO_BUS dependency Ian Abbott
@ 2013-05-13 21:28     ` Greg Kroah-Hartman
  2013-05-14 10:01       ` Ian Abbott
  0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-13 21:28 UTC (permalink / raw)
  To: Ian Abbott
  Cc: devel, Frank Mori Hess, linux-kernel, Geert Uytterhoeven,
	H Hartley Sweeten

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@mev.co.uk>
> ---
>  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.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] staging: comedi: ni_labpc: fix VIRT_TO_BUS dependency
  2013-05-13 21:28     ` Greg Kroah-Hartman
@ 2013-05-14 10:01       ` Ian Abbott
  2013-06-27 16:08         ` [PATCH v2] staging: comedi: ni_labpc: change " Ian Abbott
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Abbott @ 2013-05-14 10:01 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Ian Abbott, devel, Frank Mori Hess, linux-kernel,
	Geert Uytterhoeven, H Hartley Sweeten

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2] staging: comedi: ni_labpc: change VIRT_TO_BUS dependency
  2013-05-14 10:01       ` Ian Abbott
@ 2013-06-27 16:08         ` Ian Abbott
  2013-06-27 16:50           ` Ian Abbott
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Abbott @ 2013-06-27 16:08 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, Ian Abbott, Bernd Porr, H Hartley Sweeten

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.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
v2: Rebased and changed the subject and description a bit.  I think my
original reason for the patch is still valid even after Hartley's change
to the use of virt_to_bus() in this module.
---
 drivers/staging/comedi/Kconfig            |  1 -
 drivers/staging/comedi/drivers/ni_labpc.c | 18 +++++++++++-------
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index 8c8a551..e234fe9 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -473,7 +473,6 @@ config COMEDI_NI_ATMIO16D
 config COMEDI_NI_LABPC_ISA
 	tristate "NI Lab-PC and compatibles ISA support"
 	select COMEDI_NI_LABPC
-	depends on VIRT_TO_BUS
 	---help---
 	  Enable support for National Instruments Lab-PC and compatibles
 	  Lab-PC-1200, Lab-PC-1200AI, Lab-PC+.
diff --git a/drivers/staging/comedi/drivers/ni_labpc.c b/drivers/staging/comedi/drivers/ni_labpc.c
index f161e70..8989155 100644
--- a/drivers/staging/comedi/drivers/ni_labpc.c
+++ b/drivers/staging/comedi/drivers/ni_labpc.c
@@ -71,6 +71,10 @@
 #include "comedi_fc.h"
 #include "ni_labpc.h"
 
+#if defined(CONFIG_ISA_DMA_API) && defined(CONFIG_VIRT_TO_BUS)
+#define NI_LABPC_ISA_DMA
+#endif
+
 /*
  * Register map (all registers are 8-bit)
  */
@@ -451,7 +455,7 @@ static int labpc_ai_insn_read(struct comedi_device *dev,
 	return insn->n;
 }
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 /* utility function that suggests a dma transfer size in bytes */
 static unsigned int labpc_suggest_transfer_size(const struct comedi_cmd *cmd)
 {
@@ -869,7 +873,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 		return ret;
 	}
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	/*  figure out what method we will use to transfer data */
 	if (devpriv->dma_chan &&	/*  need a dma channel allocated */
 		/*
@@ -952,7 +956,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 
 	labpc_clear_adc_fifo(dev);
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	/*  set up dma transfer */
 	if (xfer == isa_dma_transfer) {
 		unsigned long irq_flags;
@@ -1026,7 +1030,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 	return 0;
 }
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 static void labpc_drain_dma(struct comedi_device *dev)
 {
 	struct labpc_private *devpriv = dev->private;
@@ -1130,7 +1134,7 @@ static int labpc_drain_fifo(struct comedi_device *dev)
  * when acquisition is terminated by stop_src == TRIG_EXT). */
 static void labpc_drain_dregs(struct comedi_device *dev)
 {
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	struct labpc_private *devpriv = dev->private;
 
 	if (devpriv->current_transfer == isa_dma_transfer)
@@ -1180,7 +1184,7 @@ static irqreturn_t labpc_interrupt(int irq, void *d)
 		return IRQ_HANDLED;
 	}
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	if (devpriv->current_transfer == isa_dma_transfer) {
 		/*
 		 * if a dma terminal count of external stop trigger
@@ -1710,7 +1714,7 @@ static int labpc_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 	if (ret)
 		return ret;
 
-#ifdef CONFIG_ISA_DMA_API
+#ifdef NI_LABPC_ISA_DMA
 	if (dev->irq && (dma_chan == 1 || dma_chan == 3)) {
 		devpriv->dma_buffer = kmalloc(dma_buffer_size,
 					      GFP_KERNEL | GFP_DMA);
-- 
1.8.2.1

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] staging: comedi: ni_labpc: change VIRT_TO_BUS dependency
  2013-06-27 16:08         ` [PATCH v2] staging: comedi: ni_labpc: change " Ian Abbott
@ 2013-06-27 16:50           ` Ian Abbott
  2013-06-28 12:40             ` Ian Abbott
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Abbott @ 2013-06-27 16:50 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, H Hartley Sweeten, Ian Abbott, Bernd Porr

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@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] staging: comedi: ni_labpc: change VIRT_TO_BUS dependency
  2013-06-27 16:50           ` Ian Abbott
@ 2013-06-28 12:40             ` Ian Abbott
  0 siblings, 0 replies; 8+ messages in thread
From: Ian Abbott @ 2013-06-28 12:40 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, H Hartley Sweeten, Ian Abbott, Bernd Porr

On 2013-06-27 17:50, Ian Abbott wrote:
> 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).

Might as well dump this patch now.  I've already split the ISA DMA 
support out into a separate module locally.  I just need to split my 
patch up for submission.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-06-28 12:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-12 22:00 [PATCH] staging/comedi: Add VIRT_TO_BUS dependency to 'fix' build failure Peter Huewe
2013-05-13  9:45 ` Ian Abbott
2013-05-13 11:02   ` [PATCH] staging: comedi: ni_labpc: fix VIRT_TO_BUS dependency Ian Abbott
2013-05-13 21:28     ` Greg Kroah-Hartman
2013-05-14 10:01       ` Ian Abbott
2013-06-27 16:08         ` [PATCH v2] staging: comedi: ni_labpc: change " Ian Abbott
2013-06-27 16:50           ` Ian Abbott
2013-06-28 12:40             ` Ian Abbott

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.