{"id":2221909,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2221909/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ext4/patch/20260410120319.197793115@kernel.org/","project":{"id":8,"url":"http://patchwork.ozlabs.org/api/1.2/projects/8/?format=json","name":"Linux ext4 filesystem development","link_name":"linux-ext4","list_id":"linux-ext4.vger.kernel.org","list_email":"linux-ext4@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260410120319.197793115@kernel.org>","list_archive_url":null,"date":"2026-04-10T12:20:26","name":"[24/38] ARM: Select ARCH_HAS_RANDOM_ENTROPY","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"64f91334fb736f10262e0502ff3000000371c68a","submitter":{"id":92397,"url":"http://patchwork.ozlabs.org/api/1.2/people/92397/?format=json","name":"Thomas Gleixner","email":"tglx@kernel.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-ext4/patch/20260410120319.197793115@kernel.org/mbox/","series":[{"id":499451,"url":"http://patchwork.ozlabs.org/api/1.2/series/499451/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ext4/list/?series=499451","date":"2026-04-10T12:18:27","name":"treewide: Cleanup LATCH, CLOCK_TICK_RATE and get_cycles() [ab]use","version":1,"mbox":"http://patchwork.ozlabs.org/series/499451/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2221909/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2221909/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <SRS0=dNY+=CJ=vger.kernel.org=linux-ext4+bounces-15759-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=UacNbv5z;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=dny+=cj=vger.kernel.org=linux-ext4+bounces-15759-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=\"2600:3c15:e001:75::12fc:5321\"\n arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org","gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=UacNbv5z;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15759-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"UacNbv5z\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsc874NX2z1yGS\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 22:49:43 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4fsc873xYzz4wLW\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 22:49:43 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4fsc873s2Tz4wLx; Fri, 10 Apr 2026 22:49:43 +1000 (AEST)","from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4fsc841PtKz4wLW\n\tfor <patchwork-incoming@ozlabs.org>; Fri, 10 Apr 2026 22:49:40 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id AD01730C111E\n\tfor <patchwork-incoming@ozlabs.org>; Fri, 10 Apr 2026 12:26:27 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 26FA73DC4BA;\n\tFri, 10 Apr 2026 12:20:30 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id D217D3CD8B5;\n\tFri, 10 Apr 2026 12:20:29 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id B8258C2BCAF;\n\tFri, 10 Apr 2026 12:20:28 +0000 (UTC)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1775825383; cv=pass;\n\tb=GDlq2xG5r67OS2/vSSeMVgh7rNamKJkYP2jgY9kj0tRNBVCKXDdtZ5/JUwCp5ptYDkrZHUwrfLbcJgNJfhREFDBtYOerfowCAkJ/rwVnF3uX69qJLoA1RK1OzrU64gBWY0v+vj2a1hwgFomaPlIC6wjyjAhGF3EaVWrLC1l8cmV6cR6BD5mwuNtw8YIqiCFto+yFng+pDlqeJU3yQ7OJ95GrPR8nA2rAgmH4LlgPZOfXHLft8OT23HtW0V5dTWcyveCsTjvXOswQxPGqWIYS+TIFrlxGsO8vIKGWcwZfU3jDZly2FYafRCrG25RgsK09Z1mU/HL4vqq2P/NLIEVFrw==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775823629; cv=none;\n b=fgvGLK9QvpNS98Bhjjb9i0aTw8UZr7f90SuvH9ZMi+Vk2hZlWBZiIJYLNylxpXVVqmmFZ6iqQ75K/6ejzKFn/ynDla28rTlQg52xPyxf6N9cS5FrCSdLc25KENkK2rL+xmBwgMlVN6HkwB9I1mSPXGzjcU8lCaazIqyPZ6Qdngw="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1775825383; c=relaxed/relaxed;\n\tbh=CLIogZKtxkoQJBct1ivrzjEJ9GwuhZlm0ijU/m5U3Ys=;\n\th=Date:Message-ID:From:To:Cc:Subject:References:MIME-Version:\n\t Content-Type;\n b=xqYXYnzdAh1yNtxyofOobbYuzsVkHGPRmpI/Txwg/mCujoiEm3Qpw1viGZ4LuAyL77z8NyL2u1cKGVaspNShpcRwK0ojPkAFuw8OoPDUCtXWIhUOrWYJAo4zNVFL4ek1Wf6SwPws0O6lzyoGbeCdibVWHipyTxAewOnTbL4SZ2s9Uhpu5YV8DaQE4h+6npYRSrVrXYWx0J7A6d+VsmmaNt8tB11AB0LOVO8JZp+na7nYlM1Hj/fRjbSJtsOkxdYo1afdMOIDnoCjBz7RYWbzbs74mqSyOOiYMrt1X0JKJU5FD7nsJ9Unl90hdoTbFN1Rs3G+j3DW4hFV/x/MybibmQ==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775823629; c=relaxed/simple;\n\tbh=Xj914OB0ywB5KtjAdUFbVTIri4m7J0/9GAWloccpVyg=;\n\th=Date:Message-ID:From:To:Cc:Subject:References:MIME-Version:\n\t Content-Type;\n b=H2GCUz2KT+SoxPKaVXy8PbUO11xism9fwtAnwZeYciKxJ5yDNWqp6Qxcv/fyBHruroV1S/2dMo2plV68PJE/P63fyNuFdIoio0Qgz9Pq6Ia1Om55rtGtGzGUSGICMv+tHDOI9YgF6PacuUwIr/FYBcHzzfYuQnycW4XMI3F4Czo="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=UacNbv5z; dkim-atps=neutral;\n spf=pass (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15759-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=UacNbv5z; arc=none smtp.client-ip=10.30.226.201"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775823629;\n\tbh=Xj914OB0ywB5KtjAdUFbVTIri4m7J0/9GAWloccpVyg=;\n\th=Date:From:To:Cc:Subject:References:From;\n\tb=UacNbv5zzA6AzbAlRM4n4U5NaKejyQd8mANj0iWZ5RQiRAJWixjyMgZjbiDhDTyzO\n\t ay62PPnTA47MG/rmdeWa/4KfjNAnW4xtTzJ34RAhThlg0KY8nNByGNrsu9zE469dPQ\n\t hWtTJvAZ4ZE2brA8ZCckIrkzYMvi5clv/chlzjJ3PYteh92RUSFzhMNQu3+ZTJTDCI\n\t kJ6mPTSZ1AZhD1XvkSSEOtM9nEZR/77fxCsYwUjbpiFSE3ESK6EP7pbE6Ao/WrdTRD\n\t AlaT3EdsheI/WmWdaf0zz7rbsJUIcktKioLIztC89PcrEqXmxk39mPCnXjzI5yFh8X\n\t xNx6W4PqnkQAQ==","Date":"Fri, 10 Apr 2026 14:20:26 +0200","Message-ID":"<20260410120319.197793115@kernel.org>","User-Agent":"quilt/0.68","From":"Thomas Gleixner <tglx@kernel.org>","To":"LKML <linux-kernel@vger.kernel.org>","Cc":"Russell King <linux@armlinux.org.uk>,\n linux-arm-kernel@lists.infradead.org,\n Arnd Bergmann <arnd@arndb.de>,\n x86@kernel.org,\n Lu Baolu <baolu.lu@linux.intel.com>,\n iommu@lists.linux.dev,\n Michael Grzeschik <m.grzeschik@pengutronix.de>,\n netdev@vger.kernel.org,\n linux-wireless@vger.kernel.org,\n Herbert Xu <herbert@gondor.apana.org.au>,\n linux-crypto@vger.kernel.org,\n Vlastimil Babka <vbabka@kernel.org>,\n linux-mm@kvack.org,\n David Woodhouse <dwmw2@infradead.org>,\n Bernie Thompson <bernie@plugable.com>,\n linux-fbdev@vger.kernel.org,\n \"Theodore Tso\" <tytso@mit.edu>,\n linux-ext4@vger.kernel.org,\n Andrew Morton <akpm@linux-foundation.org>,\n Uladzislau Rezki <urezki@gmail.com>,\n Marco Elver <elver@google.com>,\n Dmitry Vyukov <dvyukov@google.com>,\n kasan-dev@googlegroups.com,\n Andrey Ryabinin <ryabinin.a.a@gmail.com>,\n Thomas Sailer <t.sailer@alumni.ethz.ch>,\n linux-hams@vger.kernel.org,\n \"Jason A. Donenfeld\" <Jason@zx2c4.com>,\n Richard Henderson <richard.henderson@linaro.org>,\n linux-alpha@vger.kernel.org,\n Catalin Marinas <catalin.marinas@arm.com>,\n Huacai Chen <chenhuacai@kernel.org>,\n loongarch@lists.linux.dev,\n Geert Uytterhoeven <geert@linux-m68k.org>,\n linux-m68k@lists.linux-m68k.org,\n Dinh Nguyen <dinguyen@kernel.org>,\n Jonas Bonn <jonas@southpole.se>,\n linux-openrisc@vger.kernel.org,\n Helge Deller <deller@gmx.de>,\n linux-parisc@vger.kernel.org,\n Michael Ellerman <mpe@ellerman.id.au>,\n linuxppc-dev@lists.ozlabs.org,\n Paul Walmsley <pjw@kernel.org>,\n linux-riscv@lists.infradead.org,\n Heiko Carstens <hca@linux.ibm.com>,\n linux-s390@vger.kernel.org,\n \"David S. Miller\" <davem@davemloft.net>,\n sparclinux@vger.kernel.org","Subject":"[patch 24/38] ARM: Select ARCH_HAS_RANDOM_ENTROPY","References":"<20260410120044.031381086@kernel.org>","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tMAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"},"content":"The only remaining usage of get_cycles() is to provide\nrandom_get_entropy().\n\nSwitch ARM over to the new scheme of selecting ARCH_HAS_RANDOM_ENTROPY and\nproviding random_get_entropy() in asm/random.h.\n\nRemove asm/timex.h as it has no functionality anymore.\n\nSigned-off-by: Thomas Gleixner <tglx@kernel.org>\nCc: Russell King <linux@armlinux.org.uk>\nCc: linux-arm-kernel@lists.infradead.org\n---\n arch/arm/Kconfig              |    1 +\n arch/arm/include/asm/random.h |   14 ++++++++++++++\n arch/arm/include/asm/timex.h  |   18 ------------------\n arch/arm/lib/delay.c          |    4 ++--\n 4 files changed, 17 insertions(+), 20 deletions(-)","diff":"--- a/arch/arm/Kconfig\n+++ b/arch/arm/Kconfig\n@@ -22,6 +22,7 @@ config ARM\n \tselect ARCH_HAS_MEMBARRIER_SYNC_CORE\n \tselect ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE\n \tselect ARCH_HAS_PTE_SPECIAL if ARM_LPAE\n+\tselect ARCH_HAS_RANDOM_ENTROPY\n \tselect ARCH_HAS_SETUP_DMA_OPS\n \tselect ARCH_HAS_SET_MEMORY\n \tselect ARCH_STACKWALK\n--- /dev/null\n+++ b/arch/arm/include/asm/random.h\n@@ -0,0 +1,14 @@\n+/* SPDX-License-Identifier: GPL-2.0-only */\n+#ifndef _ASMARM_RANDOM_H\n+#define _ASMARM_RANDOM_H\n+\n+bool delay_read_timer(unsigned long *t);\n+\n+static inline unsigned long random_get_entropy(void)\n+{\n+\tunsigned long t;\n+\n+\treturn delay_read_timer(&t) ? t : random_get_entropy_fallback();\n+}\n+\n+#endif\n--- a/arch/arm/include/asm/timex.h\n+++ /dev/null\n@@ -1,18 +0,0 @@\n-/* SPDX-License-Identifier: GPL-2.0-only */\n-/*\n- *  arch/arm/include/asm/timex.h\n- *\n- *  Copyright (C) 1997,1998 Russell King\n- *\n- *  Architecture Specific TIME specifications\n- */\n-#ifndef _ASMARM_TIMEX_H\n-#define _ASMARM_TIMEX_H\n-\n-// Temporary workaround\n-bool delay_read_timer(unsigned long *t);\n-\n-#define get_cycles()\t({ cycles_t c; delay_read_timer(&c) ? 0 : c; })\n-#define random_get_entropy() (((unsigned long)get_cycles()) ?: random_get_entropy_fallback())\n-\n-#endif\n--- a/arch/arm/lib/delay.c\n+++ b/arch/arm/lib/delay.c\n@@ -42,9 +42,9 @@ static inline u64 cyc_to_ns(u64 cyc, u32\n \n static void __timer_delay(unsigned long cycles)\n {\n-\tcycles_t start = get_cycles();\n+\tcycles_t start = delay_timer->read_current_timer();\n \n-\twhile ((get_cycles() - start) < cycles)\n+\twhile ((delay_timer->read_current_timer() - start) < cycles)\n \t\tcpu_relax();\n }\n \n","prefixes":["24/38"]}