From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH-v4 2/3] mfd: 88pm800: Set default interrupt clear method
Date: Thu, 25 Jun 2015 15:46:27 +0100 [thread overview]
Message-ID: <20150625144627.GB23990@x1> (raw)
In-Reply-To: <558BE3D6.2010801@linaro.org>
On Thu, 25 Jun 2015, Vaibhav Hiremath wrote:
> On Thursday 25 June 2015 03:56 PM, Lee Jones wrote:
> >On Thu, 25 Jun 2015, Vaibhav Hiremath wrote:
> >
> >>As per the spec, bit 1 (INT_CLEAR_MODE) of reg addr 0xe
> >>(page 0) controls the method of clearing interrupt
> >>status of 88pm800 family of devices;
> >>
> >> 0: clear on read
> >> 1: clear on write
> >>
> >>If pdata is not coming from board file, then set the
> >>default irq clear method to "irq clear on write"
> >>
> >>Also, as suggested by "Lee Jones" renaming variable field
> >>to appropriate name.
> >>
> >>Signed-off-by: Zhao Ye <zhaoy@marvell.com>
> >>Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
> >>---
> >> drivers/mfd/88pm800.c | 15 ++++++++++-----
> >> include/linux/mfd/88pm80x.h | 6 ++++--
> >> 2 files changed, 14 insertions(+), 7 deletions(-)
> >>
> >>diff --git a/drivers/mfd/88pm800.c b/drivers/mfd/88pm800.c
> >>index 40fd014..e0cd7ad 100644
> >>--- a/drivers/mfd/88pm800.c
> >>+++ b/drivers/mfd/88pm800.c
[...]
> >>+ PM800_WAKEUP2_INT_WRITE_CLEAR : PM800_WAKEUP2_INT_READ_CLEAR;
> >>+ ret = regmap_update_bits(map, PM800_WAKEUP2, mask, irq_clr_mode);
> >>
> >> if (ret < 0)
> >> goto out;
> >>@@ -514,6 +515,7 @@ static int device_800_init(struct pm80x_chip *chip,
> >> }
> >>
> >> chip->regmap_irq_chip = &pm800_irq_chip;
> >>+ chip->irq_clr_on_wr = pdata->irq_clr_on_wr;
> >
> >You have protection around pdata everywhere else in the file, I
> >suggest you supply some here too.
> >
>
> Actually it is not really needed, as the PATCH 1/1 introduces
>
>
> if (!pdata && !np) {
> dev_err(&client->dev,
> "pm80x requires platform data or of_node\n");
> return -EINVAL;
> }
>
> if (!pdata && !np) {
> dev_err(&client->dev,
> "pm80x requires platform data or of_node\n");
> return -EINVAL;
> }
>
>
> So there is no way you can have pdata = NULL beyond this point.
I saw that. I want you to remove that too.
[...]
> >>--- a/include/linux/mfd/88pm80x.h
> >>+++ b/include/linux/mfd/88pm80x.h
> >>@@ -77,6 +77,8 @@ enum {
> >> #define PM800_WAKEUP2 (0x0E)
> >> #define PM800_WAKEUP2_INV_INT (1 << 0)
> >> #define PM800_WAKEUP2_INT_CLEAR (1 << 1)
> >>+#define PM800_WAKEUP2_INT_READ_CLEAR (0 << 1)
> >>+#define PM800_WAKEUP2_INT_WRITE_CLEAR (1 << 1)
> >> #define PM800_WAKEUP2_INT_MASK (1 << 2)
> >
> >Use the BIT() macro.
> >
>
> I thought about this, but the whole file doesn't use it, so I also
> chose not to.
Then the whole file needs moving over.
Patches accepted.
> >> #define PM800_POWER_UP_LOG (0x10)
> >>@@ -300,7 +302,7 @@ struct pm80x_chip {
> >> struct regmap_irq_chip_data *irq_data;
> >> int type;
> >> int irq;
> >>- int irq_mode;
> >>+ int irq_clr_on_wr; /* '1': Clear on write, '0': Clear on read*/
> >
> >Whitespace issue.
>
> Didn't see any...and I also ran checkpatch.
You have no space before the '*/'.
> >Shouldn't this be a bool?
> >
>
> Just was not sure about any older board file interface.
> Ideally it should be bool only.
Right.
> >Actually even better, I would define; CLR_ON_WRITE and CLR_ON_READ,
> >and call the variable irq_clear_method, or something.
> >
> >Much clearer that way I think.
> >
>
> We have slowly decided to almost hardcode it to one value if there is
> no board file. I feel we should just keep it to simple.
>
> If you still insist, I can implement.
I like clarity and by your own admission (by warranting an additional
comment) it's not clear. Please make it as clear as you can.
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, robh+dt@kernel.org,
yizhang@marvell.com, Zhao Ye <zhaoy@marvell.com>
Subject: Re: [PATCH-v4 2/3] mfd: 88pm800: Set default interrupt clear method
Date: Thu, 25 Jun 2015 15:46:27 +0100 [thread overview]
Message-ID: <20150625144627.GB23990@x1> (raw)
In-Reply-To: <558BE3D6.2010801@linaro.org>
On Thu, 25 Jun 2015, Vaibhav Hiremath wrote:
> On Thursday 25 June 2015 03:56 PM, Lee Jones wrote:
> >On Thu, 25 Jun 2015, Vaibhav Hiremath wrote:
> >
> >>As per the spec, bit 1 (INT_CLEAR_MODE) of reg addr 0xe
> >>(page 0) controls the method of clearing interrupt
> >>status of 88pm800 family of devices;
> >>
> >> 0: clear on read
> >> 1: clear on write
> >>
> >>If pdata is not coming from board file, then set the
> >>default irq clear method to "irq clear on write"
> >>
> >>Also, as suggested by "Lee Jones" renaming variable field
> >>to appropriate name.
> >>
> >>Signed-off-by: Zhao Ye <zhaoy@marvell.com>
> >>Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
> >>---
> >> drivers/mfd/88pm800.c | 15 ++++++++++-----
> >> include/linux/mfd/88pm80x.h | 6 ++++--
> >> 2 files changed, 14 insertions(+), 7 deletions(-)
> >>
> >>diff --git a/drivers/mfd/88pm800.c b/drivers/mfd/88pm800.c
> >>index 40fd014..e0cd7ad 100644
> >>--- a/drivers/mfd/88pm800.c
> >>+++ b/drivers/mfd/88pm800.c
[...]
> >>+ PM800_WAKEUP2_INT_WRITE_CLEAR : PM800_WAKEUP2_INT_READ_CLEAR;
> >>+ ret = regmap_update_bits(map, PM800_WAKEUP2, mask, irq_clr_mode);
> >>
> >> if (ret < 0)
> >> goto out;
> >>@@ -514,6 +515,7 @@ static int device_800_init(struct pm80x_chip *chip,
> >> }
> >>
> >> chip->regmap_irq_chip = &pm800_irq_chip;
> >>+ chip->irq_clr_on_wr = pdata->irq_clr_on_wr;
> >
> >You have protection around pdata everywhere else in the file, I
> >suggest you supply some here too.
> >
>
> Actually it is not really needed, as the PATCH 1/1 introduces
>
>
> if (!pdata && !np) {
> dev_err(&client->dev,
> "pm80x requires platform data or of_node\n");
> return -EINVAL;
> }
>
> if (!pdata && !np) {
> dev_err(&client->dev,
> "pm80x requires platform data or of_node\n");
> return -EINVAL;
> }
>
>
> So there is no way you can have pdata = NULL beyond this point.
I saw that. I want you to remove that too.
[...]
> >>--- a/include/linux/mfd/88pm80x.h
> >>+++ b/include/linux/mfd/88pm80x.h
> >>@@ -77,6 +77,8 @@ enum {
> >> #define PM800_WAKEUP2 (0x0E)
> >> #define PM800_WAKEUP2_INV_INT (1 << 0)
> >> #define PM800_WAKEUP2_INT_CLEAR (1 << 1)
> >>+#define PM800_WAKEUP2_INT_READ_CLEAR (0 << 1)
> >>+#define PM800_WAKEUP2_INT_WRITE_CLEAR (1 << 1)
> >> #define PM800_WAKEUP2_INT_MASK (1 << 2)
> >
> >Use the BIT() macro.
> >
>
> I thought about this, but the whole file doesn't use it, so I also
> chose not to.
Then the whole file needs moving over.
Patches accepted.
> >> #define PM800_POWER_UP_LOG (0x10)
> >>@@ -300,7 +302,7 @@ struct pm80x_chip {
> >> struct regmap_irq_chip_data *irq_data;
> >> int type;
> >> int irq;
> >>- int irq_mode;
> >>+ int irq_clr_on_wr; /* '1': Clear on write, '0': Clear on read*/
> >
> >Whitespace issue.
>
> Didn't see any...and I also ran checkpatch.
You have no space before the '*/'.
> >Shouldn't this be a bool?
> >
>
> Just was not sure about any older board file interface.
> Ideally it should be bool only.
Right.
> >Actually even better, I would define; CLR_ON_WRITE and CLR_ON_READ,
> >and call the variable irq_clear_method, or something.
> >
> >Much clearer that way I think.
> >
>
> We have slowly decided to almost hardcode it to one value if there is
> no board file. I feel we should just keep it to simple.
>
> If you still insist, I can implement.
I like clarity and by your own admission (by warranting an additional
comment) it's not clear. Please make it as clear as you can.
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2015-06-25 14:46 UTC|newest]
Thread overview: 63+ 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 ` Vaibhav Hiremath
2015-06-25 7:26 ` Vaibhav Hiremath
2015-06-25 7:26 ` [PATCH-v4 1/3] mfd: 88pm800: Add device " Vaibhav Hiremath
2015-06-25 7:26 ` Vaibhav Hiremath
2015-06-25 10:19 ` Lee Jones
2015-06-25 10:19 ` Lee Jones
2015-06-25 10:19 ` Lee Jones
2015-06-25 11:10 ` Vaibhav Hiremath
2015-06-25 11:10 ` Vaibhav Hiremath
2015-06-25 11:10 ` Vaibhav Hiremath
2015-06-25 14:48 ` Lee Jones
2015-06-25 14:48 ` Lee Jones
2015-06-25 14:48 ` Lee Jones
2015-06-25 15:27 ` Vaibhav Hiremath
2015-06-25 15:27 ` Vaibhav Hiremath
2015-06-26 5:53 ` Yi Zhang
2015-06-26 5:53 ` Yi Zhang
2015-06-26 5:53 ` Yi Zhang
2015-06-26 5:59 ` Vaibhav Hiremath
2015-06-26 5:59 ` Vaibhav Hiremath
2015-06-26 6:35 ` Krzysztof Kozlowski
2015-06-26 6:35 ` Krzysztof Kozlowski
2015-06-26 6:35 ` Krzysztof Kozlowski
2015-06-26 7:41 ` Yi Zhang
2015-06-26 7:41 ` Yi Zhang
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
2015-06-25 7:26 ` Vaibhav Hiremath
2015-06-25 10:26 ` Lee Jones
2015-06-25 10:26 ` Lee Jones
2015-06-25 10:26 ` Lee Jones
2015-06-25 11:19 ` Vaibhav Hiremath
2015-06-25 11:19 ` Vaibhav Hiremath
2015-06-25 11:19 ` Vaibhav Hiremath
2015-06-25 11:45 ` Krzysztof Kozlowski
2015-06-25 11:45 ` Krzysztof Kozlowski
2015-06-25 11:45 ` Krzysztof Kozlowski
2015-06-25 12:36 ` Vaibhav Hiremath
2015-06-25 12:36 ` Vaibhav Hiremath
2015-06-25 12:36 ` Vaibhav Hiremath
2015-06-25 14:46 ` Lee Jones [this message]
2015-06-25 14:46 ` Lee Jones
2015-06-25 15:31 ` Vaibhav Hiremath
2015-06-25 15:31 ` Vaibhav Hiremath
2015-06-25 15:31 ` Vaibhav Hiremath
2015-06-26 18:01 ` Vaibhav Hiremath
2015-06-26 18:01 ` Vaibhav Hiremath
2015-06-26 18:01 ` Vaibhav Hiremath
2015-06-25 7:26 ` [PATCH-v4 3/3] mfd: devicetree: bindings: Add new 88pm800 mfd binding Vaibhav Hiremath
2015-06-25 7:26 ` Vaibhav Hiremath
2015-06-25 7:26 ` Vaibhav Hiremath
2015-06-25 10:28 ` Lee Jones
2015-06-25 10:28 ` Lee Jones
2015-06-25 10:28 ` Lee Jones
2015-06-25 11:22 ` Vaibhav Hiremath
2015-06-25 11:22 ` Vaibhav Hiremath
2015-06-25 11:22 ` Vaibhav Hiremath
2015-06-26 6:05 ` Yi Zhang
2015-06-26 6:05 ` Yi Zhang
2015-06-26 6:13 ` Vaibhav Hiremath
2015-06-26 6:13 ` Vaibhav Hiremath
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=20150625144627.GB23990@x1 \
--to=lee.jones@linaro.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 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.