From patchwork Tue Aug 31 10:21:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 504653 Delivered-To: patches@linaro.org Received: by 2002:a02:8629:0:0:0:0:0 with SMTP id e38csp2636419jai; Tue, 31 Aug 2021 03:21:45 -0700 (PDT) X-Received: by 2002:a2e:6808:: with SMTP id c8mr24855772lja.70.1630405305448; Tue, 31 Aug 2021 03:21:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630405305; cv=none; d=google.com; s=arc-20160816; b=BYzi5ZD/7E0ctdAO5aWyQ5099EraQgts48oOgZVuSE7ca6MwsfYOeBE6bDU67uQN4L WgsPWS/N/gitC0jXzmKMQP1In6XSD2WWi983TYCRioHw1+tL47Ll0Q5HOZjEaaFemcNK enLsSXipsZ93LOql9d8wTtvGc3kF68GhqWe6CaTtIWSbOS8WCZCmpKbx9Y7qasuUtnk4 MzN18b4+SldcZqlDfmuFm0XHBdrDT0Ah3frtBUtNO62YoaQrLqUQ+naSstgZyefhGFtu TqgKwbkRMhP/yWJ+4o45pZAy5qRTV4TbUnZLMZBrsAlHBtLhdj7jHxzZDDJGQCv8hiGG qvrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=wQ8kS/+bTV4avdS2tU6jC3f6zz+Ryry/9cKDRK1gufo=; b=K/YhUaKGX04+I8k6q43beXJFCC2nFjPm2AkrJcEb85utwWrOiSxIWXgwSWj9INzuxe fzugQnbUyztATwK1doIl6LOS+mOX0fItqteXkLAJrGaK9L6urfY/tj7sYt/y8FRLyK5P N7kPk/uXyIkcBY12eJ4va+EfOKMuUNhrrLbigc0Ss3CYrod1rizZDV0eZMMANZl/fq7f bqVj0kBcMggO39SotsnccL6w9GrrHzYQkFYobfrOE/+k3pHyt5rBT4T/Wz8fhDz6HmiE KNE491XqQYoGzcd4sFly5LMrIhj/2Y//cFg7FZUt927HreWNazZ8f0mGt1zpKDkvO+jR 9spw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jiP1wMEE; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.41 as permitted sender) smtp.mailfrom=ulf.hansson@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id q12sor7261409lji.21.2021.08.31.03.21.45 for (Google Transport Security); Tue, 31 Aug 2021 03:21:45 -0700 (PDT) Received-SPF: pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jiP1wMEE; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.41 as permitted sender) smtp.mailfrom=ulf.hansson@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=wQ8kS/+bTV4avdS2tU6jC3f6zz+Ryry/9cKDRK1gufo=; b=jiP1wMEEvsgc3n7vYx1ledvZpCZkUX5FcfCU/d4NmQ10imEb+nTwuV7AvPQyuAhzpe YsP/UU3DHPPh2i10yLbc78f5nCMLrerGJ6O5w2qQxXo1os1R5iEn/nQbRPHBGoAOHkXS 1aGLp5y3Z3p+M9xTR3mVec6Ve/Wj+o+zBAE2jyiAeEhGtBnmOfK3J7BHgoO9AKlkFMG8 XHtHiuMg1cbBY5AtMl5rgl7rqbMvAu7ThdDV0Pq3/ED5GoRF4shP/c5KQGW9yKirDnmq d2LCC2MTmPF6h0Symi6YMYf/1TDJKL/EaXJSAYRhHwpoTPEraIaRvdsHZ1cUt089Z39h /jrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=wQ8kS/+bTV4avdS2tU6jC3f6zz+Ryry/9cKDRK1gufo=; b=NUvGvkjUeeA/f6stBqvtaZghjpRfAqgV35ZfhOoh4CUegoWNLPjN4eDrAu/locoGXH VRLHXg88OJ/bV8VoXoBbq0PtiHFugaHpmm/4G+e71M9CwB8Ofp4+kGt4ORdTbJW1Zw6d XAimV9rh1EHknJ4gtYoacxbx7t/rIZvhm1+EUs837Brek1fcGkOfrml5p9TuDzrNsuUm cb8LIRGToaKOrOuBrQMJRE48ZzvWKShfwU2qGJF2M3x2SzoHUEPTAiS9fLLSUgh5vT0s hrb9Iy3PwuKa1Dx0J8zQ1FI03+tHRhPL9X6O6CAmDbwzoon6tnZfuT3LSgY0BB+sSjbf WEGw== X-Gm-Message-State: AOAM530eFDsVtyMoS7P26R0C5CTULcmz8ulgoAl2UK4aWpN7fpXoHYYP R6An63jqJMW3UZ1OPlH2KjjOnTgm X-Google-Smtp-Source: ABdhPJyfAO80CqzIGBt9m8D2PiuI5w5PJosyAgh/JmPeY8WX1k4mcSvpAtqPgpVYTTOGtXaXZQRtog== X-Received: by 2002:a05:651c:2ca:: with SMTP id f10mr24621298ljo.211.1630405305074; Tue, 31 Aug 2021 03:21:45 -0700 (PDT) Return-Path: Received: from localhost.localdomain (h-155-4-129-146.NA.cust.bahnhof.se. [155.4.129.146]) by smtp.gmail.com with ESMTPSA id d13sm1687864lfk.232.2021.08.31.03.21.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Aug 2021 03:21:44 -0700 (PDT) From: Ulf Hansson To: Saravana Kannan , Rob Herring , devicetree@vger.kernel.org Cc: "Rafael J . Wysocki" , Stephen Boyd , Dmitry Osipenko , Ulf Hansson , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 2/2] of: property: fw_devlink: Set 'optional_con_dev' for parse_power_domains Date: Tue, 31 Aug 2021 12:21:41 +0200 Message-Id: <20210831102141.624725-1-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 The power-domain DT bindings [1] doesn't enforce a compatible string for a provider node, even if this is common to use. In particular, when describing a hierarchy with parent/child power-domains, as the psci DT bindings [2] for example, it's sometimes not applicable to use a compatible string. Therefore, let's set the 'optional_con_dev' to true to avoid creating incorrect fw_devlinks for power-domains. [1] Documentation/devicetree/bindings/power/power-domain.yaml [2] Documentation/devicetree/bindings/arm/psci.yaml Signed-off-by: Ulf Hansson --- Some more details of what goes on here. I have added a debug print in of_link_to_phandle() to see the fw_devlinks that gets created. This is what happens on Dragonboard 410c when 'optional_con_dev' isn't set: ... [ 0.041274] device: 'psci': device_add [ 0.041366] OF: Linking power-domain-cpu0 (consumer) to psci (supplier) [ 0.041395] OF: Linking power-domain-cpu1 (consumer) to psci (supplier) [ 0.041423] OF: Linking power-domain-cpu2 (consumer) to psci (supplier) [ 0.041451] OF: Linking power-domain-cpu3 (consumer) to psci (supplier) [ 0.041494] device: 'platform:psci--platform:psci': device_add [ 0.041556] platform psci: Linked as a sync state only consumer to psci ... This is what happens on Dragonboard 410c when 'optional_con_dev' is set: ... [ 0.041179] device: 'psci': device_add [ 0.041265] OF: Not linking psci to psci - is descendant [ 0.041293] OF: Not linking psci to psci - is descendant [ 0.041319] OF: Not linking psci to psci - is descendant [ 0.041346] OF: Not linking psci to psci - is descendant ... The relevant dtsi file: arch/arm64/boot/dts/qcom/msm8916.dtsi Kind regards Ulf Hansson --- drivers/of/property.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.25.1 diff --git a/drivers/of/property.c b/drivers/of/property.c index 2babb1807228..4d607fdbea24 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -1356,7 +1356,7 @@ static const struct supplier_bindings of_supplier_bindings[] = { { .parse_prop = parse_io_channels, }, { .parse_prop = parse_interrupt_parent, }, { .parse_prop = parse_dmas, .optional = true, }, - { .parse_prop = parse_power_domains, }, + { .parse_prop = parse_power_domains, .optional_con_dev = true, }, { .parse_prop = parse_hwlocks, }, { .parse_prop = parse_extcon, }, { .parse_prop = parse_nvmem_cells, },