All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Stephen Boyd <swboyd@chromium.org>
Cc: Doug Anderson <dianders@chromium.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Konrad Dybcio <konrad.dybcio@somainline.org>,
	kgodara@codeaurora.org, Matthias Kaehlcke <mka@chromium.org>,
	Sibi Sankar <sibis@codeaurora.org>,
	Prasad Malisetty <pmaliset@codeaurora.org>,
	quic_rjendra@quicinc.com, Andy Gross <agross@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 5/5] arm64: dts: qcom: sc7280: Add herobrine-r1
Date: Mon, 31 Jan 2022 10:41:47 -0600	[thread overview]
Message-ID: <YfgRS/UtRn6Ewwhj@builder.lan> (raw)
In-Reply-To: <CAE-0n50sX9-0MxcpF+3Rwqm75jSw5=aNwdsitLwE2sEA69jLJw@mail.gmail.com>

On Thu 27 Jan 15:16 CST 2022, Stephen Boyd wrote:

> Quoting Bjorn Andersson (2022-01-25 19:01:31)
> > On Tue 25 Jan 15:46 PST 2022, Doug Anderson wrote:
> >
> > > Hi,
> > >
> > > On Tue, Jan 25, 2022 at 2:58 PM Stephen Boyd <swboyd@chromium.org> wrote:
> > > >
> > > > Quoting Douglas Anderson (2022-01-25 14:44:22)
> > > > > diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts
> > > > > new file mode 100644
> > > > > index 000000000000..f95273052da0
> > > > > --- /dev/null
> > > > > +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts
> > > > > @@ -0,0 +1,313 @@
> > > > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > > > +/*
> > > > > + * Google Herobrine board device tree source
> > > > > + *
> > > > > + * Copyright 2022 Google LLC.
> > > > > + */
> > > > > +
> > > > > +/dts-v1/;
> > > > > +
> > > > > +#include "sc7280-herobrine.dtsi"
> > > > > +
> > > > > +/ {
> > > > > +       model = "Google Herobrine (rev1+)";
> > > > > +       compatible = "google,herobrine", "qcom,sc7280";
> > > >
> > > > Can we stop adding "qcom,sc7280" to the board compatible string? It
> > > > looks out of place. It's the compatible for the SoC and should really be
> > > > the compatible for the /soc node.
> > >
> > > I don't have any objections, but I feel like this is the type of thing
> > > I'd like Bjorn to have the final say on. What say you, Bjorn?
> > >
> >
> > One practical case I can think of right away, where this matters is in
> > cpufreq-dt-plat.c where we blocklist qcom,sc7280.
> >
> > I don't know if we rely on this in any other places, but I'm not keen on
> > seeing a bunch of board-specific compatibles sprinkled throughout the
> > implementation - it's annoying enough having to add each platform to
> > these drivers.
> 
> Looking at sc7180, grep only shows cpufreq-dt-plat.c
> 

Good, then we handle all other platform specifics in drivers using
platform-specific compatibles.

>  $ git grep qcom,sc7180\" -- drivers
>  drivers/cpufreq/cpufreq-dt-platdev.c:   { .compatible = "qcom,sc7180", },
> 
> Simplest solution would be to look at / and /soc for a compatible
> string.
> 

You mean that / would contain the device's compatible and /soc the soc's
compatible? I'm afraid I don't see how this would help you - you still
need the compatible in the dts, just now in two places.


Either we leave it as is - which follows my interpretation of what the DT
spec says - or we (and the DT maitainers) agree that it shouldn't be
there (because this dtb won't run on any random qcom,sc7180 anyways) at
all.

Regards,
Bjorn

>  $ git grep -W 'soc[^:]*{' -- arch/arm*/boot/dts/ | grep compatible |
> grep -v "simple-bus"
> 
> doesn't show many hits. The first hit is "ti,omap-infra" which is
> actually inside an soc node, but even then I don't see anything that
> matches the cpufreq-dt-plat.c lists.
> 
> ----8<-----
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c
> b/drivers/cpufreq/cpufreq-dt-platdev.c
> index ca1d103ec449..32bfe453f8b4 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -179,25 +179,29 @@ static bool __init cpu0_node_has_opp_v2_prop(void)
>  static int __init cpufreq_dt_platdev_init(void)
>  {
>  	struct device_node *np = of_find_node_by_path("/");
> +	struct device_node *soc_np = of_find_node_by_path("/soc");
>  	const struct of_device_id *match;
>  	const void *data = NULL;
> 
> -	if (!np)
> +	if (!np && !soc_np)
>  		return -ENODEV;
> 
>  	match = of_match_node(allowlist, np);
> -	if (match) {
> +	if (match || (match = of_match_node(allowlist, soc_np))) {
>  		data = match->data;
>  		goto create_pdev;
>  	}
> 
> -	if (cpu0_node_has_opp_v2_prop() && !of_match_node(blocklist, np))
> +	if (cpu0_node_has_opp_v2_prop() && !of_match_node(blocklist, np) &&
> +	    !of_match_node(blocklist, soc_np))
>  		goto create_pdev;
> 
> +	of_node_put(soc_np);
>  	of_node_put(np);
>  	return -ENODEV;
> 
>  create_pdev:
> +	of_node_put(soc_np);
>  	of_node_put(np);
>  	return PTR_ERR_OR_ZERO(platform_device_register_data(NULL, "cpufreq-dt",
>  			       -1, data,

  reply	other threads:[~2022-01-31 16:41 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-25 22:44 [PATCH v2 0/5] arm64: dts: qcom: sc7280: Introduce herobrine-rev1 Douglas Anderson
2022-01-25 22:44 ` [PATCH v2 1/5] arm64: dts: qcom: sc7280: Fix gmu unit address Douglas Anderson
2022-02-01  7:27   ` Akhil P Oommen
2022-01-25 22:44 ` [PATCH v2 2/5] arm64: dts: qcom: sc7280: Move herobrine-r0 to its own dts Douglas Anderson
2022-01-25 22:44 ` [PATCH v2 3/5] arm64: dts: qcom: sc7280: Factor out Chrome common fragment Douglas Anderson
2022-02-01  5:19   ` (subset) " Bjorn Andersson
2022-01-25 22:44 ` [PATCH v2 4/5] arm64: dts: qcom: sc7280: Factor gpio.h include to sc7280.dtsi Douglas Anderson
2022-01-25 22:54   ` Stephen Boyd
2022-01-25 22:44 ` [PATCH v2 5/5] arm64: dts: qcom: sc7280: Add herobrine-r1 Douglas Anderson
2022-01-25 22:58   ` Stephen Boyd
2022-01-25 23:46     ` Doug Anderson
2022-01-26  3:01       ` Bjorn Andersson
2022-01-27 21:16         ` Stephen Boyd
2022-01-31 16:41           ` Bjorn Andersson [this message]
2022-01-31 16:50             ` Doug Anderson
2022-02-01  1:01               ` Doug Anderson
2022-02-02 21:32                 ` Doug Anderson
2022-02-03 21:55             ` Stephen Boyd
2022-01-31 16:44           ` Doug Anderson
2022-02-03 21:50             ` Stephen Boyd
2022-01-31 18:24 ` (subset) [PATCH v2 0/5] arm64: dts: qcom: sc7280: Introduce herobrine-rev1 Bjorn Andersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YfgRS/UtRn6Ewwhj@builder.lan \
    --to=bjorn.andersson@linaro.org \
    --cc=agross@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=kgodara@codeaurora.org \
    --cc=konrad.dybcio@somainline.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mka@chromium.org \
    --cc=pmaliset@codeaurora.org \
    --cc=quic_rjendra@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=sibis@codeaurora.org \
    --cc=swboyd@chromium.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.