Mark Brown <broonie@xxxxxxxxxx> writes: > On Thu, Jul 07, 2016 at 07:43:25PM +0200, Robert Jarzmik wrote: > >> I'll try, but I don't trust much my chances of success, given that this tester : >> - should compile and link in $(TOP)/lib/scatterlist.c, as this is where >> sg_split() is defined >> - this implies all its includes >> - this implies at least these ones : >> bug.h >> mm.h >> scatterlist.h >> string.h >> types.h >> - this implies having page_to_phys and co. defined somewhere without >> draining the whole include/linux and include/asm* trees > >> For the tester, I had created an apart include/linux tree where all the includes >> were _manually_ filled in with minimal content. > >> I don't know if an existing selftest had already this kind of problem, >> ie. having to compile and link a kernel .c file, and that makes me feel this >> might be difficult to keep a nice standalone tester. > > Right, that's messy :( Could it be refactored as a boot/module load > time test so it could be built in the kernel environment? Less > convenient to use (though KVM/UML help) but easier to build. Actually I thought a bit about it and I got a "messy" idea. In order to keep things in userspace (for tests it really is more convenient), I'm going to try this approach : - make tools/testing/selftests/lib/sg_split.c, based on the tester - make the Makefile generate a scatterlist_generated.c out of lib/scatterlist.c, where all the includes will be 'grepped; out and replaced by a single "#include sg_split.h" containing all the necessary defines - create the sg_split.h as a concatenation of all the .h files I had to use for the tester (I will reuse existing .h if it is applicable) We'll see if that's feasible or not. As long as the "mess" is contained within sg_split.h, and if it doesn't become a too ugly beast, it might work. Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html