From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8091CC433EF for ; Wed, 27 Apr 2022 18:23:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=kf/EnhWxOKcfbNnByDP0t8T1SfCcC9iRss3D8a+6jGo=; b=mtwPbo84kwp1tr iO1neNkCSzpr6QrXoyRPlBxcKmaAc2YkFMN3uQokNjmG1injzOn1qvF5kMKX1KDWC95biMaUGsedZ ThYF+wHNCv1PRFe8B0WfeXIir61pyfvk0UjTz3q0rcGjcOJxA51QZvm3i0LKL0KeXlEt2c1W+Kefv ctSJOdbNSRtSvJ1DAfrgCtycbVuVyoWuZM13ZDu49T0obGp+47IIA3MpfF155Vr3dktS99LgMNFcN RPZlrZDheNI/D/zIbbz7f32SD++3MCJzojGaoR5G+f6j17ORWSIdex32czRgWA2lpDDqNM1Qi+q23 BL1Jwz45x7gFpkJYKDrQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1njmJ9-002yIf-Uj; Wed, 27 Apr 2022 18:22:36 +0000 Received: from mout.kundenserver.de ([212.227.126.135]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1njmHT-002xVy-6F for linux-arm-kernel@lists.infradead.org; Wed, 27 Apr 2022 18:20:53 +0000 Received: from mail-yw1-f180.google.com ([209.85.128.180]) by mrelayeu.kundenserver.de (mreue012 [213.165.67.97]) with ESMTPSA (Nemesis) id 1N6JtR-1nuTWY3MiH-016fEs for ; Wed, 27 Apr 2022 20:20:48 +0200 Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-2f7d19cac0bso28173767b3.13 for ; Wed, 27 Apr 2022 11:20:47 -0700 (PDT) X-Gm-Message-State: AOAM530W16Wj6QoCixzrL5A9DmfgLWPSDVwfBpOmTZe602/J/KdK5iZ9 Tc+qmOHPrdRcLkiUZIpDLGrmm4b/ckxOP+B68K4= X-Google-Smtp-Source: ABdhPJwvEoSUguhdRwTP+lohWXQtYJ9DDg1Zn7qIjSsaEiGfg1kkd2iKF2q7oFkNsz/JpP2X/5Hv5gVbR3gnWZxOUM4= X-Received: by 2002:a81:2305:0:b0:2f7:dadb:2162 with SMTP id j5-20020a812305000000b002f7dadb2162mr17396473ywj.42.1651083646618; Wed, 27 Apr 2022 11:20:46 -0700 (PDT) MIME-Version: 1.0 References: <20220427121413.168468-1-wangkefeng.wang@huawei.com> <20220427121413.168468-3-wangkefeng.wang@huawei.com> In-Reply-To: <20220427121413.168468-3-wangkefeng.wang@huawei.com> From: Arnd Bergmann Date: Wed, 27 Apr 2022 20:20:30 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 2/4] mm: ioremap: Add arch_ioremap/iounmap_check() To: Kefeng Wang Cc: Catalin Marinas , Will Deacon , Andrew Morton , Linux ARM , Linux Kernel Mailing List , Linux-MM X-Provags-ID: V03:K1:9pxXB5ktY4TN+CQTCHFL+y20veIrwKhqtslmPJzafKvg7zQ+oEK /bgvaiwCIMPBlsE0EJlCn9+kz0RCIPYeqR8/uZX2OvBj/V1UUKz+GVfUrtbWGaEswrCqBsK CMqNeX8W0XOqcDc1t6NHYmEcjlxik4ScPpgBtmDfjxLVCkhcmUU/2POoTSncRktK8ow/Yy+ IJd3cf0zO9BwGBKOpsy2w== X-UI-Out-Filterresults: notjunk:1;V03:K0:NfQsms49Otc=:Owu62aseqydeBGVHfRfB9w d+vUUJoHDdcE9H30Xjk1qyiC8ehVAmg8FdzWnW74NNzQmxEsn7HIKLOZ74x1u2tbY5P5epjYG eDEH5JyCwsfeqlB34mjl6w7IHT4yVYK+UVE7a12WtbhA8bIyf50p38GEjGkCFCB0RNXkKu9dn OPaVHVtEknmUPS59kfQoCHdrFxhYUkUHy7oKtsLBDuRAJlEmyx0qrwbS7XzwVqymx4o/Nw8TP DO/iMkTrgrYtxums+hXhfoZfFLd5s+IwyQSQEIpWI2tWwIL0ha1CftT1m4u2T4u/emRsVQQGj XPpa5CtKHvZCu6CZCHgqMTB64OLySg680EPXaqIP/9Zaj1MWTGGPkirCdm9+YGCRvuIv5b+w/ 1dnry19tz5JqOJc4OdYKJZ0uWmITQGZm1k2cWNqayrbEkEtq9K2kDv0ZCB8NrnVHqW6dhPMYm m0Lt/Jfegx4COG7a5VvEVpcs079/SXJYVbLtZ02xdDB/4+4K8w+MNFt+xRmN3k8r7BwFWCfc+ 2qhZAe4DKjCsM06u7gBIFoMvfrJk05HVsfKxZA0MGGgaXdXk9HKHMcucJSXqVf76K6I8dkG2u zPIR59nWFaDQ06vY//VkLmSdDSkTpeP4C/KRFu/LEFIiBzE/Q2MmlckY/ks2rDLjhY9VyuZGO Ky+iiTs5lQFuTeXEd/V7AKPCTPMemg40RCFgwkUGQflPOK0KzJ8rZnjr31cZ23gJkkx0zFkkJ VS5b9fiq9JiOcBPOO7HHzAuZ+5FB0Sn9X22mybU4Jia+JlYKT6qyFD9WY4A4ovDC5BVpHV1It SwT76+JEhuFFayY/tf1iEd6Q8WS+3cf4n0Jy/nfiahAhGHtbOk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220427_112051_582114_6D7B78D1 X-CRM114-Status: GOOD ( 16.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, Apr 27, 2022 at 2:14 PM Kefeng Wang wrote: > @@ -964,6 +964,9 @@ static inline void iounmap(volatile void __iomem *addr) > #elif defined(CONFIG_GENERIC_IOREMAP) > #include > > +bool arch_ioremap_check(phys_addr_t addr, size_t size, unsigned long prot); > +bool arch_iounmap_check(void __iomem *addr); > + > void __iomem *ioremap_prot(phys_addr_t addr, size_t size, unsigned long prot); > void iounmap(volatile void __iomem *addr); > > diff --git a/mm/ioremap.c b/mm/ioremap.c > index 522ef899c35f..d1117005dcc7 100644 > --- a/mm/ioremap.c > +++ b/mm/ioremap.c > @@ -11,6 +11,16 @@ > #include > #include > > +bool __weak arch_ioremap_check(phys_addr_t addr, size_t size, unsigned long prot) > +{ > + return true; > +} > + > +bool __weak arch_iounmap_check(void __iomem *addr) > +{ > + return true; > +} > + I don't really like the weak functions. The normal way to do this in asm-generic headers is to have something like #ifndef arch_ioremap_check static inline bool arch_ioremap_check(phys_addr_t addr, size_t size, unsigned long prot) { return true; } #endif and then in architectures that actually do some checking, have these bits in asm/io.h bool arch_ioremap_check(phys_addr_t addr, size_t size, unsigned long prot); #define arch_ioremap_check arch_ioremap_check (or alternatively an extern declaration, if the implementation is nontrivial) It may be worth pointing out that either way requires including asm-generic/io.h, which most architectures don't. This is probably fine, as only csky, riscv and now arm64 use CONFIG_GENERIC_IOREMAP, and we can probably require that any further architectures using this symbol also have to use asm-generic/io.h. Arnd _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel