Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp6030799ybl; Tue, 27 Aug 2019 13:20:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqxh76KlHVyFhSMsPfenzv2ptSAthSEAAACcbZ5RTdEvIysxqUtR3w5QWEBDaQR8x4vAa2Ik X-Received: by 2002:a17:90a:2e86:: with SMTP id r6mr515821pjd.67.1566937226764; Tue, 27 Aug 2019 13:20:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566937226; cv=none; d=google.com; s=arc-20160816; b=TTxR9NW7DNcKPsP4mfwMfYCSSTtl8vOUmXHvpuTmuMUCB+SI0jPsLRknvwbzzJ8Dgq bXLp6AGsm1hOgI5duwrA9cELZ1+LRDRInHvNxvWpaFwOtLlWhrN/LtdYc12cdhxzUY25 RrqJqE3UOgdZAW1zw/8C8cwgsBYzRL2BbKeELnt9wXGBM5b0BLMaIRP1jWpSMlvW09sl EZtLza+vlUQuiNOg5i9jNdWYaFJxrcmkYKCPPg5bEmoFYyihuRKRoprGKG/pIfKVp0FY RsdQB/xLDrlLC73SdzNZORPe6FzI0ld06v91GFNVSo+ufb6R6zeH4F9FU6GQ3Ns6vt1F Q6TA== 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 :in-reply-to:references:mime-version:dkim-signature; bh=S0QVObWyqubIgCNHHeovJxzsC8bOJ6hi6PsIpD8GL58=; b=UYdCcgn5ZYVX7yFY51wXV1ppkZLShifJKfyknl2qz1a2CxKUC89qgCcT2xa2IQI604 paFzGrakOCLEBk0xIGvm0r1PUpvTHvAF7oSPPb6vq3ERDuCNrkPMN4K4N73wSIpe6mWr giB8opphoxMGiSo/o0ApEh+zn3TaTeDnlO5kzmk4G0dCXjCzVD4yozZqnUr5InNWhxDS /uDcLzD60tg8KdMaqP5rbAFX+tu4Kk2iSPkDVWWg0WLlbbD52lkzN4MlLe+TCkXsVuLs bzLDUHgP7xDxD545pvmY0jCTM+H0dlsN+0h01CDMpaPQtfluXGMNPuhLg8IxePTQbSPx +mlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="PD+/urjo"; 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 7si166383pfu.82.2019.08.27.13.20.10; Tue, 27 Aug 2019 13:20:26 -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="PD+/urjo"; 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 S1731253AbfH0UTV (ORCPT + 99 others); Tue, 27 Aug 2019 16:19:21 -0400 Received: from mail-oi1-f170.google.com ([209.85.167.170]:44067 "EHLO mail-oi1-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726871AbfH0UTU (ORCPT ); Tue, 27 Aug 2019 16:19:20 -0400 Received: by mail-oi1-f170.google.com with SMTP id k22so255061oiw.11 for ; Tue, 27 Aug 2019 13:19:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=S0QVObWyqubIgCNHHeovJxzsC8bOJ6hi6PsIpD8GL58=; b=PD+/urjoly23/M85O4oRULl+rT2maWdWKkH75Cd9qMhKEn6vpbBqmCXOGsUtp/Ju7R 46obcXnQKCfF5pnv1ObMDRUOJR7UQJ+0FklmLQwoiBAi9c/z0NEFMeewYGPjQVrxRxGL g0z7U9sNHA2F+oQ3c040dfBBgR1DO1iYwa7kvwbJKNmQtx2A1BMj9X41wE+EfQgnKMBy ajP4/udBecjkaN75STOR++ubAGCUICwDH6cctwkeBfntRCk9tBBh8PqXzEsJlfl2VEi6 EpyymAcG0cTL7zf1aygXsfMjN6++kSN2kpKEfkcAemPyiz7u+UEPXzuJ2tOscm0st0+c hzOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=S0QVObWyqubIgCNHHeovJxzsC8bOJ6hi6PsIpD8GL58=; b=aiDow95JBy4U/A4ko+PKc4zObmyV2/x4ytYbG6/GLPDru990UiUJhWdbidQI113dmo U5xNzb1/YKVVZZE8qDZedpH7abH3145T7GnxQC4LECB0jq5gSD7HlZ0szD7SPniU734k 1uKzGT+22ui+BFK7Pvixp/cn2m5U20wU9u+gWSgeKTYiNKFovqq4TlOV0+qwP7SLvirL ENpcapXS1PpbYL/aS3iLHHW/6HYY6TVlyXiaGPhL7TIjJpJxpWxBY0yrtwj3yr2pI44n DDA0lMQ/3Dz/7Appnk1rF92YbRmQ6lLThUZExFpIvShe5tr+EFxRgrryCDc/mz50xgLc cRBA== X-Gm-Message-State: APjAAAUIvFD5yC1TWj1ibg+cj6EzA42dKqbJt27fon0/PLHGfFaElFeu Qsr6AITlreP6M79lzbK6VgMIosmsGkmwI4bXSeV6NA== X-Received: by 2002:aca:dc88:: with SMTP id t130mr358235oig.43.1566937159614; Tue, 27 Aug 2019 13:19:19 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Saravana Kannan Date: Tue, 27 Aug 2019 13:18:43 -0700 Message-ID: Subject: Re: 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 On Wed, Aug 21, 2019 at 11:54 PM Saravana Kannan wrote: > > 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/ Friendly reminder. -Saravana