Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp514810ybl; Thu, 22 Aug 2019 00:12:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqwE+B5Tp+rdH/8pP7Kr08gPgTGANVMCHcSrFSU1/Vm9t57FA6MhohLCVHWwNkYob5bJpfrJ X-Received: by 2002:a17:902:6a84:: with SMTP id n4mr38129221plk.109.1566457965361; Thu, 22 Aug 2019 00:12:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566457965; cv=none; d=google.com; s=arc-20160816; b=Ttju9sJ5pVxzf1xXerW6tc8DQQVL5UeB33oNvcAPfhn8zdeVHPcjphuDIv7JuSDAjQ Mcfdrq5epg8A4bCJcap6EwbHAGx78agZLzu/Q9GmgAryn97jv5WRaJQLZE2B4WsNpwGB buSv/wB9tb2GoVtIzNAzxi7jftm+eSjnJ1j3j6pGIkBS/EDfrv19kHyz+nshoBks2adg x7IsOg9HoZEDbxhP5wfKu9w+pmtXR0hrGbSqF7FlkgJTppq2oJsf2M4NrJL3rT9view2 ikRg+lY6lkL9i1ouwZ1Ea7fbXnhzn0fNZum/AKVCku9BNzcb5U+IeZIjrQHprLg7d8fr cwXA== 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 :mime-version:dkim-signature; bh=wGjwZaiHKgNAjthbyA6/Ig/piBsbiLnPz4lWq180/QQ=; b=MZUP4f3w8BPAhfUuAmd4NCH0br/oKJuYEq8JQKshm81dDd5xy/x1KyYcooHToKTeX/ b7EAdKWPOxkQIOEntlnwxaodBl7uMXXifDeRyUgcuJsWsMYHTK49Hwku1UXYkHTyDdgV h8P/95Hrb8+TrMmv7HBhV1j17oHZwIrvUPgwvP3ulXVEBxvnoBlR+FTpL4ReP4ToD1pP lTmIOSjt9YTLxAGUl+daBm5QR4wnMzdsfmDSbrb1EjINO6yXrO7gPNTEK2aHYoVkoj9x 6SeNMhhVghXtVeXs2p9plmCcN8bgXuVSoJdDIB/1gNsZ3Vf6jHo8D3ZpF1RwKX5tskZV Ps7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=UxLNyw2m; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l35si17052625plb.322.2019.08.22.00.12.30; Thu, 22 Aug 2019 00:12:45 -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=pass header.i=@google.com header.s=20161025 header.b=UxLNyw2m; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730838AbfHVGzd (ORCPT + 99 others); Thu, 22 Aug 2019 02:55:33 -0400 Received: from mail-ot1-f54.google.com ([209.85.210.54]:42705 "EHLO mail-ot1-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730257AbfHVGzd (ORCPT ); Thu, 22 Aug 2019 02:55:33 -0400 Received: by mail-ot1-f54.google.com with SMTP id j7so4498284ota.9 for ; Wed, 21 Aug 2019 23:55:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=wGjwZaiHKgNAjthbyA6/Ig/piBsbiLnPz4lWq180/QQ=; b=UxLNyw2mvZO6h2o2qOJ+/NNQHsFwSSMywdsoqCzar+74gxc+J3zM0TjZkAI5mi5FPa MLhPdxOIjEej6Mx1Nx5K4hGIP+asFxvT7acNrKVN1h0F4ubmswe4bWf7282DBPBMBwLv URCjCuBz/Wkr7Qaa1Sow8RCzkYzf6K7TiuPzWpj4EYirmfDzgJAKQZ6L8YPtkL9ZwI55 MneM8loMvWSkY0+1YqNz5eyWN+CI4g4ortxszhAWtTbBjZMuEIh+uh0L/pBZ8Ajncrn7 vVvyhyOzAMrAkQ+CzHf/CMkp4AimPNZnJCBuPVxAicVDiNikG9D/d4ZeqhfS3JjOwQry osrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=wGjwZaiHKgNAjthbyA6/Ig/piBsbiLnPz4lWq180/QQ=; b=kc4q9m5GfYqWjwoEsJEBG/QnFzph2rpgskCFkOe0zD7uw47YpR/1KlOqDyE39IjGbW mtlyVcOokMCI9XzzTG8/i8ZNNsJBXnvlOBGL01BXiitDXWEiXHkTA+3r1v4vo5TMmCXo rA6x4gj5zrCQAB/ihVfo+53NnhL/OCPlBUocx/+oAYH8Q8CYj1rITVXscXJ417VO+dxg UPf2wnGKVb3me9DriY3JUt8gbJFkKcy76twJ4ygVHjV43YfNwxeHkOq3M1G6we7igofU SxP08CaUQFgKS6AJ23medhf53I0dW5fEYsWmr99GugzDaZGZ+Zpre6TwXzNYBxVRbUtZ ECnA== X-Gm-Message-State: APjAAAXXlaVcDLFheghPy1CZl0G7OCIe5AGGKAbDlzj/L2IfMx9UoniN eff0LHga++JJiPkSt+PVy9R/RLiqMT80AFVuTfc+OA== X-Received: by 2002:a9d:6b1a:: with SMTP id g26mr11704743otp.195.1566456932065; Wed, 21 Aug 2019 23:55:32 -0700 (PDT) MIME-Version: 1.0 From: Saravana Kannan Date: Wed, 21 Aug 2019 23:54:55 -0700 Message-ID: Subject: Adding depends-on DT binding to break cyclic dependencies To: Rob Herring , Mark Rutland , Greg Kroah-Hartman , Frank Rowand Cc: "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , LKML , Android Kernel Team 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 Hi Rob, Frank, Greg and I got together during ELC and had an extensive and very productive discussion about my "postboot supplier state cleanup" patch series [1]. The three of us are on the same page now -- the series as it stands is the direction we want to go in, with some minor refactoring, documentation and naming changes. However, one of the things Frank is concerned about (and Greg and I agree) in the current patch series is that the "cyclic dependency breaking" logic has been pushed off to individual drivers using the edit_links() callback. The concern being, there are going to be multiple device specific ad hoc implementations to break a cyclic dependency. Also, if a device can be part of a cyclic dependency, the driver for that device has to check for specific system/products in which the device is part of a cyclic dependency (because it might not always be part of a cycle), and then potentially have cycle/product specific code to break the cycle (since the cycle can be different on each system/product). One way to avoid all of the device/driver specific code and simplify my patch series by a non-trivial amount would be by adding a "depends-on" DT binding that can ONLY be used to break cycles. We can document it as such and reject any attempts to use it for other purposes. When a depends-on property is present in a device node, that specific device's supplier list will be parsed ONLY from the depends-on property and the other properties won't be parsed for deriving dependency information for that device. Frank, Greg and I like this usage model for a new depends-on DT binding. Is this something you'd be willing to accept? Thanks, Saravana [1] - https://lore.kernel.org/lkml/20190731221721.187713-1-saravanak@google.com/