All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: Chris Zhong <zyw@rock-chips.com>
Cc: robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com,
	ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
	sameo@linux.intel.com, lgirdwood@gmail.com, broonie@kernel.org,
	a.zummo@towertech.it, mturquette@linaro.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	rtc-linux@googlegroups.com, grant.likely@linaro.org,
	hl@rock-chips.com, huangtao@rock-chips.com, cf@rock-chips.com,
	zhangqing@rock-chips.com, xxx@rock-chips.com,
	dianders@chromium.org, heiko@sntech.de, olof@lixom.net,
	sonnyrao@chromium.org, dtor@chromium.org,
	javier.martinez@collabora.co.uk, kever.yang@rock-chips.com
Subject: Re: [PATCH v2 2/5] MFD: RK808: Add new mfd driver for RK808
Date: Tue, 26 Aug 2014 13:23:04 +0100	[thread overview]
Message-ID: <20140826122304.GA26707@lee--X1> (raw)
In-Reply-To: <53FC77F0.4030004@rock-chips.com>

On Tue, 26 Aug 2014, Chris Zhong wrote:
> On 08/26/2014 07:20 PM, Lee Jones wrote:
> >On Tue, 26 Aug 2014, Chris Zhong wrote:
> >>On 08/26/2014 06:20 PM, Lee Jones wrote:
> >>>On Tue, 26 Aug 2014, Chris Zhong wrote:
> >>>>On 08/26/2014 05:22 PM, Lee Jones wrote:
> >>>>>On Mon, 25 Aug 2014, Chris Zhong wrote:
> >>>>>>On 08/20/2014 05:21 PM, Lee Jones wrote:
> >>>>>>>On Wed, 20 Aug 2014, Chris Zhong wrote:
> >>>>>>>
> >>>>>>>>The RK808 chip is a power management IC for multimedia and handheld
> >>>>>>>>devices. It contains the following components:
> >>>>>>>>
> >>>>>>>>- Regulators
> >>>>>>>>- RTC
> >>>>>>>>
> >>>>>>>>The rk808 core driver is registered as a platform driver and provides
> >>>>>>>>communication through I2C with the host device for the different
> >>>>>>>>components.
> >>>>>>>>
> >>>>>>>>Signed-off-by: Chris Zhong <zyw@rock-chips.com>
> >>>>>>>>---
> >>>>>[...]
> >>>>>
> >>>>>>>>+	rk808->pdata = pdata;
> >>>>>>>Remove pdata from 'struct rk808'.  You can obtain it from dev.
> >>>>>>Can I keep this pdata in rk808, because it is used in the regulator driver.
> >>>>>>The one obtain from dev maybe empty.
> >>>>>If the one in dev is empty, you should populate that instead.
> >>>>So, should I malloc a pada, and assign it to client->dev?
> >>>If client->dev.pdata is NULL, yes.
> >>>
> >>>But actually, I have more important questions that need to be answered
> >>>first.  Ones which I would normally be able to answer myself if the
> >>>patch-set had been sent as one (i.e. threaded) instead of as
> >>>individual patches:
> >>>
> >>>- What are you using pdata for?
> >>For save some properties,
> >>
> >>like "rockchip,system-power-controller" in MFD
> >>and some regulator properties in regulator/rk808...
> >>
> >>>- Where is pdata populated?
> >>It is populated in probe in mfd/rk808.c
> >>
> >>actually, I copy it from tps65910.c
> >>
> >>
> >>>- Where is pdata used?
> >>pdata is used in mfd and regulator
> >I'm still a little confused.  I see it being populated in the MFD
> >driver, then I only see the attributes populated in the MFD driver
> >used in the MFD driver and nowhere else?  I do see other attributes
> >used in the regulator driver i.e. .of_node[], but these are then used
> >only in the regulator driver, thus they shouldn't really be pdata.
> >
> >Let me put it another way:
> >
> >struct rk808_board {
> >+       int irq;
> >+       int irq_base;
> >+       int wakeup;
> >+       bool pm_off;
> >+       struct regulator_init_data *rk808_init_data[rk808_NUM_REGULATORS];
> >+       struct device_node *of_node[rk808_NUM_REGULATORS];
> >+       int pmic_sleep_gpio;
> >+       unsigned int dcdc_slp_voltage[3]; /* buckx_voltage in uV */
> >+       unsigned int ldo_slp_voltage[7];
> >+};
> >
> >For each of the above:
> >
> >- Can it be passed from platform data i.e. arch/<arch>/{plat,mach}-*?
> >- Can it use local (not passed from driver to driver) variable instead?
> >
> >If the answer to the first question is 'no' and/or if the answer to
> >the second question is 'yes', then it shouldn't be platform data.
> 
> Yes, if we have no dts file, these value can pass from mach-rk***.
> 
> It can be filled with all user setting of rk808, in a struct.
> 
> the latest struct is:
> 
> struct rk808_board {
> 
>     int wakeup;
> 
>     bool pm_off;
> 
>     struct regulator_init_data *rk808_init_data[RK808_NUM_REGULATORS];
> 
>     struct device_node *of_node[RK808_NUM_REGULATORS];
> 
>     unsigned int dcdc_slp_voltage[3]; /* buckx_voltage in uV */
> 
>     unsigned int ldo_slp_voltage[7];
> 
> };

