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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CC266C433EF for ; Tue, 24 May 2022 12:35:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237379AbiEXMfs (ORCPT ); Tue, 24 May 2022 08:35:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54926 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232680AbiEXMfr (ORCPT ); Tue, 24 May 2022 08:35:47 -0400 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 76A8313F20 for ; Tue, 24 May 2022 05:35:46 -0700 (PDT) Received: from mail-yb1-f178.google.com ([209.85.219.178]) by mrelayeu.kundenserver.de (mreue009 [213.165.67.97]) with ESMTPSA (Nemesis) id 1MuluN-1ncV6p2OlH-00rn6L for ; Tue, 24 May 2022 14:35:44 +0200 Received: by mail-yb1-f178.google.com with SMTP id s14so3268017ybc.10 for ; Tue, 24 May 2022 05:35:44 -0700 (PDT) X-Gm-Message-State: AOAM532HVzq86NpMQWhQDw99CLVyqkFtPi7jwl+vdkVwU5cN4GTQqkZe xUF8OCdr4bmrcJgLKD+Z8VlBTpQiEEpXAXikNXQ= X-Google-Smtp-Source: ABdhPJz9m9ORZ9D9BvYMed+3CBOfj9iqcDQAfnck/FOZ2NFPYY/aPURrCNWdk7JUo0ug0DMQDbzsidcl1E/w96/ZJ20= X-Received: by 2002:a25:5e09:0:b0:64d:8543:627d with SMTP id s9-20020a255e09000000b0064d8543627dmr26382655ybb.394.1653395743407; Tue, 24 May 2022 05:35:43 -0700 (PDT) MIME-Version: 1.0 References: <20220519082552.117736-5-wangkefeng.wang@huawei.com> <202205240657.BXxrhbgp-lkp@intel.com> In-Reply-To: From: Arnd Bergmann Date: Tue, 24 May 2022 14:35:27 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 4/6] mm: ioremap: Add arch_ioremap/iounmap() To: Kefeng Wang Cc: kernel test robot , Catalin Marinas , Will Deacon , Andrew Morton , Linux ARM , Linux Kernel Mailing List , kbuild-all@lists.01.org, Linux-MM , Christoph Hellwig , Arnd Bergmann , Anshuman Khandual Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:5WSYV9p9l8D8Rx2OhPaKKjoiyxoWYbDr7kObijWVWfVx0f/kEgc OvPAFrxJNEHQd5zD1eb24vVFP4Evb0BolBYhcRyH97ntusYgXXN0wbadQpX+v7lCKcIw7Df Uac1qCNaxTp8RJE307Bd78MRoL+i35QhNdHKZnG8hn1IOhac0+6k0u3bazOX6tu+8JeV9B8 FURo0BWoTIiE6Q++avB2g== X-UI-Out-Filterresults: notjunk:1;V03:K0:7toOWGWTT8g=:dhIHCU18s1llDyTH3YN98d LVaSopTcRG39ykXFM8QJMAuowcIdw7rEViID7ePG9PxncVBMaQrqD5aDxw6rXoT54sy6NzlHK tLbnfM0h4A90S8VZkUpVu+o3alvA4lyzF2I1u9+4mPT9J3UMg2NiqrXcgZA7H246aTPoNPhfm wPLSzTrLknpOOT9/FgR68L+bhcRdTuY26etUOJb1K3MjdzcsV+HNy3Xfxw0WDfnBRhq80nUzx 8wwLdQHPUDBfjB1ovzdMGbuDpZjzk/q2b4/lZmIcg/OomeEXki4HK7ZFMm1vmDiEV8SEH6Joe QiflF+sB3aMhLSYJ2AmoxA6v341uHtjGIhyrzbz7QJKnZ7QBrrEbg/gzc7nTnxlTxGG+KfiM+ b+z8IcijFLXyHLcNADiDzuiKmhK67cRJUS0O1tVDu9xJSC4wnVobXKsgAZCmOQyLsAbMqzFdf KsHl48O9SrCSyojVkIkKIrHNBrOGT/MBSUjMtAfxU3X+2gtz12mbVeRRoXrsKqunXyHPDtiLj AklTOjBn6QDh2lUBUtROoYyMyw3ebSLHS3+hs7HTQnYL5+Ymwcs5kvjVCjL+0oy4lgDs+0I2X 3jEkgF8iFokz8xH74ZcD3d/+91UOksWc/TwCn293UWn3VnQUldX9HTRSc0xpeTvVQn2v8coQv bA7/4Xd7pYbCm06+HKc8V0dehjwEBqO7qKKNkxtDdq0/eCs+IvX6ASHdfDoLDNAvFKYAqvpaD AcZI+29EvICo8+EmvUildjmQLVWCAoY07dsDKaaRDWKQvuGlo5D3g3xmOpopIi01RUPXiuTbV Xg4YusigGdOtHSo2dOswIWXCAACrSAaKWRdxeREUdHD9rMSWsP2W7cgQsP+0b4ljswJuFqTlI fxilcmMoY7ThJXv1vr0dOTBmvTZVeOrqiNfiWbNFY= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 24, 2022 at 11:48 AM Kefeng Wang wrote: > >>> mm/ioremap.c:59:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got void [noderef] __iomem *vaddr @@ > > mm/ioremap.c:59:16: sparse: expected void const *addr > > mm/ioremap.c:59:16: sparse: got void [noderef] __iomem *vaddr > > > > vim +59 mm/ioremap.c > > > > 51 > > 52 void iounmap(volatile void __iomem *addr) > > 53 { > > 54 void __iomem *vaddr = (void __iomem *)((unsigned long)addr & PAGE_MASK); > > 55 > > 56 if (arch_iounmap(vaddr)) > > 57 return; > > 58 > > > 59 vunmap(vaddr); > > 1) Will add generic "arch_ioremap/arch_iounmap define" > > 2) and change this to vunmap((void *)vaddr); I think this need an extra __force to actually suppress the sparse warning, as in vunmap((void __force *)vaddr); Using __force is usually wrong, this is one of the exceptions, so maybe add a comment as well. Arnd 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 0F12DC433F5 for ; Tue, 24 May 2022 12:37:14 +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=71b7wdRmKkiJCrtWSWKVIqhq78Wom+lGSw2N2l9EdAE=; b=CjTFmrvbSW0hIy DsKzMjGizY9csSFdC7d+Ge70GM1JcA7oiiIpDSPhNSE/vlzv1OA1aKMcFUoQTw0+WCPJ+ksSIljcp Xx2o/0k3aQkOvFbtsx0+arMiDloJIDrrrmIDr0OVWWpaLGuz9gKXw6iz4KMe7LJPPE/iw5x+c95zj BvP7hazgwrYZg+GT67nq6UI+5+jy8joDmgvi0bP1tgWLog+0XGjmriDlw5zIFm5CIhAB3UjOaSEEz RyQ9W9k1ZIj7aUhlplYC2hq7bk7ijaqHxXzU62pmoz3ao0CCGguniREnq7U6NRXnwTJcX8dX0a+R6 z3LA0Hn6cil4d97r1brQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ntTlV-007zbU-47; Tue, 24 May 2022 12:35:57 +0000 Received: from mout.kundenserver.de ([212.227.126.133]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ntTlR-007zZO-Tc for linux-arm-kernel@lists.infradead.org; Tue, 24 May 2022 12:35:55 +0000 Received: from mail-yb1-f180.google.com ([209.85.219.180]) by mrelayeu.kundenserver.de (mreue010 [213.165.67.97]) with ESMTPSA (Nemesis) id 1MScHp-1oHvSb30AL-00T06i for ; Tue, 24 May 2022 14:35:44 +0200 Received: by mail-yb1-f180.google.com with SMTP id y141so3168684ybe.13 for ; Tue, 24 May 2022 05:35:44 -0700 (PDT) X-Gm-Message-State: AOAM5301GtsOdhyk7bBzdq6aH0yrSii8H2lS8yuOjGdsBVic+CKSULIC jkzxWqkXvO3BMV3/mgYWhnUgnXvQsu4rhy2nhnk= X-Google-Smtp-Source: ABdhPJz9m9ORZ9D9BvYMed+3CBOfj9iqcDQAfnck/FOZ2NFPYY/aPURrCNWdk7JUo0ug0DMQDbzsidcl1E/w96/ZJ20= X-Received: by 2002:a25:5e09:0:b0:64d:8543:627d with SMTP id s9-20020a255e09000000b0064d8543627dmr26382655ybb.394.1653395743407; Tue, 24 May 2022 05:35:43 -0700 (PDT) MIME-Version: 1.0 References: <20220519082552.117736-5-wangkefeng.wang@huawei.com> <202205240657.BXxrhbgp-lkp@intel.com> In-Reply-To: From: Arnd Bergmann Date: Tue, 24 May 2022 14:35:27 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 4/6] mm: ioremap: Add arch_ioremap/iounmap() To: Kefeng Wang Cc: kernel test robot , Catalin Marinas , Will Deacon , Andrew Morton , Linux ARM , Linux Kernel Mailing List , kbuild-all@lists.01.org, Linux-MM , Christoph Hellwig , Arnd Bergmann , Anshuman Khandual X-Provags-ID: V03:K1:ikgMbEQJqAxMa23LjvqE3YTjV8ZWGn2lOcJ0ubJnxPK/avzSXGp mTyJkijpgmCb6hUwZCii+4/gmWSXI+4lnL+gwvEVx8Yy888WyXVJJz7ygkAj4iIGkNzC/Ls P7vgQ1/owwsxiPtnngCqjf7kwhWT5EvwbMdfiB/W5KtDTA2rpVeuZUAV3tnJIVFPfFt5kmx y6Qj+FOGKSUJVOLVBpZgw== X-UI-Out-Filterresults: notjunk:1;V03:K0:uqh+RrRCu0s=:A5SXXlxTXpBSMXusUiylhT GQ/xWwNuSvlToO793AuSfWNZlYaVGuKI+66BPGZueYiuoTWyHS70yA+8h6U7uqGyoH6zELQT0 diLCzbWYXMbjQ19kCe0nSZnNPGhDCKepcdseVWF2hSFcqY1lR8n9Kq2olwFzWTP1yyX3bnlH9 L/9XhyFkx3Dzz813hhp5I+cHZFZ6buvtgMsQDADNEOpuknKCDoCRG02FUGvGwX2K7rgF1nutf wFiXcjxrBvBMlXm31oy8xc1bWvFgy1tCLEn8laHv7PYaJuib7D4WZdwoq5Pros2bui1CSJ7gL KpLeYuLQdVVNRwxZMJJanq8jiiQ+XStvrl41FUCslzYr5J6jm/Z3lRH0rdEUW53RtZAzctZE7 m7WjMVwhG6Sf9ORUqhpGEhV6c4Zl093Eqol1tUhWDhcRUUXD5D3GJWAmZOxTILOLBRLGkhptB urJFnnofPVMFf+hzR5sxMyxDQrvH47edXO/rpLQJTPuwikVP4T6uP/zeLdEZs5vpn1ceV2w3T XXP2/Dij6bN4FaMqGgYXpKzvF+RIAouPDIeai36U9A6Sp+kBBIxoBQURhIeBP7y+kR8MqaZ1a wAsGIFXbtlgoLgzPSjXdHBcHraNFiLWNCvnLXeaTINjvg8yhu23ztsIlsWkXKJu8lLultv5Wy +tpDorYNHg1ZBfjQSyOM3JGnt8oHeQKnGLwsoCTrNxNDBJGmycNM2mjKCU0SmXZNBBFO51AuH F4nLZodzdcIPHg1nK0itO5vRcq2xt781k6+IXYe+q9x/x/5GceqCQq5iSsm46iD0qWZG3CopA pZaPmdSHlxwG4Mfror3j8otinKF94qkpQSA0Kh/Ri2/Qiz8Z2d0lNeNmc8dzOF+sTnGhbvmQr 4N1LSOjhSQ8XfTpjFR6Q== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220524_053554_289374_EE2EA847 X-CRM114-Status: GOOD ( 12.85 ) 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 Tue, May 24, 2022 at 11:48 AM Kefeng Wang wrote: > >>> mm/ioremap.c:59:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got void [noderef] __iomem *vaddr @@ > > mm/ioremap.c:59:16: sparse: expected void const *addr > > mm/ioremap.c:59:16: sparse: got void [noderef] __iomem *vaddr > > > > vim +59 mm/ioremap.c > > > > 51 > > 52 void iounmap(volatile void __iomem *addr) > > 53 { > > 54 void __iomem *vaddr = (void __iomem *)((unsigned long)addr & PAGE_MASK); > > 55 > > 56 if (arch_iounmap(vaddr)) > > 57 return; > > 58 > > > 59 vunmap(vaddr); > > 1) Will add generic "arch_ioremap/arch_iounmap define" > > 2) and change this to vunmap((void *)vaddr); I think this need an extra __force to actually suppress the sparse warning, as in vunmap((void __force *)vaddr); Using __force is usually wrong, this is one of the exceptions, so maybe add a comment as well. Arnd _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============8690225167694775635==" MIME-Version: 1.0 From: Arnd Bergmann To: kbuild-all@lists.01.org Subject: Re: [PATCH v3 4/6] mm: ioremap: Add arch_ioremap/iounmap() Date: Tue, 24 May 2022 14:35:27 +0200 Message-ID: In-Reply-To: List-Id: --===============8690225167694775635== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Tue, May 24, 2022 at 11:48 AM Kefeng Wang = wrote: > >>> mm/ioremap.c:59:16: sparse: sparse: incorrect type in argument 1 (dif= ferent address spaces) @@ expected void const *addr @@ got void [no= deref] __iomem *vaddr @@ > > mm/ioremap.c:59:16: sparse: expected void const *addr > > mm/ioremap.c:59:16: sparse: got void [noderef] __iomem *vaddr > > > > vim +59 mm/ioremap.c > > > > 51 > > 52 void iounmap(volatile void __iomem *addr) > > 53 { > > 54 void __iomem *vaddr =3D (void __iomem *)((unsigne= d long)addr & PAGE_MASK); > > 55 > > 56 if (arch_iounmap(vaddr)) > > 57 return; > > 58 > > > 59 vunmap(vaddr); > > 1) Will add generic "arch_ioremap/arch_iounmap define" > > 2) and change this to vunmap((void *)vaddr); I think this need an extra __force to actually suppress the sparse warning, as in vunmap((void __force *)vaddr); Using __force is usually wrong, this is one of the exceptions, so maybe add a comment as well. Arnd --===============8690225167694775635==--