From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ozlabs.org (ozlabs.org [203.10.76.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mx.ozlabs.org", Issuer "CA Cert Signing Authority" (verified OK)) by bilbo.ozlabs.org (Postfix) with ESMTPS id 21FBBB709C for ; Sat, 6 Jun 2009 09:32:57 +1000 (EST) Subject: Re: [BUILD FAILURE 01/04] Next June 04:PPC64 randconfig [drivers/staging/comedi/drivers.o] From: Benjamin Herrenschmidt To: Subrata Modak In-Reply-To: <20090605182625.24093.7808.sendpatchset@elm3a191.beaverton.ibm.com> References: <20090605182625.24093.7808.sendpatchset@elm3a191.beaverton.ibm.com> Content-Type: text/plain; charset="UTF-8" Date: Sat, 06 Jun 2009 09:32:29 +1000 Message-Id: <1244244749.31984.16.camel@pasglop> Mime-Version: 1.0 Cc: Sachin P Sant , Stephen Rothwell , Greg KH , Linux-Kernel , Linuxppc-dev , Linux-Next , Paul Mackerras , Geert Uytterhoeven , Geert Uytterhoeven List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , > I tried this. But, with some catch. ‘PAGE_KERNEL_NOCACHE’ seems to be the > choice for majority of architectures like frv, m32r, sh, x86, etc, as Geert > mentions below. However, i believe POWERPC defines it as ‘PAGE_KERNEL_NC‘ > found at arch/powerpc/include/asm/pte-common.h. > > Paul/Banjamin, > Can you please confirm this ? Read my reply to Greg. Why the heck are you trying to map memory non-cacheable in the first place ? Cheers Ben. > The below patch fixes the build error. > > Signed-off-by: Subrata Modak > --- > > --- linux-2.6.30-rc8/drivers/staging/comedi/drivers.c.orig 2009-06-05 12:46:35.000000000 -0500 > +++ linux-2.6.30-rc8/drivers/staging/comedi/drivers.c 2009-06-05 13:03:31.000000000 -0500 > @@ -43,9 +43,13 @@ > #include > #include > #include > - > #include > #include > +#ifdef __powerpc64__ > +#include > +#else > +#include > +#endif > > static int postconfig(struct comedi_device *dev); > static int insn_rw_emulate_bits(struct comedi_device *dev, struct comedi_subdevice *s, > @@ -492,8 +496,13 @@ int comedi_buf_alloc(struct comedi_devic > } > if (i == n_pages) { > async->prealloc_buf = > +#ifdef __powerpc64__ > + vmap(pages, n_pages, VM_MAP, > + PAGE_KERNEL_NC); > +#else > vmap(pages, n_pages, VM_MAP, > PAGE_KERNEL_NOCACHE); > +#endif > } > if (pages) { > vfree(pages); > > --- > Regards-- > Subrata > > > PAGE_KERNEL_NOCACHE is defined on a few architectures only, namely > > frv, m32r, mn10300, sh, and x86[*]. On all others, it will fail. > > > > [*] Interestingly, sparc refers to it in one of its include files, > > without providing a > > definition, Probably that code is unused. > > > > Gr{oetje,eeting}s, > > > > Geert > > > > -- > > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > >