On Mon, Jan 11, 2016 at 5:00 AM, Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> wrote: > Hi Andrew, > > Andrew Morton wrote: >> On Wed, 11 Nov 2015 15:06:24 +0200 Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> wrote: >> >>> find_vm_area() is needed in implementing the DMA mapping API as a module. >>> Device specific IOMMUs with associated DMA mapping implementations should be >>> buildable as modules. >>> >>> ... >>> >>> --- a/mm/vmalloc.c >>> +++ b/mm/vmalloc.c >>> @@ -1416,6 +1416,7 @@ struct vm_struct *find_vm_area(const void *addr) >>> >>> return NULL; >>> } >>> +EXPORT_SYMBOL_GPL(find_vm_area); >> >> Confused. Who is setting CONFIG_HAS_DMA=m? >> > > Apologies for the late reply --- CONFIG_HAS_DMA isn't configured as a > module, but some devices are not DMA coherent even on x86. The existing > x86 DMA mapping implementation doesn't quite work for those at the > moment, and nothing prevents using another one (and as a module, in > which case this patch is required). Why not teach the DMA mapping api how to do cache management for such devices? Why would you need find_vm_area() exported? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>