On Wed, Apr 8, 2020 at 9:11 PM Linus Torvalds
<torvalds(a)linux-foundation.org> wrote:
On Tue, Apr 7, 2020 at 1:12 PM Dan Williams <dan.j.williams(a)intel.com> wrote:
>
> mm/memremap_pages: Introduce memremap_compat_align()
Why is this an exported function that just returns a constant?
Why isn't it just a #define (or inline) in a header file?
Yes, yes, it would need to be conditional on not having that
CONFIG_ARCH_HAS_MEMREMAP_COMPAT_ALIGN, but it does look strange.
I've pulled it, since it doesn't matter that much, but I find it silly
to have full-fledged functions - and exported them GPL-only - to
return a constant. Crazy.
Yes. tl;dr I gave up after failing to unwind a header dependency chain [1].
The source of the trouble was trying to find an existing top-level
header file that included an asm local version, but also needed to
include mmzone.h for the definition of SUBSECTION_SIZE.
include/linux/io.h fit that requirement, pulling in mmzone.h there
proved more difficult than my header unwinding skills could
accomplish.
[1]:
https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git/commit/?i...