This version looks much more acceptable.

Although, I am concerned about of_node[].  Isn't that only populated
and used in the regulator driver?

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2014-08-26 12:23 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-20  3:31 [PATCH v2 2/5] MFD: RK808: Add new mfd driver for RK808 Chris Zhong
2014-08-20  3:31 ` Chris Zhong
2014-08-20  9:21 ` Lee Jones
2014-08-20  9:21   ` Lee Jones
2014-08-25  2:19   ` Chris Zhong
2014-08-25  2:19     ` Chris Zhong
2014-08-26  9:22     ` Lee Jones
2014-08-26  9:22       ` Lee Jones
2014-08-26 10:05       ` Chris Zhong
2014-08-26 10:20         ` Lee Jones
2014-08-26 10:20           ` Lee Jones
2014-08-26 10:39           ` Chris Zhong
2014-08-26 10:39             ` Chris Zhong
2014-08-26 11:20             ` Lee Jones
2014-08-26 11:20               ` Lee Jones
2014-08-26 12:05               ` Chris Zhong
2014-08-26 12:23                 ` Lee Jones [this message]
2014-08-26 12:37                   ` Chris Zhong
2014-08-26 12:37                     ` Chris Zhong
2014-08-26 16:20                     ` Lee Jones
2014-08-26 16:20                       ` Lee Jones
2014-08-26 16:28       ` Dmitry Torokhov
2014-08-26 17:19         ` Doug Anderson
2014-08-26 17:19           ` Doug Anderson
2014-08-27 11:27         ` Lee Jones
2014-08-27 11:27           ` Lee Jones
2014-08-20 21:59 ` Doug Anderson
2014-08-20 21:59   ` Doug Anderson

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=20140826122304.GA26707@lee--X1 \
    --to=lee.jones@linaro.org \
    --cc=a.zummo@towertech.it \
    --cc=broonie@kernel.org \
    --cc=cf@rock-chips.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=dtor@chromium.org \
    --cc=galak@codeaurora.org \
    --cc=grant.likely@linaro.org \
    --cc=heiko@sntech.de \
    --cc=hl@rock-chips.com \
    --cc=huangtao@rock-chips.com \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=javier.martinez@collabora.co.uk \
    --cc=kever.yang@rock-chips.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@linaro.org \
    --cc=olof@lixom.net \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=rtc-linux@googlegroups.com \
    --cc=sameo@linux.intel.com \
    --cc=sonnyrao@chromium.org \
    --cc=xxx@rock-chips.com \
    --cc=zhangqing@rock-chips.com \
    --cc=zyw@rock-chips.com \
    /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.