[PATCH] STAGING: Comedi: Build only on arches providing PAGE_KERNEL_NOCACHE

Martyn Welch martyn.welch at ge.com
Thu Jun 23 11:53:36 UTC 2011


On 23/06/11 12:45, Ralf Baechle wrote:
> On architectures that don't define PAGE_KERNEL_NOCACHE, the Comedi driver turns
> into tragedy:
> 
>   CC [M]  drivers/staging/comedi/drivers.o
> drivers/staging/comedi/drivers.c: In function ‘comedi_buf_alloc’:
> drivers/staging/comedi/drivers.c:505:41: error: ‘PAGE_KERNEL_NOCACHE’ undeclared (first use in this function)
> drivers/staging/comedi/drivers.c:505:41: note: each undeclared identifier is rep orted only once for each function it appears in
> make[3]: *** [drivers/staging/comedi/drivers.o] Error 1
> 
> Restrict the driver to only those architectures that define PAGE_KERNEL_NOCACHE.
> 
> PAGE_KERNEL_NOCACHE is a kludge - some system architectures such as SGI IP27
> are even uable to offer uncached operation - at least in the way an unwitting
> driver might assume.  I haven't looked in details how the driver is using
> the area vmaped with PAGE_KERNEL_NOCACHE but maybe doing it XFS-style using
> cached memory and the flush_kernel_vmap_range / invalidate_kernel_vmap_range
> APIs in conjunction with the DMA API is a practical alternative.
> 
> Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
> 
>  drivers/staging/comedi/Kconfig |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
> index 1502d80..bccdc12 100644
> --- a/drivers/staging/comedi/Kconfig
> +++ b/drivers/staging/comedi/Kconfig
> @@ -2,6 +2,7 @@ config COMEDI
>  	tristate "Data acquisition support (comedi)"
>  	default N
>  	depends on m
> +	depends on BROKEN || FRV || M32R || MN10300 || SUPERH || TILE || X86

I'm sure I got comedi to compile on a 32-bit PPC board not that long ago. Has
something changed, or is this just not an exhaustive list?

>  	---help---
>  	  Enable support a wide range of data acquisition devices
>  	  for Linux.
> _______________________________________________
> devel mailing list
> devel at linuxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


-- 
Martyn Welch (Principal Software Engineer) | Registered in England and
GE Intelligent Platforms                   | Wales (3828642) at 100
T +44(0)127322748                          | Barbirolli Square, Manchester,
E martyn.welch at ge.com                      | M2 3AB  VAT:GB 927559189



More information about the devel mailing list