Show a cover letter.

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

{
    "id": 2219716,
    "url": "http://patchwork.ozlabs.org/api/covers/2219716/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-aspeed/cover/20260404000644.522677-1-dianders@chromium.org/",
    "project": {
        "id": 57,
        "url": "http://patchwork.ozlabs.org/api/projects/57/?format=api",
        "name": "Linux ASPEED SoC development",
        "link_name": "linux-aspeed",
        "list_id": "linux-aspeed.lists.ozlabs.org",
        "list_email": "linux-aspeed@lists.ozlabs.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260404000644.522677-1-dianders@chromium.org>",
    "list_archive_url": null,
    "date": "2026-04-04T00:04:54",
    "name": "[v4,0/9] driver core: Fix some race conditions",
    "submitter": {
        "id": 9763,
        "url": "http://patchwork.ozlabs.org/api/people/9763/?format=api",
        "name": "Douglas Anderson",
        "email": "dianders@chromium.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-aspeed/cover/20260404000644.522677-1-dianders@chromium.org/mbox/",
    "series": [
        {
            "id": 498688,
            "url": "http://patchwork.ozlabs.org/api/series/498688/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-aspeed/list/?series=498688",
            "date": "2026-04-04T00:04:54",
            "name": "driver core: Fix some race conditions",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/498688/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2219716/comments/",
    "headers": {
        "Return-Path": "\n <linux-aspeed+bounces-3836-incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-aspeed@lists.ozlabs.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=DZnv2ZdR;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linux-aspeed+bounces-3836-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2607:f8b0:4864:20::1333\"",
            "lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=chromium.org",
            "lists.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=DZnv2ZdR;\n\tdkim-atps=neutral",
            "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=chromium.org\n (client-ip=2607:f8b0:4864:20::1333; helo=mail-dy1-x1333.google.com;\n envelope-from=dianders@chromium.org; receiver=lists.ozlabs.org)"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\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 4fnbWS22MXz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 11:07:32 +1100 (AEDT)",
            "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fnbWL2RvVz2yYK;\n\tSat, 04 Apr 2026 11:07:26 +1100 (AEDT)",
            "from mail-dy1-x1333.google.com (mail-dy1-x1333.google.com\n [IPv6:2607:f8b0:4864:20::1333])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fnbWJ1SNVz2yL8\n\tfor <linux-aspeed@lists.ozlabs.org>; Sat, 04 Apr 2026 11:07:22 +1100 (AEDT)",
            "by mail-dy1-x1333.google.com with SMTP id\n 5a478bee46e88-2cc4c693d59so2340874eec.1\n        for <linux-aspeed@lists.ozlabs.org>;\n Fri, 03 Apr 2026 17:07:22 -0700 (PDT)",
            "from dianders.sjc.corp.google.com\n ([2a00:79e0:2e7c:8:a8b6:55b2:3eb6:2c0e])\n        by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2ca79e1d93bsm6520716eec.12.2026.04.03.17.07.16\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Fri, 03 Apr 2026 17:07:19 -0700 (PDT)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775261246;\n\tcv=none;\n b=QAN+K4A09FumiWpql4IB7q4At1uYw5ZZhsQaLUbWl5B2PE819oOgUT/dpFJBujED3cANKP9pzSxP9NMRFHuy9LOV0IyrzWo7cUbfEk4W08uLdxbqe0JbEhOX+D8LMvESq6TtzS4EOGyBPR1OIhMa17oUKofajWBMe1cMLPtvtEEQt0V2RNwzYeo3rPoWc2NiIGD8Gq6wmO7Chma1J82UJKAJV1Af1XA3Dfjf73i593TqVDoMXEdohtC+iq/XM1hopcbOFhxm96vX7qK+5zbZkWG/synAsgzvMGXTaVsO1RpZw+TiCTBEGkotVu0GkzxpSNGYHK2dhvjbxyYNSsBF/A==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775261246; c=relaxed/relaxed;\n\tbh=KGKsMy9vhlN9yvdnOvYy+R4lmavPYuTzTATeThGwgQc=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=QluJOXzZzEyPkIMnxl+ZZMV5OA5QOelwctWl4TicFVb9D+eYGaBmz0pAtjJP1cC7I+vNEXaDwozXmbShF0sJUw5ItPp6rEjbBhY2LYF7gkqfi/bHuSi+glmmTChHGMZI/yyW8SPTo0K0wGj9RERMMNB6eB2KkBZPMezBjXYoFVriYX3sr2xxhdLn9ZCb/bz8mHP/OH9U9BfZL/Ut1nfSznTTgy3FebivnVNotQDB21vC0fOVOiB0o/vxpQyIwvpPkbbtX06kOnAy8egfmi0IQ+kg97hiuplpwUTqBvai2MpV9LZgv5dgdPTzgxjy1Iup+QKWa9iBDU9vcsm61H8wHQ==",
        "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=chromium.org;\n dkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=DZnv2ZdR; dkim-atps=neutral;\n spf=pass (client-ip=2607:f8b0:4864:20::1333; helo=mail-dy1-x1333.google.com;\n envelope-from=dianders@chromium.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=chromium.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=chromium.org; s=google; t=1775261240; x=1775866040;\n darn=lists.ozlabs.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=KGKsMy9vhlN9yvdnOvYy+R4lmavPYuTzTATeThGwgQc=;\n        b=DZnv2ZdRH164l5BuxmKY7VF/u8CYXiJruPgqE5oWkgVQgPXG1AG3KeDWNZpu+Al/hI\n         IB9X8HCA4+3iD4RRjiPq/yel5pgCu0VVMOXEBSZW7oNPxcI5yEh1na/ps3nEoZbwlLTS\n         AQf3890aCnVWqIh2or8sSMRxoTGPIM02N4ouk=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775261240; x=1775866040;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=KGKsMy9vhlN9yvdnOvYy+R4lmavPYuTzTATeThGwgQc=;\n        b=b5mAbGyfXfERG4KweLfgJCB/k8zKQyhdYYkcxzIl0k3BDaBqJT1W3Ep7SyO4QPAisS\n         eQ2/okjmsNyzTTKpAGr6iK0CJINxhqgqjRQs6x92Oepp8Av0XN/0cb8+lcX9ZHc2llNp\n         Z5B2nQhdt2nsx1okNM0CP9IBGMKT9ddH1DDbJOl9VbtUJsY+2ko5QUsa2+X4GRMGXl6z\n         ASR0mLDDBzu/WJtaCCtLA9+oTniF/j99FJ6GWMBSML1UBj79pNJXEPd6d4SbO0XbYwr8\n         GgqxoDJX7o2y0843MNU7NNNkRuzgzB37hmed2ZnNiiFeeIz5YV6qF2HS2kJGNSNs1pGP\n         kRJw==",
        "X-Forwarded-Encrypted": "i=1;\n AJvYcCUldGdfNDCch7ybmDsqkCZA2dkTHXOJowT0IU9H5tLY3xK5nH9NYMuID8rYZjhtQjDx0EGj6LIm3upH8ao=@lists.ozlabs.org",
        "X-Gm-Message-State": "AOJu0YyIeUpHTLSbBD4sO1L6F4u9+Oai4fzP8nVCM6dmVom6bJGXc2JL\n\t6RZUn6dYbKq1/6I9Lp0F0Os7gewgbbxqKPnx6hWx/HfISsQNXsS0efncAswgju33/A==",
        "X-Gm-Gg": "AeBDiesBmDBwhNqD097Izb+7X1EY38MLwPL+RHelBqtHoEM7Y5FYBLtRetA2iYvIIny\n\t1b9kqkiwhDg/+TbpxqP2pm4/lQx4xfXKxbF+Ol+hsSYxEEQNIB/LdcC7UIj0oAmQ2cb7aH1LTUp\n\tIEKMcapajsn2926gn4D6AHd6TCe1yLEPHYePddb7ash9iahGMXTIytJtXbdlILZJg3AoI3SDuAc\n\t/n2mMA4eXNoTliO+voXI9UrIJ8BxMRlmchv4Qnj/tUm55DrCv+LbIrF6+u0RJivWagEpU2EtK6m\n\tJxp5OVhDuEvfHjyQE4m802ZGqURP4pz0PkpQQFnH8DM/EgVWHF7WViPCTE+o7cCt6N9lUdIV/xz\n\tMcUjSHOppLewojz9FSu0gcsDMXYGNpoHTOcFmvDJLDPbKCTEN2SpApXSaMOeEYyUGJ1fgXEGFXu\n\tAlr2NPIy2DHvN8ILlekniVhNz3ffqkxEEoexyRi9bbUC7t3nY1crGLDXJIo9Aoypb0lhzgHpnJl\n\tgcbNOBIXLw=",
        "X-Received": "by 2002:a05:7300:5722:b0:2c7:ea98:da0 with SMTP id\n 5a478bee46e88-2cbfbc8aeb9mr2680118eec.19.1775261240285;\n        Fri, 03 Apr 2026 17:07:20 -0700 (PDT)",
        "From": "Douglas Anderson <dianders@chromium.org>",
        "To": "Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n\t\"Rafael J . Wysocki\" <rafael@kernel.org>,\n\tDanilo Krummrich <dakr@kernel.org>,\n\tAlan Stern <stern@rowland.harvard.edu>",
        "Cc": "Saravana Kannan <saravanak@kernel.org>,\n\tChristoph Hellwig <hch@lst.de>,\n\tEric Dumazet <edumazet@google.com>,\n\tJohan Hovold <johan@kernel.org>,\n\tLeon Romanovsky <leon@kernel.org>,\n\tAlexander Lobakin <aleksander.lobakin@intel.com>,\n\tAlexey Kardashevskiy <aik@ozlabs.ru>,\n\tRobin Murphy <robin.murphy@arm.com>,\n\tDouglas Anderson <dianders@chromium.org>,\n\tAndrew Morton <akpm@linux-foundation.org>,\n\tFrank.Li@kernel.org,\n\tJason Gunthorpe <jgg@ziepe.ca>,\n\talex@ghiti.fr,\n\talexander.stein@ew.tq-group.com,\n\tandre.przywara@arm.com,\n\tandrew@codeconstruct.com.au,\n\tandrew@lunn.ch,\n\tandriy.shevchenko@linux.intel.com,\n\taou@eecs.berkeley.edu,\n\tardb@kernel.org,\n\tbhelgaas@google.com,\n\tbrgl@kernel.org,\n\tbroonie@kernel.org,\n\tcatalin.marinas@arm.com,\n\tchleroy@kernel.org,\n\tdavem@davemloft.net,\n\tdavid@kernel.org,\n\tdevicetree@vger.kernel.org,\n\tdmaengine@vger.kernel.org,\n\tdriver-core@lists.linux.dev,\n\tgbatra@linux.ibm.com,\n\tgregory.clement@bootlin.com,\n\thkallweit1@gmail.com,\n\tiommu@lists.linux.dev,\n\tjirislaby@kernel.org,\n\tjoel@jms.id.au,\n\tjoro@8bytes.org,\n\tkees@kernel.org,\n\tkevin.brodsky@arm.com,\n\tkuba@kernel.org,\n\tlenb@kernel.org,\n\tlgirdwood@gmail.com,\n\tlinux-acpi@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-aspeed@lists.ozlabs.org,\n\tlinux-cxl@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-mips@vger.kernel.org,\n\tlinux-mm@kvack.org,\n\tlinux-pci@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org,\n\tlinux-serial@vger.kernel.org,\n\tlinux-snps-arc@lists.infradead.org,\n\tlinux-usb@vger.kernel.org,\n\tlinux@armlinux.org.uk,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tm.szyprowski@samsung.com,\n\tmaddy@linux.ibm.com,\n\tmani@kernel.org,\n\tmaz@kernel.org,\n\tmiko.lenczewski@arm.com,\n\tmpe@ellerman.id.au,\n\tnetdev@vger.kernel.org,\n\tnpiggin@gmail.com,\n\tosalvador@suse.de,\n\toupton@kernel.org,\n\tpabeni@redhat.com,\n\tpalmer@dabbelt.com,\n\tpeter.ujfalusi@gmail.com,\n\tpeterz@infradead.org,\n\tpjw@kernel.org,\n\trobh@kernel.org,\n\tsebastian.hesselbarth@gmail.com,\n\ttglx@kernel.org,\n\ttsbogend@alpha.franken.de,\n\tvgupta@kernel.org,\n\tvkoul@kernel.org,\n\twill@kernel.org,\n\twilly@infradead.org,\n\tyangyicong@hisilicon.com,\n\tyeoreum.yun@arm.com",
        "Subject": "[PATCH v4 0/9] driver core: Fix some race conditions",
        "Date": "Fri,  3 Apr 2026 17:04:54 -0700",
        "Message-ID": "<20260404000644.522677-1-dianders@chromium.org>",
        "X-Mailer": "git-send-email 2.53.0.1213.gd9a14994de-goog",
        "X-Mailing-List": "linux-aspeed@lists.ozlabs.org",
        "List-Id": "<linux-aspeed.lists.ozlabs.org>",
        "List-Help": "<mailto:linux-aspeed+help@lists.ozlabs.org>",
        "List-Owner": "<mailto:linux-aspeed+owner@lists.ozlabs.org>",
        "List-Post": "<mailto:linux-aspeed@lists.ozlabs.org>",
        "List-Archive": "<https://lore.kernel.org/linux-aspeed/>,\n  <https://lists.ozlabs.org/pipermail/linux-aspeed/>",
        "List-Subscribe": "<mailto:linux-aspeed+subscribe@lists.ozlabs.org>,\n  <mailto:linux-aspeed+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linux-aspeed+subscribe-nomail@lists.ozlabs.org>",
        "List-Unsubscribe": "<mailto:linux-aspeed+unsubscribe@lists.ozlabs.org>",
        "Precedence": "list",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Spam-Status": "No, score=-0.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"
    },
    "content": "The main goal of this series is to fix the observed bug talked about\nin the first patch (\"driver core: Don't let a device probe until it's\nready\"). That patch fixes a problem that has been observed in the real\nworld and could land even if the rest of the patches are found\nunacceptable or need to be spun.\n\nThat said, during patch review Danilo correctly pointed out that many\nof the bitfield accesses in \"struct device\" are unsafe. I added a\nbunch of patches in the series to address each one.\n\nDanilo said he's most worried about \"can_match\", so I put that one\nfirst. After that, I tried to transition bitfields to flags in reverse\norder to when the bitfield was added.\n\nEven if transitioning from bitfields to flags isn't truly needed for\ncorrectness, it seems silly (and wasteful of space in struct device)\nto have some in bitfields and some as flags. Thus I didn't spend time\nfor each bitfield showing that it's truly needed for correctness.\n\nTransition was done semi manually. Presumably someone skilled at\ncoccinelle could do a better job, but I just used sed in a heavy-\nhanded manner and then reviewed/fixed the results, undoing anything my\nscript got wrong. My terrible/ugly script was:\n\nvar=can_match\ncaps=\"${var^^}\"\nfor f in $(git grep -l \"[>\\.]${var}[^1-9_a-zA-Z\\[]\"); do\n  echo $f\n  sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)->${var} = true/set_bit(DEV_FLAG_${caps}, \\&\\\\1->flags)/\" \"$f\"\n  sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)\\.${var} = true/dev_set_${caps}(\\&\\\\1)/\" \"$f\"\n  sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)->${var} = false/clear_bit(DEV_FLAG_${caps}, \\&\\\\1->flags)/\" \"$f\"\n  sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)\\.${var} = false/dev_clear_${caps}(\\&\\\\1)/\" \"$f\"\n  sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)->${var} = \\([^;]*\\)/assign_bit(DEV_FLAG_${caps}, \\&\\\\1->flags, \\\\2)/\" \"$f\"\n  sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)\\.${var} = \\([^;]*\\)/dev_assign_${caps}(\\&\\\\1, \\\\2)/\" \"$f\"\n  sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)->${var}\\([^1-9_a-zA-Z\\[]\\)/test_bit(DEV_FLAG_${caps}, \\&\\\\1->flags)\\\\2/\" \"$f\"\n  sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)\\.${var}\\([^1-9_a-zA-Z\\[]\\)/dev_${caps}(\\&\\\\1)\\\\2/\" \"$f\"\ndone\n\nFrom v3 to v4, I transitioned to accessor functions with another ugly\nsed script. I had git format the old patches, then transformed them\nwith:\n\nfor f in *.patch; do\n  echo $f\n  sed -i~ -e \"s/test_and_set_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags)/dev_test_and_set_\\\\L\\\\1(\\\\2)/\" \"$f\"\n  sed -i~ -e \"s/test_and_set_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags)/dev_test_and_set_\\\\L\\\\1(\\\\2)/\" \"$f\"\n  sed -i~ -e \"s/test_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags)/dev_\\\\L\\\\1(\\\\2)/\" \"$f\"\n  sed -i~ -e \"s/test_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags)/dev_\\\\L\\\\1(\\\\2)/\" \"$f\"\n  sed -i~ -e \"s/set_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags)/dev_set_\\\\L\\\\1(\\\\2)/\" \"$f\"\n  sed -i~ -e \"s/set_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags)/dev_set_\\\\L\\\\1(\\\\2)/\" \"$f\"\n  sed -i~ -e \"s/clear_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags)/dev_clear_\\\\L\\\\1(\\\\2)/\" \"$f\"\n  sed -i~ -e \"s/clear_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags)/dev_clear_\\\\L\\\\1(\\\\2)/\" \"$f\"\n  sed -i~ -e \"s/assign_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags, \\(.*\\))/dev_assign_\\\\L\\\\1(\\\\2, \\\\3)/\" \"$f\"\n  sed -i~ -e \"s/assign_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags, \\(.*\\))/dev_assign_\\\\L\\\\1(\\\\2, \\\\3)/\" \"$f\"\ndone\n\n...and then did a few manual touchups for spacing.\n\nNOTE: one potentially \"controversial\" choice I made in some patches\nwas to always reserve a flag ID even if a flag is only used under\ncertain CONFIG_ settings. This is a change from how things were\nbefore. Keeping the numbering consistent and allowing easy\ncompile-testing of both CONFIG settings seemed worth it, especially\nsince it won't take up any extra space until we've added a lot more\nflags.\n\nI only marked the first patch as a \"Fix\" since it is the only one\nfixing observed problems. Other patches could be considered fixes too\nif folks want.\n\nI tested the first patch in the series backported to kernel 6.6 on the\nPixel phone that was experiencing the race. I added extra printouts to\nmake sure that the problem was hitting / addressed. The rest of the\npatches are tested with allmodconfig with arm32, arm64, ppc, and\nx86. I boot tested on an arm64 Chromebook running mainline.\n\nChanges in v4:\n- Use accessor functions for flags\n\nChanges in v3:\n- Use a new \"flags\" bitfield\n- Add missing \\n in probe error message\n\nChanges in v2:\n- Instead of adjusting the ordering, use \"ready_to_probe\" flag\n\nDouglas Anderson (9):\n  driver core: Don't let a device probe until it's ready\n  driver core: Replace dev->can_match with dev_can_match()\n  driver core: Replace dev->dma_iommu with dev_dma_iommu()\n  driver core: Replace dev->dma_skip_sync with dev_dma_skip_sync()\n  driver core: Replace dev->dma_ops_bypass with dev_dma_ops_bypass()\n  driver core: Replace dev->state_synced with dev_state_synced()\n  driver core: Replace dev->dma_coherent with dev_dma_coherent()\n  driver core: Replace dev->of_node_reused with dev_of_node_reused()\n  driver core: Replace dev->offline + ->offline_disabled with accessors\n\n arch/arc/mm/dma.c                             |   4 +-\n arch/arm/mach-highbank/highbank.c             |   2 +-\n arch/arm/mach-mvebu/coherency.c               |   2 +-\n arch/arm/mm/dma-mapping-nommu.c               |   4 +-\n arch/arm/mm/dma-mapping.c                     |  28 ++--\n arch/arm64/kernel/cpufeature.c                |   2 +-\n arch/arm64/mm/dma-mapping.c                   |   2 +-\n arch/mips/mm/dma-noncoherent.c                |   2 +-\n arch/powerpc/kernel/dma-iommu.c               |   8 +-\n .../platforms/pseries/hotplug-memory.c        |   4 +-\n arch/riscv/mm/dma-noncoherent.c               |   2 +-\n drivers/acpi/scan.c                           |   2 +-\n drivers/base/core.c                           |  53 +++++---\n drivers/base/cpu.c                            |   4 +-\n drivers/base/dd.c                             |  28 ++--\n drivers/base/memory.c                         |   2 +-\n drivers/base/pinctrl.c                        |   2 +-\n drivers/base/platform.c                       |   2 +-\n drivers/dma/ti/k3-udma-glue.c                 |   6 +-\n drivers/dma/ti/k3-udma.c                      |   6 +-\n drivers/iommu/dma-iommu.c                     |   9 +-\n drivers/iommu/iommu.c                         |   5 +-\n drivers/net/pcs/pcs-xpcs-plat.c               |   2 +-\n drivers/of/device.c                           |   6 +-\n drivers/pci/of.c                              |   2 +-\n drivers/pci/pwrctrl/core.c                    |   2 +-\n drivers/regulator/bq257xx-regulator.c         |   2 +-\n drivers/regulator/rk808-regulator.c           |   2 +-\n drivers/tty/serial/serial_base_bus.c          |   2 +-\n drivers/usb/gadget/udc/aspeed-vhub/dev.c      |   2 +-\n include/linux/device.h                        | 120 ++++++++++++------\n include/linux/dma-map-ops.h                   |   6 +-\n include/linux/dma-mapping.h                   |   2 +-\n include/linux/iommu-dma.h                     |   3 +-\n kernel/cpu.c                                  |   4 +-\n kernel/dma/mapping.c                          |  12 +-\n mm/hmm.c                                      |   2 +-\n 37 files changed, 206 insertions(+), 142 deletions(-)"
}