linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: rnayak@codeaurora.org (Rajendra Nayak)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/9] clk: qcom: gcc-msm8960: add child devices support.
Date: Mon, 07 Sep 2015 12:09:26 +0530	[thread overview]
Message-ID: <55ED311E.1070404@codeaurora.org> (raw)
In-Reply-To: <20150903172743.GE15099@codeaurora.org>

[]..

>>>> No. The driver should work just fine without having to
>>>> interrogate the device's compatible string. If we still need the
>>>> compatible check for some reason, then we can always match based
>>>> on qcom,gcc-msm8960, qcom,gcc-apq8064, etc. But I don't see why
>>>
>>> Thats not quite possible I guess. 2 drivers (gcc and tsens) matching
>>> the same compatibles? Will it not just depend on which ends up being
>>> the first match?
>>
>> Any thoughts on how to move forward with this?
>>
>> I tried what you were suggesting, and here's what I had to do to get
>> things working
>>
>> * Created a gcc node in DT with gcc and tsens compatibles, with gcc and
>> tsens properties
>
> This is not what I had in mind. This is what's should be in DT
>
>   clock-controller at f000 {
>   	compatible = "qcom,gcc-msm8916";
> 	reg = <0xf000 ...>;
> 	....
>   };
>
>> * gcc driver probes the device/node first given gcc is registered with
>> a core_initcall()
>> * creates a virtual child device attaching the same of_node (having
>> both gcc and tsens compatibles)
>> * gcc ends up probing the virtual device/node _again_ (due to the gcc
>> compatible match), fails
>> * At a later point, tsens driver gets registered (using module_initcall)
>> ends up probing the virtual child node and succeeds
>
> Yeah this might happen though because we've assigned the of_node
> pointer to the tsens device before we register it on the platform
> bus. The other way to pass that data down from gcc to tsens would
> be to not have an of_node assigned to the tsens device, and check
> for that case in the tsens driver. If there isn't an of_node,
> then we look at the parent device's of_node to figure out which
> gcc it is (if this even matters) and parse DT properties.

Parsing DT properties from parent (in the tsens driver) is fine, but
the nvmem apis still expect an of_node for the tsens device and hence
fail.

Associating the of_node of the parent to the tsens device while being
probed ends up with the same issues of gcc ending up probing the device
and failing because tsens defers probe a couple times before a
successful probe.

  reply	other threads:[~2015-09-07  6:39 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-08  9:47 [PATCH 0/9] qcom: Add support for TSENS driver Rajendra Nayak
2015-07-08  9:47 ` [PATCH 1/9] thermal: qcom: tsens: Add a skeletal TSENS drivers Rajendra Nayak
2015-07-08  9:47 ` [PATCH 2/9] thermal: qcom: tsens-8916: Add support for 8916 family of SoCs Rajendra Nayak
2015-07-08  9:47 ` [PATCH 3/9] thermal: qcom: tsens-8974: Add support for 8974 " Rajendra Nayak
2015-07-08  9:47 ` [PATCH 4/9] thermal: qcom: tsens-8960: Add support for 8960 " Rajendra Nayak
2015-07-08  9:47 ` [PATCH 5/9] clk: qcom: gcc-msm8960: add child devices support Rajendra Nayak
2015-08-11 22:49   ` Stephen Boyd
2015-08-12  9:00     ` Srinivas Kandagatla
2015-08-13  4:28       ` Rajendra Nayak
2015-08-14  0:42         ` Stephen Boyd
2015-08-14  3:09           ` Rajendra Nayak
2015-09-02  2:37             ` Rajendra Nayak
2015-09-03 17:27               ` Stephen Boyd
2015-09-07  6:39                 ` Rajendra Nayak [this message]
2015-09-08 19:21                   ` Stephen Boyd
2015-09-09  3:33                     ` Rajendra Nayak
2015-09-09  5:15                       ` Rajendra Nayak
2015-09-09  9:11                       ` Srinivas Kandagatla
2015-08-12 20:18     ` Bjorn Andersson
2015-08-12 21:57       ` Stephen Boyd
2015-08-13  4:14         ` Bjorn Andersson
2015-08-14  0:46           ` Stephen Boyd
2015-07-08  9:47 ` [PATCH 6/9] arm: dts: msm8974: Add thermal zones, tsens and eeprom nodes Rajendra Nayak
2015-07-08  9:47 ` [PATCH 7/9] arm: dts: apq8064: " Rajendra Nayak
2015-07-08  9:47 ` [PATCH 8/9] arm: dts: apq8084: " Rajendra Nayak
2015-07-08  9:47 ` [PATCH 9/9] arm64: dts: msm8916: " Rajendra Nayak
2015-08-11  8:26 ` [PATCH 0/9] qcom: Add support for TSENS driver Srinivas Kandagatla

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=55ED311E.1070404@codeaurora.org \
    --to=rnayak@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).