All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Andy Gross <agross-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
	Krzysztof Kozlowski
	<k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
	Srinivas Kandagatla
	<srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 1/4] mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
Date: Tue, 3 Mar 2015 08:02:51 -0800	[thread overview]
Message-ID: <20150303160250.GD26334@sonymobile.com> (raw)
In-Reply-To: <20150303124700.GN21293-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>

On Tue 03 Mar 04:47 PST 2015, Mark Brown wrote:

> On Mon, Mar 02, 2015 at 08:25:37PM -0800, Bjorn Andersson wrote:
> 
> > +- compatible:
> > +	Usage: required
> > +	Value type: <string>
> > +	Definition: must be one of:
> > +		    "qcom,rpm-pm8058-regulators"
> > +		    "qcom,rpm-pm8901-regulators"
> > +		    "qcom,rpm-pm8921-regulators"
> 
> Why do these subnodes have a compatible - do they ever appear except as
> a child of a parent of the same type of device?

The relationship with the parent node is 1:M;

in the case of 8960/8064 there is only one PMIC controlled by the RPM,
hence the dt will look like:

rpm {
	compatible = "qcom,rpm-apq8960";

	regulators {
		compatible = "qcom,rpm-pm8921-regulators";
		...
	};
};

But for 8660, and later for e.g. 8974 we have something like:

rpm {
	compatible = "qcom,rpm-msm8660";

	pm8058-regulators {
		compatible = "qcom,rpm-pm8058-regulators";

		vdd_xxx-supply = <&pm8058_s4>;
		...
	};

	pm8901-regulators {
		compatible = "qcom,rpm-pm8901-regulators";
		...
	};
};

I intended to match these by name, having one rpm-regulator device
instance and using desc->regulators_node to match regulators in the
right node - with of_node being the rpm node.

But this doesn't really map to reality, as supplies are a property of
pm8058 and pm8901 and not of the rpm. I ended up writing some custom
device registering code to instantiate the right number of regulator
children and give each of them the right of_node etc.


But as several other of-based platforms have a compatible in their
regulators node I consider that a viable and cleaner solution.

Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Andersson <bjorn.andersson@sonymobile.com>
To: Mark Brown <broonie@kernel.org>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Lee Jones <lee.jones@linaro.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Pawel Moll <pawel.moll@arm.com>, Rob Herring <robh+dt@kernel.org>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Andy Gross <agross@codeaurora.org>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Krzysztof Kozlowski <k.kozlowski@samsung.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>
Subject: Re: [PATCH 1/4] mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
Date: Tue, 3 Mar 2015 08:02:51 -0800	[thread overview]
Message-ID: <20150303160250.GD26334@sonymobile.com> (raw)
In-Reply-To: <20150303124700.GN21293@sirena.org.uk>

On Tue 03 Mar 04:47 PST 2015, Mark Brown wrote:

> On Mon, Mar 02, 2015 at 08:25:37PM -0800, Bjorn Andersson wrote:
> 
> > +- compatible:
> > +	Usage: required
> > +	Value type: <string>
> > +	Definition: must be one of:
> > +		    "qcom,rpm-pm8058-regulators"
> > +		    "qcom,rpm-pm8901-regulators"
> > +		    "qcom,rpm-pm8921-regulators"
> 
> Why do these subnodes have a compatible - do they ever appear except as
> a child of a parent of the same type of device?

The relationship with the parent node is 1:M;

in the case of 8960/8064 there is only one PMIC controlled by the RPM,
hence the dt will look like:

rpm {
	compatible = "qcom,rpm-apq8960";

	regulators {
		compatible = "qcom,rpm-pm8921-regulators";
		...
	};
};

But for 8660, and later for e.g. 8974 we have something like:

rpm {
	compatible = "qcom,rpm-msm8660";

	pm8058-regulators {
		compatible = "qcom,rpm-pm8058-regulators";

		vdd_xxx-supply = <&pm8058_s4>;
		...
	};

	pm8901-regulators {
		compatible = "qcom,rpm-pm8901-regulators";
		...
	};
};

I intended to match these by name, having one rpm-regulator device
instance and using desc->regulators_node to match regulators in the
right node - with of_node being the rpm node.

But this doesn't really map to reality, as supplies are a property of
pm8058 and pm8901 and not of the rpm. I ended up writing some custom
device registering code to instantiate the right number of regulator
children and give each of them the right of_node etc.


But as several other of-based platforms have a compatible in their
regulators node I consider that a viable and cleaner solution.

Regards,
Bjorn

  parent reply	other threads:[~2015-03-03 16:02 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-03  4:25 [PATCH 0/4] Refactor Qualcomm RPM regulator to single platform_device Bjorn Andersson
2015-03-03  4:25 ` Bjorn Andersson
2015-03-03  4:25 ` [PATCH 1/4] mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes Bjorn Andersson
2015-03-03  4:25   ` Bjorn Andersson
     [not found]   ` <1425356740-26285-2-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
2015-03-03 12:47     ` Mark Brown
2015-03-03 12:47       ` Mark Brown
     [not found]       ` <20150303124700.GN21293-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-03-03 16:02         ` Bjorn Andersson [this message]
2015-03-03 16:02           ` Bjorn Andersson
2015-03-05  0:33           ` Mark Brown
2015-03-03 18:53   ` Stephen Boyd
2015-03-03 21:54     ` Bjorn Andersson
2015-03-03 22:02       ` Stephen Boyd
2015-03-03 22:17         ` Bjorn Andersson
2015-03-03 23:25           ` Stephen Boyd
2015-03-03  4:25 ` [PATCH 2/4] regulator: core: Expose init_data to of_parse_cb Bjorn Andersson
2015-03-03  4:25   ` Bjorn Andersson
2015-03-03 12:50   ` Mark Brown
     [not found]     ` <20150303125033.GO21293-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-03-03 16:15       ` Bjorn Andersson
2015-03-03 16:15         ` Bjorn Andersson
     [not found]         ` <20150303161541.GE26334-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
2015-03-05  0:42           ` Mark Brown
2015-03-05  0:42             ` Mark Brown
2015-03-03  4:25 ` [PATCH 3/4] regulator: qcom: Refactor of-parsing code Bjorn Andersson
2015-03-03  4:25   ` Bjorn Andersson
2015-03-03 14:13   ` Mark Brown
2015-03-03 16:26     ` Bjorn Andersson
2015-03-03 18:56   ` Stephen Boyd
2015-03-03 22:07     ` Bjorn Andersson
2015-03-03  4:25 ` [PATCH 4/4] regulator: qcom: Rework to single platform device Bjorn Andersson
2015-03-03  4:25   ` Bjorn Andersson
2015-03-03 22:09   ` Stephen Boyd
2015-03-03 22:32     ` Bjorn Andersson
2015-03-03 23:52       ` Mark Brown
     [not found]         ` <20150303235209.GG21293-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-03-04  0:01           ` Stephen Boyd
2015-03-04  0:01             ` Stephen Boyd
2015-03-04  0:09             ` Mark Brown
2015-03-04 19:35   ` Stephen Boyd
2015-03-04 23:51     ` Bjorn Andersson
2015-03-05  0:56       ` Mark Brown
     [not found]     ` <54F75E8F.2070900-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-03-05  0:30       ` Mark Brown
2015-03-05  0:30         ` Mark Brown
2015-03-05  1:46         ` Stephen Boyd
2015-03-05 10:38           ` Mark Brown

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=20150303160250.GD26334@sonymobile.com \
    --to=bjorn.andersson-/mt0ovthwylzjqsbc5gl+g@public.gmane.org \
    --cc=agross-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
    --cc=k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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.