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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D95CAC433EF for ; Tue, 24 May 2022 14:47:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5701D8D0003; Tue, 24 May 2022 10:47:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 51C098D0002; Tue, 24 May 2022 10:47:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4304F8D0003; Tue, 24 May 2022 10:47:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 36C2A8D0002 for ; Tue, 24 May 2022 10:47:38 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay12.hostedemail.com (Postfix) with ESMTP id 0337C1212BB for ; Tue, 24 May 2022 14:47:37 +0000 (UTC) X-FDA: 79500915396.03.E040C65 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.133]) by imf06.hostedemail.com (Postfix) with ESMTP id B4786180032 for ; Tue, 24 May 2022 14:47:33 +0000 (UTC) Received: from mail-yw1-f172.google.com ([209.85.128.172]) by mrelayeu.kundenserver.de (mreue011 [213.165.67.97]) with ESMTPSA (Nemesis) id 1N32y5-1nhSix3uXd-013LGb for ; Tue, 24 May 2022 16:47:35 +0200 Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-300312ba5e2so18184727b3.0 for ; Tue, 24 May 2022 07:47:34 -0700 (PDT) X-Gm-Message-State: AOAM533FHBJqAZW47GibxGI0EFCLxzF/lnCZCtxDsmpcNjb/aC86C5R3 iI0jsCOQmiTjSJOgzysnwTVgYLLP/k/xlJ+bjoQ= X-Google-Smtp-Source: ABdhPJztaIcIMWnqLP/suBLoexCji+3v0BT7iVjvVWSzoaliWtH4kcQa4bC92SqaCbiMIbBetuCzXWl9S2aiwfoPNdk= X-Received: by 2002:a81:ad7:0:b0:2e6:84de:3223 with SMTP id 206-20020a810ad7000000b002e684de3223mr29295789ywk.209.1653403653308; Tue, 24 May 2022 07:47:33 -0700 (PDT) MIME-Version: 1.0 References: <20220519082552.117736-1-wangkefeng.wang@huawei.com> <20220519082552.117736-5-wangkefeng.wang@huawei.com> <4c848b48-6ddf-664a-6296-d85ab49a694d@huawei.com> In-Reply-To: <4c848b48-6ddf-664a-6296-d85ab49a694d@huawei.com> From: Arnd Bergmann Date: Tue, 24 May 2022 16:47:16 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 4/6] mm: ioremap: Add arch_ioremap/iounmap() To: Kefeng Wang Cc: Arnd Bergmann , Catalin Marinas , Will Deacon , Andrew Morton , Linux ARM , Linux Kernel Mailing List , Linux-MM , Christoph Hellwig , Anshuman Khandual Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:Wrwn7G+Z79kEgxJN7udsZT8CF6bmvrwgVZng6IKWrmg2w+JKm1n O2XNMjfuQfbW7qilj8HsBQiw1ECNiEZ6FfAhYLyLa9c2yyH6lb6TQrX2kwyR2Ay+fdY9noB T7tgMF9QjMqsjupY55X7kyzYlkR2/7dopdE78Dj7QplOcVyO/EJ887W+TY/a1MiUBWgU/gb dhmDrxQL/YOvMfSToHpUw== X-UI-Out-Filterresults: notjunk:1;V03:K0:qta6BbyAKcQ=:dtmvOhsYFdBRTGgloS/V8P pMDQMQ+aDTBYyujyJkun487KovbgzhUWDdInBeWJCJVILvW6g45PT5KeS+92tHHkeibBD6JhE 6AbLeaNc6gDWf14pp5qpk/8VNP5PxkxHU9h0W3/owRBEFqkwsviCugBsy4hua19oyekaZ250p ZYC40N8CD6SLZHAki1WCoQ7TDp/b0TgPD8GENxaCUYFK+Aln6Nvg18CUnHsruex2sR2Kpzy0Y Hb6ACPPnsIErrRHpaEqukqVUX82CJlxrQ1nOHRKqinSocR8UolwVhfcTNtQL2NkTcq02Y39FV +k97N4Nvqqaf1ssVQr4uj7HKzhP+8qxv+g5xeKdLKmAuUHkBeJA/DvQ2qIFMmu+NzsOOb54Pu fZtllfI2rS8NSpgrYmfqMC9C+k6CxJsKbN3kgooOv1XfaAVWo4FpCrNdsPEnJ892nfR2SM6HJ i8FNEJWsNisZG+kUeuqsnETAxuYyVoy0C2Nkt/n79lXv+US4aiGH7Af205Do46lJNUmrh4C8r nN75ZAZ2v561h1eZI2442OLuGReF5nmrXNHvEm+yOJBYSdK0LLMmAXbuCuf7Nqu30E27RnCqR enG4iaE4xerKI9sVUu71HD2uC30t8ilETi5XgPUH3gNlv/5zXETrbqzhKrR12nR33ZU4Pf41z vripQUymlT2D9OLFNyR0AQlx7VQgvsrQV/TzayPAZT2wi1n+Xrcu5SrvR5RzWhwUQrx+Zi69/ zLGAvnL4O8Ajj9OHYiMFfzVnz0NCpuiDIm3WBe5okxV5znGtEJIUo/miHHQFaUIbcOQZVmY9f Ve4Qe5VyNQhCZKph6LK5Sxk1qDCmRi0+FRXG2dhKsnvxH/XJM9VLpAia6yZfUMJF6bjH136Sl nRCHl/e72eQPQr2sMukw== X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: B4786180032 X-Stat-Signature: s6mwnt45n8uicm67f1qwfkgfbzaokyrc X-Rspam-User: Authentication-Results: imf06.hostedemail.com; dkim=none; dmarc=none; spf=none (imf06.hostedemail.com: domain of arnd@arndb.de has no SPF policy when checking 212.227.126.133) smtp.mailfrom=arnd@arndb.de X-HE-Tag: 1653403653-408719 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, May 24, 2022 at 4:32 PM Kefeng Wang wrote: > On 2022/5/24 20:37, Arnd Bergmann wrote: > > On Thu, May 19, 2022 at 10:25 AM Kefeng Wang wrote: > >> Add special hook for architecture to verify or setup addr, size > >> or prot when ioremap() or iounmap(), which will make the generic > >> ioremap more useful. > >> > >> arch_ioremap() return a pointer, > >> - IS_ERR means return an error > >> - NULL means continue to remap > >> - a non-NULL, non-IS_ERR pointer is directly returned > >> arch_iounmap() return a int value, > >> - 0 means continue to vunmap > >> - error code means skip vunmap and return directly > >> > >> Signed-off-by: Kefeng Wang > > I don't really like interfaces that mix error pointers and NULL pointer > > returns. > > > > Would it be possible to have a special error code other than NULL > > for the fallback case? > > I don't find a good error code, maybe ENOTSUPP, any better suggestion? I had another look at the resulting arm64 function, and it appears that you never actually return a non-error pointer here. If I didn't miss anything, I think the best way would be to change the return type to just indicate success or an error code, and drop the case of returning the actual result, and changing the function name accordingly. Would that work, or do you actually require returning an __iomem token from somewhere else? Arnd