Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp304694imm; Mon, 9 Jul 2018 01:59:37 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfi/BrJpvUuJVor1oTx00yZ0Z1XlG34N1g7c7FOZ/nmgPdIOBW6LFjQTwfXY7EgU1KxLJi2 X-Received: by 2002:a17:902:5a0c:: with SMTP id q12-v6mr19519823pli.300.1531126777079; Mon, 09 Jul 2018 01:59:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531126777; cv=none; d=google.com; s=arc-20160816; b=Jt32thRzGTUbH0r8JFd2XLXjgCey9eHurVjxk3Dqd2ygK2vO/X7ue7N57DcNKSRcfg QvPvXZF0k4ktZZFF3bSnRAm6RPysSYTU53fBPsYh0+sXZE8NBovSicjaDc2FUu4PKGqV sysjsBBUV25S95W6RDEcsmg6453RBS+b3YbWamqUo+hGePL5qgWL1BG037CPdg5Bq4Q+ NmlPD5ScZHfMnCFcElROmkb2kiQ0XXq1wt+lKgq4cgLwshnsFzBlcS7ZaOGbbJSdun7d UjpKPBlKoRiSJtKqCrt4LQJrj6QrTjxy3msuptPWRfP1D3MasQNbv30Iv17m5x6FcwWy U95g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=VTy8vICghECqfcbn7Gda10IJWciTtUhK+dQZzvTMA3s=; b=tW1+UfqQQ3wviKGPbx/f+mJrtVS274haXp/L/7hOpD//GQqW+aO9G+Up/AVDesy+7Z 8gkNTKIs9l82d/rB+P0z/fC2KE/HjyAHt54vUG7A7t79HWPIRWNTGIkCH0hpJPwJSrIW wSZWWnnQyo0PHHd9ZXXpmc+ggJnyHarfEGSSBoOVkkBkdiE06/AoOx2rmo5eEkUFJDx6 MCiwKbhVN+BMDbbjvxd/3E+IpNjmpIysgYirQwYLCyBHbiIFNUlhLb6hQHEv/lZ0HLOL k7uIpJxTcpFq8rap49M1MbbSs4EvKnuko/Ln++3HmqQf9/rja+S1ULts2q2cA7pD3yrU cH+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=oM0yxqzt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j3-v6si15036737pfg.306.2018.07.09.01.59.22; Mon, 09 Jul 2018 01:59:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=oM0yxqzt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932583AbeGII6R (ORCPT + 99 others); Mon, 9 Jul 2018 04:58:17 -0400 Received: from mail-oi0-f66.google.com ([209.85.218.66]:46235 "EHLO mail-oi0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932278AbeGII6O (ORCPT ); Mon, 9 Jul 2018 04:58:14 -0400 Received: by mail-oi0-f66.google.com with SMTP id y207-v6so34452953oie.13; Mon, 09 Jul 2018 01:58:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=VTy8vICghECqfcbn7Gda10IJWciTtUhK+dQZzvTMA3s=; b=oM0yxqztg5U3H9CmeteJT1uyg9otVqkpsP8f0SGnWLZo7R3vR+Ei8o7lnwe01WxAae cOGU6PSnXhBbQsQy9LDQnjh4MCK5fQ9SCG+GAs7NWdXBp22tdteqiyW/OHuOls8/Ao5q 2G03xN0PEF/Xa3Zsff3lanIcMZqZG3fKGASDtQ9afibGNhq0EEgFvO18FwgqGsZzcTKo nflG8ZivH+zkqdODf5vgZqboqYUe/CE4MaRR4wDsTLDrkQBv2laKP0j6tgtxmhXg3wpJ H7D7mtZlNS7e/kfgqH2elSJ7lydF0/3YkZ8MWjXgof2um4P4AtHGJS4a4WqWq8BT0Qtu 9ZbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=VTy8vICghECqfcbn7Gda10IJWciTtUhK+dQZzvTMA3s=; b=rKgNseZdxPhsRLoPOq6tigASeqHPDCXD95H/LNiV23jK1SohTIpYW3nRANgI1rSRCn 0a6tfffFTxHVSPoTjIH32iNicv8mrGSy9YU2hBttzA4XLuOa5o1YeqPtTHczFOyOlq3g EZ74AO3WvFVy3dTiiyvJ6ip2114w4Mx+CNfmRoEJ+1+LGOdDINnhbRXWoZa6x3qhCXbV uTrPhPzg/FQaf2DFnyqqDz71ZwaEp5fzRVrOZnbbMhvqogZ2xZQH/TIhrk2gP29mVRd6 HqJeWMaGrRBSOy2Ivaant5057M2wnIrOZSXXGf11ProVeioFUophaye+AJzNz6Qq5xF/ DYMw== X-Gm-Message-State: APt69E0eOWHkoBZeRU4NRZWW9VWHLD+AX6IAyMdgCo4ilpXKYsm2htWO QpoZ+Wai0v1pBYonBGipHWiMgLjOh6pAzVuxuwA= X-Received: by 2002:aca:5b0b:: with SMTP id p11-v6mr23821881oib.116.1531126693872; Mon, 09 Jul 2018 01:58:13 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:63d2:0:0:0:0:0 with HTTP; Mon, 9 Jul 2018 01:58:13 -0700 (PDT) In-Reply-To: References: <1530600642-25090-1-git-send-email-kernelfans@gmail.com> <4685360.VNmeYLh0dQ@aspire.rjw.lan> <6281446.GoJLz6Hq6C@aspire.rjw.lan> <20180706083603.GA9063@wunner.de> From: "Rafael J. Wysocki" Date: Mon, 9 Jul 2018 10:58:13 +0200 X-Google-Sender-Auth: IKExnHo0oP9LxlpHRhZjm8nsYkw Message-ID: Subject: Re: [PATCHv3 0/4] drivers/base: bugfix for supplier<-consumer ordering in device_kset To: Pingfan Liu Cc: Rafael Wysocki , Lukas Wunner , Linux Kernel Mailing List , Greg Kroah-Hartman , Grygorii Strashko , Christoph Hellwig , Bjorn Helgaas , Dave Young , Linux PCI , linuxppc-dev , Linux PM , Kishon Vijay Abraham I Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 9, 2018 at 10:40 AM, Pingfan Liu wrote: > On Mon, Jul 9, 2018 at 3:48 PM Rafael J. Wysocki wrote: >> >> On Mon, Jul 9, 2018 at 8:48 AM, Pingfan Liu wrote: >> > On Sun, Jul 8, 2018 at 4:25 PM Rafael J. Wysocki wrote: [cut] >> >> I simply think that there should be one way to iterate over devices >> for both system-wide PM and shutdown. >> >> The reason why it is not like that today is because of the development >> history, but if it doesn't work and we want to fix it, let's just >> consolidate all of that. >> >> Now, system-wide suspend resume sometimes iterates the list in the >> reverse order which would be hard without having a list, wouldn't it? >> > Yes, it would be hard without having a list. I just thought to use > device tree info to build up a shadowed list, and rebuild the list > until there is new device_link_add() operation. For > device_add/_remove(), it can modify the shadowed list directly. Right, and that's the idea of dpm_list, generally speaking: It represents one of the (possibly many) orders in which devices can be suspended (or shut down) based on the information coming from the device hierarchy and device links. So it appears straightforward (even though it may be complicated because of the build-time dependencies) to start using dpm_list for shutdown too - and to ensure that it is properly maintained everywhere. Thanks, Rafael