On Thu, 2018-06-28 at 20:24 -0400, Simon Que wrote: > The Gasket (Google ASIC Software, Kernel Extensions, and Tools) kernel > framework is a generic, flexible system that supports thin kernel > drivers. Gasket kernel drivers are expected to handle opening and > closing devices, mmap'ing BAR space as requested, a small selection of > ioctls, and handling page table translation (covered below). Any other > functions should be handled by userspace code.
As this is not likely to be added to v4.18, it likely would be better to target v4.19 and allow this to be compiled against -next. This currently does not compile correctly against next-20180628 --- $ make drivers/staging/gasket/ CALL scripts/checksyscalls.sh DESCEND objtool CC drivers/staging/gasket/gasket_core.o drivers/staging/gasket/gasket_core.c: In function ‘gasket_mm_unmap_region’: drivers/staging/gasket/gasket_core.c:1433:9: error: void value not ignored as it ought to be return zap_vma_ptes( ^~~~~~~~~~~~~ vma, vma->vm_start + virt_offset, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DIV_ROUND_UP(mappable_region.length_bytes, PAGE_SIZE) * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PAGE_SIZE); ~~~~~~~~~~ drivers/staging/gasket/gasket_core.c:1437:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ scripts/Makefile.build:317: recipe for target 'drivers/staging/gasket/gasket_core.o' failed make[1]: *** [drivers/staging/gasket/gasket_core.o] Error 1 Makefile:1691: recipe for target 'drivers/staging/gasket/' failed make: *** [drivers/staging/gasket/] Error 2