[{"id":3679575,"web_url":"http://patchwork.ozlabs.org/comment/3679575/","msgid":"<h2r2jv4g2tednrybrmkn4d2dus3oalqsk3r2q4xrbuivucefon@n6vvx5bl5cm5>","list_archive_url":null,"date":"2026-04-20T20:25:34","subject":"Re: [PATCH 1/5] driver core: separate function to shutdown one device","submitter":{"id":75302,"url":"http://patchwork.ozlabs.org/api/people/75302/","name":"Pasha Tatashin","email":"pasha.tatashin@soleen.com"},"content":"On 04-20 11:26, David Jeffery wrote:\n> Make a separate function for the part of device_shutdown() that does the\n> shutown for a single device.  This is in preparation for making device\n> shutdown asynchronous.\n> \n> Signed-off-by: Stuart Hayes <stuart.w.hayes@gmail.com>\n> Signed-off-by: David Jeffery <djeffery@redhat.com>\n> Tested-by: Laurence Oberman <loberman@redhat.com>\n> ---\n>  drivers/base/core.c | 71 +++++++++++++++++++++++++--------------------\n>  1 file changed, 39 insertions(+), 32 deletions(-)\n> \n> diff --git a/drivers/base/core.c b/drivers/base/core.c\n> index 0613de0fbe44..5353c6c22d49 100644\n> --- a/drivers/base/core.c\n> +++ b/drivers/base/core.c\n> @@ -4783,12 +4783,48 @@ int device_change_owner(struct device *dev, kuid_t kuid, kgid_t kgid)\n>  \treturn error;\n>  }\n>  \n> +static void shutdown_one_device(struct device *dev)\n> +{\n> +\tstruct device *parent = dev->parent;\n> +\n> +\t/* hold lock to avoid race with probe/release */\n> +\tif (parent)\n> +\t\tdevice_lock(parent);\n> +\tdevice_lock(dev);\n> +\n> +\t/* Don't allow any more runtime suspends */\n> +\tpm_runtime_get_noresume(dev);\n> +\tpm_runtime_barrier(dev);\n> +\n> +\tif (dev->class && dev->class->shutdown_pre) {\n> +\t\tif (initcall_debug)\n> +\t\t\tdev_info(dev, \"shutdown_pre\\n\");\n> +\t\tdev->class->shutdown_pre(dev);\n> +\t}\n> +\tif (dev->bus && dev->bus->shutdown) {\n> +\t\tif (initcall_debug)\n> +\t\t\tdev_info(dev, \"shutdown\\n\");\n> +\t\tdev->bus->shutdown(dev);\n> +\t} else if (dev->driver && dev->driver->shutdown) {\n> +\t\tif (initcall_debug)\n> +\t\t\tdev_info(dev, \"shutdown\\n\");\n> +\t\tdev->driver->shutdown(dev);\n> +\t}\n> +\n> +\tdevice_unlock(dev);\n> +\tif (parent)\n> +\t\tdevice_unlock(parent);\n> +\n> +\tput_device(parent);\n> +\tput_device(dev);\n> +}\n\nReviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> \n\nAlso, please CC: kexec@lists.infradead.org, this series helps the live \nupdate, and kexec performance.\n\nPasha","headers":{"Return-Path":"\n <linux-pci+bounces-52800-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 (2048-bit key;\n unprotected) header.d=soleen.com header.i=@soleen.com header.a=rsa-sha256\n header.s=google header.b=MwCSCJDj;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-52800-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com\n header.b=\"MwCSCJDj\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.219.54","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=soleen.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=soleen.com"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fzxnj5ZYZz1yHB\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 06:25:45 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 0C6C13012C91\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 20:25:42 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 7B9EA3CF05A;\n\tMon, 20 Apr 2026 20:25:41 +0000 (UTC)","from mail-qv1-f54.google.com (mail-qv1-f54.google.com\n [209.85.219.54])\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 00F323CEBB7\n\tfor <linux-pci@vger.kernel.org>; Mon, 20 Apr 2026 20:25:38 +0000 (UTC)","by mail-qv1-f54.google.com with SMTP id\n 6a1803df08f44-89fc4147f2eso39962296d6.3\n        for <linux-pci@vger.kernel.org>; Mon, 20 Apr 2026 13:25:38 -0700 (PDT)","from plex ([71.181.43.54])\n        by smtp.gmail.com with ESMTPSA id\n 6a1803df08f44-8b02ac6c3e7sm85895836d6.13.2026.04.20.13.25.35\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Mon, 20 Apr 2026 13:25:36 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776716741; cv=none;\n b=fam4GwMDrq7kfb1HMdp8hBbJul79CFVUv1ZGP50cyBod+uTLAu89J/rT6ych24kDnBL6dz8/3mCvaWi4AaCnaS41wsE1lRwz1AeLFLLKas+EeNYiLr5sdYfW/1t0jG4aB+KpzdR9QsGw7PSZAWbWkS6L+Sm3o5mZuuA8COjU8uI=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776716741; c=relaxed/simple;\n\tbh=Dx76hdPmzkcK4nbwEphDzpwF8eLBrP39wXmhzcE1i9Q=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=UCQZdVEEKzNcHw2RRVfqw0TZQCODAutW9gto3zF4+3EiaJmXqp3vq4Fxxw6bU68z80QQQn2TRWfQSaq2Q/YNWdsa3oTJ9zmruSp5i/Sqq0CKdv/000+5tddd5IuhJIHalmxvP79g2zuZP+fF38OoC7D6azcDoUqvI06ONGzB2TI=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=soleen.com;\n spf=pass smtp.mailfrom=soleen.com;\n dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com\n header.b=MwCSCJDj; arc=none smtp.client-ip=209.85.219.54","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=soleen.com; s=google; t=1776716738; x=1777321538;\n darn=vger.kernel.org;\n        h=in-reply-to:content-disposition:mime-version:references:message-id\n         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n        bh=86B2EppM//v3TWmEymAoj6QAs94Bt1WYW2cmbvlwvO8=;\n        b=MwCSCJDjXbCvC3v1RscWJNQ6YOVZFVHPpzP1nFOPs+Pt2NtU0oJJ7oPNGqLFnDPktw\n         JQivfdVMFtG/TTh19cK0LfNJTMpX6DhFeINI9+bXbdsjmVv/Ds59umoP3m2sMmDSj2Ov\n         CW44m8KumgVPrHC7bHyyEY/UCqNky5Nh1uFJRf+yP89OeyEgx2bA5CXrFUOtN7utWTPa\n         ysOTh8bHlSvAMd+jPHDO4f4GH21Ll0Y8xFjaWsOrhpB8PNyQhlp9FTNA2txcwDr/OUVB\n         bCJYbYtioyIcLpcaPBQlLIgtHGnLAcHF+aDWum6zTiiHn7hQppMnqofiAZq6jOgpcDBu\n         wvOg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1776716738; x=1777321538;\n        h=in-reply-to:content-disposition:mime-version:references:message-id\n         :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n         :subject:date:message-id:reply-to;\n        bh=86B2EppM//v3TWmEymAoj6QAs94Bt1WYW2cmbvlwvO8=;\n        b=VchoTGytNrpXCJTpqp8LTlazTs8geBfEG/nB+F2HBMSCz0UANhVd1hm2b8amstHuSp\n         rdrWRVskohr7LCAOHgkUEvP7TchBuNB2IBPxrW6+cIL26l0NFvnPbRf6RfgDu+35o1sG\n         IZE5ZtcH0w07Qb3gGOnRnb06Nd3+U3prhBnXAoz9hPHXBUbG31mMKsBb4cWg0wij91gn\n         4NHABIjN/YyU2GiQQA415YcupSxH56rIgOpIerroS3E51MiP05LRYGwOqiEl8YDSx1FH\n         329LyWd10ZC7jP9bf8oxu6UGrfnW1F0MY9Z+3XC3Evp2WKk+mvFGmQiCPR0dSjfH20go\n         vdeA==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/jDL5z50T3OR2Nhh3tbQN4AwQrp7Zqjm6zrjIfkLQ4SBGCxl++/6YOtoVDAc39oMhOzjy3g5bhOQI=@vger.kernel.org","X-Gm-Message-State":"AOJu0YycdK8a/wykefe+1I9Qh96PkKD1OpIoRLsa0kooejhRlcbxgQcc\n\trz0sBYOgMZ+w8CSXNnigiG3sOgeP8GSxVvtg6PXLv/DcxRsSppIEpEqoCzZ8F8AqwI4=","X-Gm-Gg":"AeBDiesyvAkJtSzVLMU8ralTwaTRStOZdN8vfO4drhwRhYiQ31SvHznHX/XDFVUNoqJ\n\tC/jxDBs7PsBbBh7AX2XZAoKvMxSbahcGrYbLgY/bqv0tulWEPe8yOHC886e6q/Husq4aq6u5gbn\n\tCYkTYAaxfSz5AdE9Jf7fwdEo2f0c23gG4K22683mDuy7qgNp/Xkitg4NZN/Z1LbVTdlw3h22Xgu\n\tHKBCy6cKj0R6QF0LjFh5XYLUojv982hjRRZWcyDzs3kNldb/0xZcmJejUR9aG8WySSDkDOZubxd\n\telE77a8qSbIQaIZNqk1SsXcb6oKUE4cXN+Oimp9ObWnGsuVBw0RTrDOsv1HfbDff2MfDg6Tpg3z\n\tqRn1JOiFA+KUdPstQ6lWPm+5inBuFh9GUxCVRYeNSR3kC4IIoObT8FX7kyIZqrNdYNcaGz5Y+X4\n\tGDysLRive3Ik5TBNfUh36ngmuXiLdqXCkyjKSQMnaxehV4OKC7rpacfzBSnmUw","X-Received":"by 2002:a05:6214:3209:b0:8ac:ab90:d764 with SMTP id\n 6a1803df08f44-8b0281653a5mr266452836d6.48.1776716737948;\n        Mon, 20 Apr 2026 13:25:37 -0700 (PDT)","Date":"Mon, 20 Apr 2026 20:25:34 +0000","From":"Pasha Tatashin <pasha.tatashin@soleen.com>","To":"David Jeffery <djeffery@redhat.com>","Cc":"linux-kernel@vger.kernel.org, driver-core@lists.linux.dev,\n  linux-pci@vger.kernel.org, linux-scsi@vger.kernel.org,\n  Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>,  Danilo Krummrich <dakr@kernel.org>,\n Tarun Sahu <tarunsahu@google.com>,  Pasha Tatashin <tatashin@google.com>,\n\t=?utf-8?b?TWljaGHFgiBDxYJhcGnFhHNraQ==?= <mclapinski@google.com>,\n  Jordan Richards <jordanrichards@google.com>, Ewan Milne <emilne@redhat.com>,\n  John Meneghini <jmeneghi@redhat.com>, \"Lombardi,\n Maurizio\" <mlombard@redhat.com>,  Stuart Hayes <stuart.w.hayes@gmail.com>,\n Laurence Oberman <loberman@redhat.com>,\n  Bart Van Assche <bvanassche@acm.org>, Bjorn Helgaas <helgaas@kernel.org>,\n  \"Martin K . Petersen\" <martin.petersen@oracle.com>,\n John Garry <john.g.garry@oracle.com>, kexec@lists.infradead.org","Subject":"Re: [PATCH 1/5] driver core: separate function to shutdown one device","Message-ID":"<h2r2jv4g2tednrybrmkn4d2dus3oalqsk3r2q4xrbuivucefon@n6vvx5bl5cm5>","References":"<20260420152608.6244-1-djeffery@redhat.com>\n <20260420152608.6244-2-djeffery@redhat.com>","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-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260420152608.6244-2-djeffery@redhat.com>"}}]