Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933621AbbBBVvv (ORCPT ); Mon, 2 Feb 2015 16:51:51 -0500 Received: from v094114.home.net.pl ([79.96.170.134]:60369 "HELO v094114.home.net.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S933531AbbBBVvq (ORCPT ); Mon, 2 Feb 2015 16:51:46 -0500 From: "Rafael J. Wysocki" To: Hanjun Guo Cc: Catalin Marinas , Olof Johansson , Arnd Bergmann , Mark Rutland , Grant Likely , Will Deacon , Lorenzo Pieralisi , Graeme Gregory , Sudeep Holla , Jon Masters , Jason Cooper , Marc Zyngier , Bjorn Helgaas , Daniel Lezcano , Mark Brown , Rob Herring , Robert Richter , Randy Dunlap , Charles.Garcia-Tobin@arm.com, phoenix.liyi@huawei.com, Timur Tabi , Ashwin Chaugule , suravee.suthikulpanit@amd.com, Mark Langsdorf , wangyijing@huawei.com, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linaro-acpi@lists.linaro.org, Mark Salter Subject: Re: [PATCH v8 02/21] acpi: fix acpi_os_ioremap for arm64 Date: Mon, 02 Feb 2015 23:14:39 +0100 Message-ID: <2422968.Es7R0p3loO@vostro.rjw.lan> User-Agent: KMail/4.11.5 (Linux/3.16.0-rc5+; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1422881149-8177-3-git-send-email-hanjun.guo@linaro.org> References: <1422881149-8177-1-git-send-email-hanjun.guo@linaro.org> <1422881149-8177-3-git-send-email-hanjun.guo@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1802 Lines: 55 On Monday, February 02, 2015 08:45:30 PM Hanjun Guo wrote: > From: Mark Salter > > The acpi_os_ioremap() function may be used to map normal RAM or IO > regions. The current implementation simply uses ioremap_cache(). This > will work for some architectures, but arm64 ioremap_cache() cannot be > used to map IO regions which don't support caching. So for arm64, use > ioremap() for non-RAM regions. > > CC: Rafael J Wysocki > Signed-off-by: Mark Salter > Signed-off-by: Hanjun Guo > --- > include/acpi/acpi_io.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/include/acpi/acpi_io.h b/include/acpi/acpi_io.h > index 444671e..9d573db 100644 > --- a/include/acpi/acpi_io.h > +++ b/include/acpi/acpi_io.h > @@ -1,11 +1,17 @@ > #ifndef _ACPI_IO_H_ > #define _ACPI_IO_H_ > > +#include > #include > > static inline void __iomem *acpi_os_ioremap(acpi_physical_address phys, > acpi_size size) > { > +#ifdef CONFIG_ARM64 > + if (!page_is_ram(phys >> PAGE_SHIFT)) > + return ioremap(phys, size); > +#endif I don't want to see #ifdef CONFIG_ARM64 in this file. There are multiple examples of how things like this are done. Generally, the logic is "If the architecture provides its own function for this, use that one, or use the generic one provided here otherwise." > + > return ioremap_cache(phys, size); > } > > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/