{"id":2219721,"url":"http://patchwork.ozlabs.org/api/1.1/covers/2219721/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/cover/20260404000644.522677-1-dianders@chromium.org/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.1/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260404000644.522677-1-dianders@chromium.org>","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/1.1/people/9763/?format=json","name":"Douglas Anderson","email":"dianders@chromium.org"},"mbox":"http://patchwork.ozlabs.org/project/linux-pci/cover/20260404000644.522677-1-dianders@chromium.org/mbox/","series":[{"id":498689,"url":"http://patchwork.ozlabs.org/api/1.1/series/498689/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=498689","date":"2026-04-04T00:04:54","name":"driver core: Fix some race conditions","version":4,"mbox":"http://patchwork.ozlabs.org/series/498689/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2219721/comments/","headers":{"Return-Path":"\n <linux-pci+bounces-51854-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.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=PwkM0ca5;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-51854-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org\n header.b=\"PwkM0ca5\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=74.125.82.169","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=chromium.org","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=chromium.org"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::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 legolas.ozlabs.org (Postfix) with ESMTPS id 4fnbYt5LNWz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 11:09:38 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id ED49D306B809\n\tfor <incoming@patchwork.ozlabs.org>; Sat,  4 Apr 2026 00:07:26 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 81683DDC3;\n\tSat,  4 Apr 2026 00:07:24 +0000 (UTC)","from mail-dy1-f169.google.com (mail-dy1-f169.google.com\n [74.125.82.169])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 6883D28E00\n\tfor <linux-pci@vger.kernel.org>; Sat,  4 Apr 2026 00:07:21 +0000 (UTC)","by mail-dy1-f169.google.com with SMTP id\n 5a478bee46e88-2c1632faeb9so4450989eec.0\n        for <linux-pci@vger.kernel.org>; Fri, 03 Apr 2026 17:07:21 -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=subspace.kernel.org; s=arc-20240116;\n\tt=1775261244; cv=none;\n b=FdsFTmCwBkHfj/kMsg9NkgebzUOrWt5AXnZ7wSOs0iK4wxkb/GYYwMOVuJ3FJyzQ/T6hQ0NEcllGDUX7CT3yRYjeU1V6WOlEzVax7po0wYdXMH9I5xxsx7YH7Z5M4D1UZcbBiaBquQ6pNPx3a/MI49rAJKwTrmxYCaILsMGegDE=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775261244; c=relaxed/simple;\n\tbh=4U6qcOnXRz1y4XkIRO6Hkkenfy7He0XdH8Hlg7ak3cg=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=G56scVQ5IhbV73i6Cf79YVM0AW90En+cAha6VsMt2E29ofeWT1Y55mvYhcoJrVndUgT1UjKyZHHN0ZPkAi+zHGTeLrHSGw8Q1fzWdUTUl6dc7/9EnKP1wJiXeA3/x/BN2gfSmZVDB2gEKdvx8L7H0BemW9tbvMOh2q3nSe8jSac=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=chromium.org;\n spf=pass smtp.mailfrom=chromium.org;\n dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org\n header.b=PwkM0ca5; arc=none smtp.client-ip=74.125.82.169","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=chromium.org; s=google; t=1775261240; x=1775866040;\n darn=vger.kernel.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=PwkM0ca5QROQeAiqfW1iW3X5spqYFYnS/2L8X2vcFUpdpBz6vLqXtTdxRmqYTeF6q/\n         NDi5p9sCrUEvbIK5uHiC57+gLzcOEIBYv7aCk5GMpae+1/ZnhWFUDq8sr72nlwgdVNST\n         nHX5BJ12zprQxgF4o/WMCad7kw+xm3w03KRW8=","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=ZN5orFi24ejhlCJRI2Ta61vnB5Mc5+xifa58kecQ0F3gik+PzBZ2oafJa0YrYioDqz\n         1BNgzVeWlp13O6QLghrWxfTquO3mdKcv2NKzG+pXfUD7F10wa8Q3WeqcJ1vcxBft0fJI\n         wjRlg9o5wWLJygkzyuTwMAJDKLfE/HNXjnmMgbS/hdZAsE6PCXxzzhpE+9GNRar8Qhhh\n         2aA5yC5TENk5iF+wqBSa/k4iK+gmfgxVzHAmcdeG6gjPbrQ1/gI3DdbqWUmGabHmF2YA\n         k+woH7gEdZ0EGTG5mLLsi4oz1eBrTnSnhn4dCijjNyrbFWQuWObeJtEyfEe7MY0IZH18\n         zSLQ==","X-Forwarded-Encrypted":"i=1;\n AJvYcCUk+v8kTWwVLKPRJQFnwu9LXzXUt/WKvcqNKIPk5v3mugdAc0ofdID2WJMkLwbwoSsNZxe7dHvSxq8=@vger.kernel.org","X-Gm-Message-State":"AOJu0YwtjzA3bUZf4FtuGznbWpLWYi1XHNefbR0zNwRybVBNrc7URmve\n\tTnOLO1WTNTrwNugbAprWLG3q1GJsCtg2ZHnXM+83riGCWjWMBe5pgFN2Bt863hIrvA==","X-Gm-Gg":"AeBDievt62Td/Y8W0jeIwK9XjbMbUygH4EPtClmG5JcJ8FmqnLPhig2qwi1l38Tt7q4\n\te4luaihD3iwMqSisyxvwcy/my4sBV4HLzydQ5ZFYo6NfCId3o6cu7eqRah9kWzLQxwBCmGRIcv1\n\tHtqZIqtt2Oo9WT5L8eGr2Nbbyb1o65vwd0WYQYpwN732RUYtOzmh1D837CZ/BY4D4bbKDGbFwvK\n\tMObYIVBKV92prr1/csLE1sXS7Ja2s/W3B5+PAzrPVC1wWm8jFit8pjSdwdew1bd/UwhOhWUVSZq\n\tTNiI4a02ElmIyFhYXY7KpA6wNMTjSvI/IlBxrzFifomr7eekAzVkTEVYv0eE0vxdbvO1/5KEAPP\n\t0d297rbohnyekGTTpzw/xrZm9wt7UjkLHrFrfsa4PtLzl9Chf1we09oyEGOhkxGqib3/uvJVDHm\n\tacFxKRkfFaUy+7tUH9e9l6XyILuvVLqr3pkC/ocVDn+7LoeNkZdD8WgaTciMmqC1n0eRjvZpp1P\n\tPY1BrWjPH8=","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","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"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(-)"}