On Wednesday, September 7, 2016 3:37:05 PM CEST Guenter Roeck wrote: > On Wed, Sep 07, 2016 at 11:41:44PM +0200, Arnd Bergmann wrote: > > On Thursday, July 21, 2016 1:55:56 PM CEST Hoan Tran wrote: > > > + ctx->comm_base_addr = cppc_ss->base_address; > > > + if (ctx->comm_base_addr) { > > > + ctx->pcc_comm_addr = > > > + acpi_os_ioremap(ctx->comm_base_addr, > > > + cppc_ss->length); > > > > > > > This causes the arm64 allmodconfig build to fail now, according to > > kernelci: > > > > 1 ERROR: "memblock_is_memory" [drivers/hwmon/xgene-hwmon.ko] undefined! > > > > Should this perhaps call ioremap() or memremap() instead? > > > Hmmm ... almost sounds to me like blaming the messenger. e7cd190385d1 ("arm64: > mark reserved memblock regions explicitly in iomem") starts using a function > in acpi_os_ioremap() which is not exported. On top of that, memblock_is_memory() > is declared as __init_memblock, which makes me really uncomfortable. > If acpi_os_ioremap() must not be used by modules, and possibly only during > early (?) initialization, maybe its declaration should state those limitations ? Ah, I didn't notice that. I guess both patches were correct individually and got added to linux-next around the same time but caused allmodconfig to blow up when used together. Adding everyone who was involved in the memblock patch to Cc here, maybe one of them has an idea what the correct fix is. There are only two other drivers using acpi_os_ioremap() and one of them is x86-specific, so it's still likely that drivers are not actually supposed to use this symbol. Making acpi_os_ioremap() an exported function in arm64 would also work. Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html