Show a cover letter.

GET /api/1.2/covers/2221794/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2221794,
    "url": "http://patchwork.ozlabs.org/api/1.2/covers/2221794/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/sparclinux/cover/20260410120044.031381086@kernel.org/",
    "project": {
        "id": 10,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/10/?format=api",
        "name": "Linux SPARC Development ",
        "link_name": "sparclinux",
        "list_id": "sparclinux.vger.kernel.org",
        "list_email": "sparclinux@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260410120044.031381086@kernel.org>",
    "list_archive_url": null,
    "date": "2026-04-10T12:18:27",
    "name": "[00/38] treewide: Cleanup LATCH, CLOCK_TICK_RATE and get_cycles() [ab]use",
    "submitter": {
        "id": 92397,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/92397/?format=api",
        "name": "Thomas Gleixner",
        "email": "tglx@kernel.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/sparclinux/cover/20260410120044.031381086@kernel.org/mbox/",
    "series": [
        {
            "id": 499450,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/499450/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/sparclinux/list/?series=499450",
            "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/499450/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2221794/comments/",
    "headers": {
        "Return-Path": "\n <SRS0=n4Q7=CJ=vger.kernel.org=sparclinux+bounces-6648-patchwork-incoming=ozlabs.org@ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "sparclinux@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=X6IRMdbN;\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=n4q7=cj=vger.kernel.org=sparclinux+bounces-6648-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=\"2600:3c09:e001:a7::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=X6IRMdbN;\n\tdkim-atps=neutral",
            "gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=sparclinux+bounces-6648-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=\"X6IRMdbN\"",
            "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 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsbSS2sLwz1yGS\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 22:18:47 +1000 (AEST)",
            "from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4fsbSR14Vgz4wTb\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 22:18:47 +1000 (AEST)",
            "by gandalf.ozlabs.org (Postfix)\n\tid 4fsbSR0s1Sz4wTV; Fri, 10 Apr 2026 22:18:47 +1000 (AEST)",
            "from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::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 4fsbSK30mBz4wTb\n\tfor <patchwork-incoming@ozlabs.org>; Fri, 10 Apr 2026 22:18:41 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id E1821302519B\n\tfor <patchwork-incoming@ozlabs.org>; Fri, 10 Apr 2026 12:18:36 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B058B3BE169;\n\tFri, 10 Apr 2026 12:18:31 +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 7493A37C11E;\n\tFri, 10 Apr 2026 12:18:31 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id 7CF16C19421;\n\tFri, 10 Apr 2026 12:18:30 +0000 (UTC)"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1775823527; cv=pass;\n\tb=T7eCLZ6Bq/zHoRT7EPnjpVxV13yI4EmAzv0+Cq5AcWnIlzxUtSHMoKVa0ojT7y05wuT6039zALwXvnK9ZXzyk8X3ptL5ELMpl+4ENxbzM2lFzykZR4i2EDFwKs5N549MGcDDNmtyXmnt4yPHYnV9eSpS9n2mMmxiqwHmYHSAKBT0GTRu7AIb97aurv3TVnJI3ceNFDSkCi39LIGVFYU6RC2LFGtK/T+BqKVe1MeMZAax2cx4uWDa3Vjgb1pM+eRf8UjycFwNeXe9ZwzUuEDk4ch046vJ1+ky2tkkbzovKbnv3h5y/0rUgHnyGHhR3MfBF6fhTZ86ouMIMD/Fzqie0g==",
            "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775823511; cv=none;\n b=cAhDdNM2XMasoMhXiIrfqnLE7KqLMrUxeujsM2qeMaHtElxuiePwe+c8aXuDXDyGUkfClM2XT4tAv099TMajYmyQg8fSnreRY7DxVGW328LtqthvovyGfhBWDdzN4hs9wkLopK2VRCYYrMzZYKKzi33T446nKiHEYaGglCShBXA="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1775823527; c=relaxed/relaxed;\n\tbh=RGZWkdQ4vdhJ/zmTXBMfmAASwOBRdYWIY356UL1Iu/0=;\n\th=Date:Message-ID:From:To:Subject:cc;\n b=HQa2XqSPMAYbW3kd4StoQgb/Xmqw1KJlXxVTR9uPvCFisODmTMlFEoMBl3pUWEVY8lmD77qr/BpPTT4BIWoUOla0FJwvSA6Rd0HqC6hl34fGQ2l21QSgX33n3BAXc7hPxi8vE22Xeaf3Sjry0sEbsYW0iFRL1WZw1GtrfuxRT49TuRTULnrQf4dCu7Zw2pvIVz1N+vxbXyj/DLAVaXrkxK31aLgL+Mfa6bx3AE9OleuamWQ9hZ+FlysAYDF0jTz3Wvc2zfiJAbeoi/qTM3SOHMmVVFGSYIoz/3HGKRVtPCdtaDw/U86LvOuuCLsoh4Dzbo0r+tIeTERHyDx7YDU7qg==",
            "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775823511; c=relaxed/simple;\n\tbh=xG6Zhe4Reh8n1CuuXKHsxMx4yyA7cv5SRNW/ce+u7MA=;\n\th=Date:Message-ID:From:To:Subject:cc;\n b=bQLmY14M4gEj9iOYPCtbHpRAGLENN9IvHmAWTcON+NvjdaX1LBJEyxh8EQvFanRo1d3We70uu1rutPi42DhoK4j1vjVc1VSBsUfhYGxnLxf2OtyrVicJCoGQwz1nTeQEbZ/+E7XUFojo6qSJpvVRDeCAO4Ii05bgfO3WAC2FYkk="
        ],
        "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=X6IRMdbN; dkim-atps=neutral;\n spf=pass (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=sparclinux+bounces-6648-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=X6IRMdbN; 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=1775823511;\n\tbh=xG6Zhe4Reh8n1CuuXKHsxMx4yyA7cv5SRNW/ce+u7MA=;\n\th=Date:From:To:Subject:cc:From;\n\tb=X6IRMdbNwD/1TPVTuuT38dax3aETJdTvvykNWi23GiBjWbaPnFiS31YP2+3+rHYnr\n\t +yBiYqSiaFZumAFwSR+NEqA6PxsCix9KHXp0BGVkWu/kFUlz/YIdIICieWTokegmLh\n\t Yr8j8VsIfTTYuyizZOa5fjt2rtqvhW2e+npoz/WBNOWVCp5m8FdgfGaOB54VOYpbJT\n\t yU3PgzyY9/f2Y08BZe1qPEkZ4DBScL99CvOU6Da3YpVoCSH2byw56W+6qCVZbtJoMm\n\t 0joIfHOTvLdlWQN0yWziORYb41f8Ajm7GcTfuGZTXlFCF7Y90aZDQyz+rgc1XQsGrv\n\t br4n1yhF6vGQA==",
        "Date": "Fri, 10 Apr 2026 14:18:27 +0200",
        "Message-ID": "<20260410120044.031381086@kernel.org>",
        "User-Agent": "quilt/0.68",
        "From": "Thomas Gleixner <tglx@kernel.org>",
        "To": "LKML <linux-kernel@vger.kernel.org>",
        "Subject": "[patch 00/38] treewide: Cleanup LATCH,\n CLOCK_TICK_RATE and get_cycles() [ab]use",
        "cc": "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 Russell King <linux@armlinux.org.uk>,\n linux-arm-kernel@lists.infradead.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",
        "Precedence": "bulk",
        "X-Mailing-List": "sparclinux@vger.kernel.org",
        "List-Id": "<sparclinux.vger.kernel.org>",
        "List-Subscribe": "<mailto:sparclinux+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:sparclinux+unsubscribe@vger.kernel.org>",
        "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": "First of all sorry for the insanely big Cc list, but people can't make\ntheir mind up whether they want to be Cc'ed on everything or not. So I'm\nopting for the worst case to cater to the people who want to be Cc'ed on\neverything and assume that the rest of you got used to it by now. I really\nwanted this to be more confined but a treewide cleanup does not give a lot\nof options.\n\nThat said, let me explain what this is about.\n\n  1) LATCH\n\n     The LATCH define goes back to Linux version 0.1 and has survived until\n     today for the very wrong reasons.\n\n     Initially it was based on the x86 PIT frequency and also steered the\n     timekeeping conversions.\n\n     With the arrival of non x86 architectures it got changed to be based\n     on CLOCK_TICK_RATE in order not to change core code which depended on\n     LATCH.\n\n     That all got meaningless when timers, timekeeping and scheduling\n     infrastructure got rewritten more than two decades ago.\n\n     But there is still a lonely survivor in arch/x86/kernel/apm_32.c\n     which dates back to Linux 1.3.46 (Dec. 1995)\n\n     Which causes the next historical gem\n\n  2) CLOCK_TICK_RATE\n\n     When Linux got expanded beyond i386 LATCH was made \"flexible\" by\n     basing it on CLOCK_TICK_RATE to adjust for other frequencies than the\n     i386 PIT frequency.\n\n     As LATCH this got meaningless long ago and for amusement value it got\n     copied into new architectures arriving way after it got obsolete for\n     no reason but with comments to the effect that it's meaningless\n\n     And of course it had a lonely survivor in arch/x86/kernel/setup.c\n     despite it being only an alias for PIT_TICK_RATE for a very long time.\n\n  3) get_cycles()\n\n     That was introduced in 2.1.133pre4 (Dec. 1998) to utilize the back\n     then brand new TSC. The introduction broke everything except i386 SMP\n     with a CPU having a TSC and got then fixed up within a couple of days\n     with empty stubs returning 0 and #ifdeffery for CONFIG_TSC before the\n     2.2.0 release.\n\n     It's amusing that the naming deliberately ignored that TSC is the\n     acronym for Time Stamp Counter and not Cycle Counter and rather went\n     for the underlying coincidence that the TSC was running at the same\n     fixed frequency as the CPU core.\n\n     That turned out to be interesting when CPUs started to have frequency\n     scaling as the TSC then turned into a variable frequency random number\n     generator.\n\n     A decade later CPU designers came to senses and made the TSC invariant\n     usually running at the nominal CPU frequency, which allowed to use it\n     for reliable timekeeping purposes.\n\n     Non x86 architectures implemented get_cycles() based on whatever\n     continuously running counter they had available in their CPUs. Some of\n     them actual CPU cycle counters, but many of them running at a fixed\n     frequency which was completely unrelated to CPU cycles.\n\n     Around 2004/5 the timekeeping subsystem was completely rewritten and\n     made generic along with the scheduling clock and other related\n     infrastructure. With that rewrite get_cycles() got mostly obsolete,\n     but despite it being on the todo list of quite some people it never\n     ceased to exist and it was just a conveniance vehicle to base other\n     things like the recent addition of random_get_entropy() on top with a\n     hideous #ifdef/#define macro maze.\n\n     The other remaining use cases are mostly debugging and testing\n     code. Especially the usage in performance test code is hillarious at\n     best. While the name get_cycles() suggests that it provides access to\n     CPU cycles the reality is that it provides a unspecified counter for\n     most systems, where a lot of architectures simply return 0 because\n     they either do not have such a counter or did not bother to implement\n     it at all.\n\n     So in fact get_cycles() should have been renamed to get_bogo_cycles()\n     long ago matching the BogoMIPS \"impress your friends\" printk which\n     still exists for historical amusement value.\n\n     But the real solution is to remove it all together instead of\n     proliferating the bogosity.\n\n\nThis is what this series does with the following steps:\n\n   1) Cleanup some header dependency hell which got unearthed by the\n      restructuring and went unnoticed so far. It's amazing how the kernel\n      build system magically \"works\". This affects not only x86, but the\n      main fallout was observed and fixed there. ARM64 and MIPS are at\n      least as bad as they silently rely on the accidental asm/timex.h\n      include through a variety of generic headers to make their\n      architecture code compile. See the changelog and patches specific to\n      those two.\n\n   2) Removal of LATCH\n\n   3) Removal of CLOCK_TICK_RATE\n\n   4) Consolidation of cycles_t which was a typedef in asm/timex.h\n\n   5) Cleanup of read_current_timer() which is only used for delay\n      calibration and has nothing to do with get_cycles()\n\n   6) Cleanup of get_cycles() usage in debug and test code\n\n   7) Decoupling of random_get_entropy() from get_cycles()\n\n   8) Removal of asm/timex.h includes except for architecture internal\n      usage where necessary.\n\nAt the end get_cycles() survives in a couple of architectures as a purely\narchitecture internal implementation detail.\n\nThis survives compile testing on all architectures except hexagon and nios2\nbecause the current cross tools based on gcc15 do not offer a compiler for\nthem anymore. Boot tested on x86 and some qemu instances covering only a\nfew architectures.\n\nThe series applies on v7.0-rc7 and with very minor conflicts on -next. It\nis also available from git:\n\n    git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git getcycles-v1\n\nThanks,\n\n\ttglx\n---\n arch/alpha/include/asm/timex.h                 |   33 --------\n arch/arc/include/asm/timex.h                   |   15 ---\n arch/arm/include/asm/timex.h                   |   16 ---\n arch/arm64/include/asm/timex.h                 |   18 ----\n arch/hexagon/include/asm/timex.h               |   23 -----\n arch/m68k/include/asm/timex.h                  |   42 ----------\n arch/microblaze/include/asm/timex.h            |   13 ---\n arch/mips/include/asm/timex.h                  |  102 -------------------------\n arch/sh/include/asm/timex.h                    |   24 -----\n arch/sparc/include/asm/timex.h                 |    9 --\n arch/sparc/include/asm/timex_32.h              |   14 ---\n arch/um/include/asm/timex.h                    |    9 --\n b/Documentation/fb/udlfb.rst                   |    4 \n b/arch/Kconfig                                 |   10 ++\n b/arch/alpha/Kconfig                           |    1 \n b/arch/alpha/include/asm/random.h              |   14 +++\n b/arch/arm/Kconfig                             |    2 \n b/arch/arm/include/asm/delay.h                 |    1 \n b/arch/arm/include/asm/random.h                |   14 +++\n b/arch/arm/lib/delay.c                         |   14 +--\n b/arch/arm/mach-omap1/Kconfig                  |    2 \n b/arch/arm64/Kconfig                           |    2 \n b/arch/arm64/include/asm/io.h                  |    5 -\n b/arch/arm64/include/asm/ptp_vmclock.h         |   12 ++\n b/arch/arm64/include/asm/random.h              |   11 ++\n b/arch/arm64/include/asm/rqspinlock.h          |    1 \n b/arch/arm64/kernel/time.c                     |    6 +\n b/arch/arm64/kernel/topology.c                 |    1 \n b/arch/arm64/kernel/traps.c                    |    1 \n b/arch/arm64/kvm/emulate-nested.c              |    1 \n b/arch/arm64/kvm/hyp/include/hyp/switch.h      |    1 \n b/arch/arm64/lib/delay.c                       |    1 \n b/arch/hexagon/Kconfig                         |    1 \n b/arch/hexagon/kernel/time.c                   |    8 +\n b/arch/loongarch/Kconfig                       |    1 \n b/arch/loongarch/include/asm/random.h          |   15 +++\n b/arch/loongarch/include/asm/timex.h           |    2 \n b/arch/loongarch/kernel/relocate.c             |    1 \n b/arch/loongarch/kernel/syscall.c              |    1 \n b/arch/loongarch/lib/delay.c                   |    2 \n b/arch/m68k/Kconfig                            |    1 \n b/arch/m68k/amiga/config.c                     |    1 \n b/arch/m68k/include/asm/random.h               |   14 +++\n b/arch/m68k/kernel/time.c                      |    2 \n b/arch/mips/Kconfig                            |    1 \n b/arch/mips/generic/init.c                     |    1 \n b/arch/mips/include/asm/random.h               |    7 +\n b/arch/mips/kernel/pm-cps.c                    |    1 \n b/arch/mips/kernel/proc.c                      |    1 \n b/arch/mips/kernel/relocate.c                  |    2 \n b/arch/mips/kernel/time.c                      |   53 ++++++++++++\n b/arch/mips/lib/dump_tlb.c                     |    1 \n b/arch/mips/mm/cache.c                         |    1 \n b/arch/nios2/Kconfig                           |    1 \n b/arch/nios2/include/asm/random.h              |   14 +++\n b/arch/nios2/include/asm/timex.h               |    7 -\n b/arch/nios2/kernel/time.c                     |    4 \n b/arch/openrisc/Kconfig                        |    2 \n b/arch/openrisc/include/asm/random.h           |   12 ++\n b/arch/openrisc/include/asm/timex.h            |   10 --\n b/arch/openrisc/lib/delay.c                    |    8 -\n b/arch/parisc/Kconfig                          |    1 \n b/arch/parisc/include/asm/random.h             |   12 ++\n b/arch/parisc/include/asm/timex.h              |   10 --\n b/arch/parisc/kernel/processor.c               |    1 \n b/arch/parisc/kernel/time.c                    |    1 \n b/arch/powerpc/Kconfig                         |    1 \n b/arch/powerpc/include/asm/random.h            |   13 +++\n b/arch/powerpc/include/asm/timex.h             |   25 ------\n b/arch/powerpc/platforms/cell/spufs/switch.c   |    5 -\n b/arch/riscv/Kconfig                           |    2 \n b/arch/riscv/include/asm/random.h              |   25 ++++++\n b/arch/riscv/include/asm/timex.h               |   23 -----\n b/arch/riscv/kernel/unaligned_access_speed.c   |    1 \n b/arch/riscv/kvm/vcpu_timer.c                  |    1 \n b/arch/riscv/lib/delay.c                       |    8 +\n b/arch/s390/Kconfig                            |    1 \n b/arch/s390/include/asm/random.h               |   12 ++\n b/arch/s390/include/asm/timex.h                |   10 --\n b/arch/s390/kernel/time.c                      |    1 \n b/arch/s390/kernel/vtime.c                     |    1 \n b/arch/sparc/Kconfig                           |    2 \n b/arch/sparc/include/asm/random.h              |   15 +++\n b/arch/sparc/include/asm/timex_64.h            |   20 ----\n b/arch/sparc/kernel/pcic.c                     |    1 \n b/arch/sparc/kernel/time_32.c                  |    1 \n b/arch/sparc/kernel/time_64.c                  |    4 \n b/arch/sparc/vdso/vclock_gettime.c             |    1 \n b/arch/x86/Kconfig                             |    4 \n b/arch/x86/include/asm/iommu.h                 |    3 \n b/arch/x86/include/asm/msr.h                   |    5 -\n b/arch/x86/include/asm/percpu.h                |    5 -\n b/arch/x86/include/asm/percpu_types.h          |   17 ++++\n b/arch/x86/include/asm/ptp_vmclock.h           |   12 ++\n b/arch/x86/include/asm/pvclock.h               |    1 \n b/arch/x86/include/asm/random.h                |   12 --\n b/arch/x86/include/asm/smp.h                   |    2 \n b/arch/x86/include/asm/tsc.h                   |   11 --\n b/arch/x86/include/asm/vdso/gettimeofday.h     |    5 -\n b/arch/x86/kernel/apm_32.c                     |    4 \n b/arch/x86/kernel/cpu/mce/core.c               |    1 \n b/arch/x86/kernel/nmi.c                        |    1 \n b/arch/x86/kernel/setup.c                      |    2 \n b/arch/x86/kernel/smpboot.c                    |    1 \n b/arch/x86/kernel/tsc.c                        |   12 +-\n b/arch/x86/lib/delay.c                         |    8 -\n b/crypto/jitterentropy-kcapi.c                 |    1 \n b/crypto/tcrypt.c                              |   84 ++++++++++----------\n b/drivers/iommu/intel/dmar.c                   |    4 \n b/drivers/iommu/intel/iommu.h                  |    8 +\n b/drivers/irqchip/irq-apple-aic.c              |    1 \n b/drivers/misc/sgi-gru/gruhandles.c            |   20 +---\n b/drivers/misc/sgi-gru/grukservices.c          |    3 \n b/drivers/misc/sgi-gru/grutlbpurge.c           |    5 -\n b/drivers/net/arcnet/arc-rimi.c                |    4 \n b/drivers/net/arcnet/arcdevice.h               |   20 ----\n b/drivers/net/arcnet/com20020.c                |    6 -\n b/drivers/net/arcnet/com90io.c                 |    6 -\n b/drivers/net/arcnet/com90xx.c                 |    4 \n b/drivers/net/hamradio/baycom_epp.c            |   51 ------------\n b/drivers/net/wireless/ath/wil6210/debugfs.c   |    2 \n b/drivers/net/wireless/ath/wil6210/txrx.c      |    6 -\n b/drivers/net/wireless/ath/wil6210/txrx_edma.c |    4 \n b/drivers/net/wireless/ath/wil6210/wil6210.h   |    3 \n b/drivers/ptp/Kconfig                          |    6 -\n b/drivers/ptp/ptp_vmclock.c                    |    6 -\n b/drivers/video/fbdev/udlfb.c                  |   24 ++---\n b/fs/ext4/mballoc.c                            |    4 \n b/include/asm-generic/Kbuild                   |    2 \n b/include/asm-generic/percpu_types.h           |   20 ++++\n b/include/linux/compiler_types.h               |    1 \n b/include/linux/delay.h                        |    2 \n b/include/linux/jiffies.h                      |    3 \n b/include/linux/random.h                       |   18 ++++\n b/include/linux/timex.h                        |   26 ------\n b/include/linux/types.h                        |    6 +\n b/init/calibrate.c                             |   19 ++--\n b/kernel/kcsan/core.c                          |    3 \n b/kernel/kcsan/debugfs.c                       |    8 -\n b/kernel/time/timer.c                          |    1 \n b/lib/interval_tree_test.c                     |   17 +---\n b/lib/rbtree_test.c                            |   47 +++++------\n b/lib/test_vmalloc.c                           |   10 +-\n b/mm/kasan/sw_tags.c                           |    2 \n b/mm/slub.c                                    |   37 +++++----\n include/asm-generic/timex.h                    |   23 -----\n 146 files changed, 622 insertions(+), 796 deletions(-)"
}