Re: [PATCH v5] drivers/staging: Gasket driver framework + Apex driver

From: Joe Perches
Date: Thu Jun 28 2018 - 22:31:51 EST


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