Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753576AbbBCJI6 (ORCPT ); Tue, 3 Feb 2015 04:08:58 -0500 Received: from mail-pa0-f43.google.com ([209.85.220.43]:59788 "EHLO mail-pa0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751587AbbBCJIx (ORCPT ); Tue, 3 Feb 2015 04:08:53 -0500 Message-ID: <54D0901A.2080406@linaro.org> Date: Tue, 03 Feb 2015 17:08:42 +0800 From: Hanjun Guo User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: "Rafael J. Wysocki" 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 References: <1422881149-8177-1-git-send-email-hanjun.guo@linaro.org> <1422881149-8177-3-git-send-email-hanjun.guo@linaro.org> <2422968.Es7R0p3loO@vostro.rjw.lan> In-Reply-To: <2422968.Es7R0p3loO@vostro.rjw.lan> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1808 Lines: 51 On 2015年02月03日 06:14, Rafael J. Wysocki wrote: > 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." OK. I think weak function would work. Thanks Hanjun -- 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/