Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp927810pxb; Wed, 6 Apr 2022 04:32:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxP6HQBL6zRQeISwOYFt+3dGKFV1BINjH/e/nPxcO1m8SJG6zjcumNqgdKuzmg4g+nHY5dK X-Received: by 2002:a17:90b:1e0e:b0:1c7:5b03:1d8b with SMTP id pg14-20020a17090b1e0e00b001c75b031d8bmr9314025pjb.121.1649244745506; Wed, 06 Apr 2022 04:32:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649244745; cv=none; d=google.com; s=arc-20160816; b=SsP/QtcRd26Fr6WueeHnZxBVMlf0aao6aOw5O13UHq0ohA9Ykvs6RkEbhD1pvCHEMN 2AYY5g7JQ8dtfj+kmbgOVCUH2mGr7HCEcGNCKybfgnPYT2XLq8P1M8Lh6pKmcJrFdGjJ s/WRW3zWcSnWHQn8dHNwf1WQ8GeSkEksVlFN7clhNqXyc5IZB63+9sCRz8z2gGleSHM3 OPLfiMADZXQQY0v7tFAlz/j7AhiwZqDBOCWm3RFslDa23nzxN1Ny9dbvPntJMWmSNHhH vXTLUhgYmyCQx/dgnqt4xNIGBtSchZYRn7CRWsm7Hdit3bsHs/db8SsFTom5dLnzzKHm +APQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=8u0j6s/bnO1ru96ZH1GkIYKuWp6uTK4JpdnHlGfuDhA=; b=FHqunaX8TM9q7oRjZfcNs+6pnb7xmcRfiUqgWYb6i4VzLavmaN4WEVPtrWZ4I8DSWE iVPHFqrsmr1SssLKlU9yHhys5oLx/oZ5FVrvWbhNFrpFW7XoVVBjchlmoSAdBzLJMvcA VbAn76m98sDhU2lpNJtAbReTKLV2rLw2zHujqsmfL37yYnCH/9ej6Nqfa6/HC2ZZtMXb ZimD7ko2pthJPdc+Z8M8pQgooBFVRGf8wRMRsAOy/810RzLe8Jt9m3nOPqV/GFI5D6tH +UI7MaU8crB8kV+hLcMKRlXafmv+WunJe85dK7N6piTWuOOORVjMVvmRVFj5n/FbbNkW OOug== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id w1-20020a63f501000000b003816043eeb9si15733847pgh.174.2022.04.06.04.32.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 04:32:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E45BC4E7DA4; Wed, 6 Apr 2022 02:55:00 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354786AbiDEUji (ORCPT + 99 others); Tue, 5 Apr 2022 16:39:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1451590AbiDEPxg (ORCPT ); Tue, 5 Apr 2022 11:53:36 -0400 Received: from mail-oa1-f48.google.com (mail-oa1-f48.google.com [209.85.160.48]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA0ED1C8A9E; Tue, 5 Apr 2022 07:47:22 -0700 (PDT) Received: by mail-oa1-f48.google.com with SMTP id 586e51a60fabf-ddfa38f1c1so14589337fac.11; Tue, 05 Apr 2022 07:47:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=8u0j6s/bnO1ru96ZH1GkIYKuWp6uTK4JpdnHlGfuDhA=; b=CgnYOJhe9CIGcUbeahSe6iJ1U18lacubNo40QlQBzUV7bghD7Cdit1/i68D2p6ocO7 jFSTerVt0PZPxAIngnibhIe+jK8xedWID6pWbnR61RBj8LHKN80KEm7YrRhUP1TAjFAj vTz192f/akBC8A7K6ZXzSJCtls7nU6k+pI3ZQ33b5uxG2v+vC5sNmhK40bVocwULmMaM Hcc19osQjQbhfMlV70eoYOR6uSsFX7olHs2dl5uc9n2tCoUUsL/t+LBVl+UlsmmHDEZr 4Xaa5xxsIxzKTkJ1OynZK/99JpmZBCRe2XQyWi3IBY5JuNWMSQ/M5Pud2ZZu9LW6mKuN 1ZBA== X-Gm-Message-State: AOAM532TsKUa16iU0g4eF9oo7TaT4n7m9oYHj25EihvaO9oNHORCCYSh DzB/lHgvJi2Sz2GTvFouaA== X-Received: by 2002:a05:6871:99:b0:d6:ac91:d53c with SMTP id u25-20020a056871009900b000d6ac91d53cmr1673287oaa.10.1649170041832; Tue, 05 Apr 2022 07:47:21 -0700 (PDT) Received: from robh.at.kernel.org (66-90-144-107.dyn.grandenetworks.net. [66.90.144.107]) by smtp.gmail.com with ESMTPSA id a6-20020a9d4706000000b005cdff2d400bsm5740767otf.24.2022.04.05.07.47.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Apr 2022 07:47:21 -0700 (PDT) Received: (nullmailer pid 3259938 invoked by uid 1000); Tue, 05 Apr 2022 14:47:20 -0000 Date: Tue, 5 Apr 2022 09:47:20 -0500 From: Rob Herring To: =?iso-8859-1?Q?Cl=E9ment_L=E9ger?= , Lizhi Hou , Sonal Santan Cc: Philipp Zabel , Frank Rowand , Lars Povlsen , Steen Hegelund , UNGLinuxDriver@microchip.com, Thomas Petazzoni , Alexandre Belloni , Allan Nielsen , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Stefano Stabellini Subject: Re: [PATCH v2 0/3] add fwnode support to reset subsystem Message-ID: References: <20220324141237.297207-1-clement.leger@bootlin.com> <20220405092434.6e424ed4@fixe.home> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220405092434.6e424ed4@fixe.home> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org + some Xilinx folks On Tue, Apr 05, 2022 at 09:24:34AM +0200, Cl?ment L?ger wrote: > Le Mon, 4 Apr 2022 12:41:37 -0500, > Rob Herring a ?crit : > > > On Thu, Mar 24, 2022 at 03:12:34PM +0100, Cl?ment L?ger wrote: > > > This series is part of a larger series which aims at adding fwnode > > > support in multiple subsystems [1]. The goal of this series was to > > > add support for software node in various subsystem but in a first > > > time only the fwnode support had gained consensus and will be added > > > to multiple subsystems. > > > > The goal is describing a solution. What is the problem? > > > > What's the scenario where you have a reset provider not described by > > firmware providing resets to devices (consumers) also not described by > > firmware. > > Hi Rob, there was a link attached to this series since there was a > previous one that was sent which described the problem. Here is a link > to the same thread but to a specific message which clarifies the > problem and the solutions that were mentionned by other maintainers > (ACPI overlays, DT overlays, software nodes and so on): > > https://lore.kernel.org/netdev/20220224154040.2633a4e4@fixe.home/ Thanks, but your commit message should explain the problem. The problem is not subsystems don't support fwnode. This is the exact same problem the Xilinx folks are trying to solve with their PCIe FPGA cards[1] (and that is not really a v1). They need to describe h/w downstream from a 'discoverable' device. Their case is further complicated with the dynamic nature of FPGAs. It's also not just PCIe. Another usecase is describing downstream devices on USB FTDI serial chips which can have GPIO, I2C, SPI downstream. And then you want to plug in 10 of those. I don't think swnodes are going to scale for these usecases. We moved h/w description out of the kernel for a reason. Why are we adding that back in a new form? The complexity for what folks want to describe is only going to increase. I think DT overlays is the right (or only) solution here. Of course the DT maintainer would say that. Actually, I would be happier to not have to support overlays in the kernel. I've told the Xilinx folks the same thing, but I would separate this into 2 parts. First is just h/w work in a DT based system. Second is creating a base tree an overlay can be applied to. The first part should be pretty straightforward. We already have PCI bus bindings. The only tricky part is getting address translation working from leaf device thru the PCI bus to host bus, but support for that should all be in place (given we support ISA buses off of PCI bus). The second part will require generating PCI DT nodes at runtime. That may be needed for both DT and ACPI systems as we don't always describe all the PCI hierarchy in DT. That could work either by the PCI subsystem creating nodes as it populates devices or your driver could make a request to populate nodes for its hierarchy. That's not a hard problem to solve. That's what OpenFirmware implementations do already. Rob https://lore.kernel.org/lkml/20220216050056.311496-1-lizhi.hou@xilinx.com/