From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: From: Arnd Bergmann To: Guenter Roeck Cc: Hoan Tran , Jean Delvare , Jonathan Corbet , Rob Herring , Jassi Brar , Ashwin Chaugule , Duc Dang , lho@apm.com, linux-hwmon@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Catalin Marinas , James Morse , AKASHI Takahiro , Will Deacon Subject: Re: [PATCH v3 2/3] hwmon: xgene: Add hwmon driver Date: Thu, 08 Sep 2016 10:14:42 +0200 Message-ID: <2992356.ULGoZEEDZp@wuerfel> In-Reply-To: <20160907223705.GA31582@roeck-us.net> References: <1469134557-26869-1-git-send-email-hotran@apm.com> <13081573.BbD3TmEU5Y@wuerfel> <20160907223705.GA31582@roeck-us.net> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" List-ID: 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: Re: [PATCH v3 2/3] hwmon: xgene: Add hwmon driver Date: Thu, 08 Sep 2016 10:14:42 +0200 Message-ID: <2992356.ULGoZEEDZp@wuerfel> References: <1469134557-26869-1-git-send-email-hotran@apm.com> <13081573.BbD3TmEU5Y@wuerfel> <20160907223705.GA31582@roeck-us.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Return-path: In-Reply-To: <20160907223705.GA31582-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Guenter Roeck Cc: Hoan Tran , Jean Delvare , Jonathan Corbet , Rob Herring , Jassi Brar , Ashwin Chaugule , Duc Dang , lho-qTEPVZfXA3Y@public.gmane.org, linux-hwmon-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Catalin Marinas , James Morse , AKASHI Takahiro , Will Deacon List-Id: devicetree@vger.kernel.org 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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 From: arnd@arndb.de (Arnd Bergmann) Date: Thu, 08 Sep 2016 10:14:42 +0200 Subject: [PATCH v3 2/3] hwmon: xgene: Add hwmon driver In-Reply-To: <20160907223705.GA31582@roeck-us.net> References: <1469134557-26869-1-git-send-email-hotran@apm.com> <13081573.BbD3TmEU5Y@wuerfel> <20160907223705.GA31582@roeck-us.net> Message-ID: <2992356.ULGoZEEDZp@wuerfel> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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