From: Yi Zhang <yizhang-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
To: Vaibhav Hiremath
<vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
Chao Xie <chao.xie-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
Subject: Re: [PATCH-v4 1/3] mfd: 88pm800: Add device tree support
Date: Fri, 26 Jun 2015 13:53:17 +0800 [thread overview]
Message-ID: <20150626055317.GA32687@yizhang> (raw)
In-Reply-To: <558C1DF5.2060103-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
On Thu, Jun 25, 2015 at 08:57:49PM +0530, Vaibhav Hiremath wrote:
>
>
> On Thursday 25 June 2015 08:18 PM, Lee Jones wrote:
> >On Thu, 25 Jun 2015, Vaibhav Hiremath wrote:
> >>On Thursday 25 June 2015 03:49 PM, Lee Jones wrote:
> >>>On Thu, 25 Jun 2015, Vaibhav Hiremath wrote:
> >>>
> >>>>Add DT support to the 88pm800 driver, along with compatible
> >>>>field for it's sub-devices (rtc, onkey and regulator)
> >>>>
> >>>>Signed-off-by: Chao Xie <chao.xie-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
> >>>>Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> >>>>---
> >>>> drivers/mfd/88pm800.c | 23 +++++++++++++++++++++++
> >>>> 1 file changed, 23 insertions(+)
> >>>>
> >>>>diff --git a/drivers/mfd/88pm800.c b/drivers/mfd/88pm800.c
> >>>>index 841717a..40fd014 100644
> >>>>--- a/drivers/mfd/88pm800.c
> >>>>+++ b/drivers/mfd/88pm800.c
> >>>>@@ -27,6 +27,7 @@
> >>>> #include <linux/mfd/core.h>
> >>>> #include <linux/mfd/88pm80x.h>
> >>>> #include <linux/slab.h>
> >>>>+#include <linux/of_device.h>
> >>>>
> >>>> /* Interrupt Registers */
> >>>> #define PM800_INT_STATUS1 (0x05)
> >>>>@@ -121,6 +122,11 @@ static const struct i2c_device_id pm80x_id_table[] = {
> >>>> };
> >>>> MODULE_DEVICE_TABLE(i2c, pm80x_id_table);
> >>>>
> >>>>+static const struct of_device_id pm80x_of_match_table[] = {
> >>>>+ { .compatible = "marvell,88pm800", },
> >>>>+ {},
> >>>>+};
> >>>>+
> >>>> static struct resource rtc_resources[] = {
> >>>> {
> >>>> .name = "88pm80x-rtc",
> >>>>@@ -133,6 +139,7 @@ static struct resource rtc_resources[] = {
> >>>> static struct mfd_cell rtc_devs[] = {
> >>>> {
> >>>> .name = "88pm80x-rtc",
> >>>>+ .of_compatible = "marvell,88pm80x-rtc",
> >>>> .num_resources = ARRAY_SIZE(rtc_resources),
> >>>> .resources = &rtc_resources[0],
> >>>> .id = -1,
> >>>>@@ -151,6 +158,7 @@ static struct resource onkey_resources[] = {
> >>>> static const struct mfd_cell onkey_devs[] = {
> >>>> {
> >>>> .name = "88pm80x-onkey",
> >>>>+ .of_compatible = "marvell,88pm80x-onkey",
> >>>> .num_resources = 1,
> >>>> .resources = &onkey_resources[0],
> >>>> .id = -1,
> >>>>@@ -160,6 +168,7 @@ static const struct mfd_cell onkey_devs[] = {
> >>>> static const struct mfd_cell regulator_devs[] = {
> >>>> {
> >>>> .name = "88pm80x-regulator",
> >>>>+ .of_compatible = "marvell,88pm80x-regulator",
> >>>> .id = -1,
> >>>> },
> >>>> };
> >>>>@@ -544,8 +553,21 @@ static int pm800_probe(struct i2c_client *client,
> >>>> int ret = 0;
> >>>> struct pm80x_chip *chip;
> >>>> struct pm80x_platform_data *pdata = dev_get_platdata(&client->dev);
> >>>>+ struct device_node *np = client->dev.of_node;
> >>>> struct pm80x_subchip *subchip;
> >>>>
> >>>>+ if (!pdata && !np) {
> >>>>+ dev_err(&client->dev,
> >>>>+ "pm80x requires platform data or of_node\n");
> >>>>+ return -EINVAL;
> >>>>+ }
> >>>>+
> >>>>+ if (!pdata) {
> >>>>+ pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
> >>>>+ if (!pdata)
> >>>>+ return -ENOMEM;
> >>>>+ }
> >>>
> >>>Why have you allocated data for pdata, then done nothing with it?
> >>>
> >>
> >>Not in this patch, but subsequent patches would use it.
> >
> >Only provide it when you start using it please.
> >
>
> I will take back my earlier comment of "not using in this patch, but
> subsequent patches".
>
> pdata is being used, couple of places in the driver,
>
>
> @line-751
>
> ret = device_800_init(chip, pdata);
> if (ret) {
> dev_err(chip->dev, "Failed to initialize 88pm800
> devices\n");
> goto err_device_init;
> }
>
> if (pdata && pdata->plat_config)
> pdata->plat_config(chip, pdata);
this plat_config() is used in legacy non-device-tree code, it's used
to implement fixup for chip or board level, it exists in
the board configuration file
just curious, do you think we still need to keep it?
considering device-tree has been used. thanks;
>
> Thanks,
> Vaibhav
--
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
next prev parent reply other threads:[~2015-06-26 5:53 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-25 7:26 [PATCH-v4 0/3] mfd: 88pm800: Add Device tree support Vaibhav Hiremath
2015-06-25 7:26 ` [PATCH-v4 1/3] mfd: 88pm800: Add device " Vaibhav Hiremath
2015-06-25 10:19 ` Lee Jones
2015-06-25 11:10 ` Vaibhav Hiremath
[not found] ` <558BE1B7.2060308-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-25 14:48 ` Lee Jones
2015-06-25 15:27 ` Vaibhav Hiremath
[not found] ` <558C1DF5.2060103-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-26 5:53 ` Yi Zhang [this message]
2015-06-26 5:59 ` Vaibhav Hiremath
[not found] ` <558CEA41.8020508-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-26 6:35 ` Krzysztof Kozlowski
2015-06-26 7:41 ` Yi Zhang
2015-06-25 7:26 ` [PATCH-v4 2/3] mfd: 88pm800: Set default interrupt clear method Vaibhav Hiremath
[not found] ` <1435217189-19578-3-git-send-email-vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-25 10:26 ` Lee Jones
2015-06-25 11:19 ` Vaibhav Hiremath
[not found] ` <558BE3D6.2010801-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-25 11:45 ` Krzysztof Kozlowski
[not found] ` <CAJKOXPfbSV-WVVQrxrzvBJwpLaLskZVmnTQ5SUv=kV3SL_1SMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-25 12:36 ` Vaibhav Hiremath
2015-06-25 14:46 ` Lee Jones
2015-06-25 15:31 ` Vaibhav Hiremath
2015-06-26 18:01 ` Vaibhav Hiremath
[not found] ` <1435217189-19578-1-git-send-email-vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-25 7:26 ` [PATCH-v4 3/3] mfd: devicetree: bindings: Add new 88pm800 mfd binding Vaibhav Hiremath
[not found] ` <1435217189-19578-4-git-send-email-vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-25 10:28 ` Lee Jones
2015-06-25 11:22 ` Vaibhav Hiremath
2015-06-26 6:05 ` Yi Zhang
2015-06-26 6:13 ` Vaibhav Hiremath
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=20150626055317.GA32687@yizhang \
--to=yizhang-eyqppykdwxrbdgjk7y7tuq@public.gmane.org \
--cc=chao.xie-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=vaibhav.hiremath-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 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).