linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/9] clk: qcom: gcc-msm8960: add child devices support.
Date: Thu, 13 Aug 2015 17:42:06 -0700	[thread overview]
Message-ID: <20150814004206.GU26614@codeaurora.org> (raw)
In-Reply-To: <55CC1CFE.7000005@codeaurora.org>

On 08/13, Rajendra Nayak wrote:
> >On 11/08/15 23:49, Stephen Boyd wrote:
> >>On 07/08, Rajendra Nayak wrote:
> >>>diff --git a/drivers/clk/qcom/gcc-msm8960.c
> >>>b/drivers/clk/qcom/gcc-msm8960.c
> >>>index eb6a4f9..2c80d03 100644
> >>>--- a/drivers/clk/qcom/gcc-msm8960.c
> >>>+++ b/drivers/clk/qcom/gcc-msm8960.c
> >>>@@ -15,6 +15,7 @@
> >>>  #include <linux/bitops.h>
> >>>  #include <linux/err.h>
> >>>  #include <linux/platform_device.h>
> >>>+#include <linux/of_platform.h>
> >>>  #include <linux/module.h>
> >>>  #include <linux/of.h>
> >>>  #include <linux/of_device.h>
> >>>@@ -3520,7 +3521,8 @@ static int gcc_msm8960_probe(struct
> >>>platform_device *pdev)
> >>>      if (IS_ERR(clk))
> >>>          return PTR_ERR(clk);
> >>>
> >>>-    return qcom_cc_probe(pdev, match->data);
> >>>+    qcom_cc_probe(pdev, match->data);
> >>>+    return of_platform_populate(pdev->dev.of_node, NULL, NULL,
> >>>&pdev->dev);
> >>
> >>We just lost the error code from qcom_cc_probe()...
> >>
> >I think Rajendra picked up the wrong patch for this series, I did submit
> >a v2 (https://patches.linaro.org/44033/) with the above fixed.
> 
> ah, sorry about that.
> 
> >>Also, I don't like having a subnode in DT. Why can't we use the
> >>same node as the GCC node and create a virtual child device here
> >>for tsens? We can assign the same of_node that this platform
> >>device has so that DT keeps working correctly.
> 
> So the current driver looks up data based on compatible strings.

The tsens device is always the same piece of hardware. The only
thing that's changing is the qfprom data and the number of
sensors. So we should be looking at the qfprom compatible string
to figure out how to interpret the qfprom data which would
include the number of sensors and how the data is encoded.

> So you suggesting to create a virtual child device for gcc and
> associate the gcc DT node to it? (And have the tsens compatible
> mentioned as part of the gcc DT node?)

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
we need to do that when we should be looking at what type of
qfprom is connected so we can correctly parse the data.

> How is this any different from creating a subnode in DT anyway?

The difference is we don't make up nodes to satisfy linux device
driver design. I suspect the hardware engineers put tsens inside
gcc because both blocks were written by the same person/team and
they just needed some place to jam some registers and call it a
day. That doesn't constitute an MFD or bus, which is what we
would be expressing in DT if we made a child node, it constitutes
a horrible software interface design that we have to live with.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

  reply	other threads:[~2015-08-14  0:42 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 [this message]
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
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=20150814004206.GU26614@codeaurora.org \
    --to=sboyd@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).