All of lore.kernel.org
 help / color / mirror / Atom feed
From: vaibhav.hiremath@linaro.org (Vaibhav Hiremath)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH-v4 2/3] mfd: 88pm800: Set default interrupt clear method
Date: Fri, 26 Jun 2015 23:31:24 +0530	[thread overview]
Message-ID: <558D9374.6080702@linaro.org> (raw)
In-Reply-To: <20150625102618.GC15013@x1>



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
>> @@ -376,7 +376,7 @@ static int device_irq_init_800(struct pm80x_chip *chip)

<snip>

>>   	ret = device_irq_init_800(chip);
>>   	if (ret < 0) {
>> @@ -566,6 +568,9 @@ static int pm800_probe(struct i2c_client *client,
>>   		pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
>>   		if (!pdata)
>>   			return -ENOMEM;
>> +
>> +		/* by default, set irq clear method on write */
>> +		pdata->irq_clr_on_wr = true;
>
> You can save yourself some memory here, by removing this seemingly
> pointless allocation and do this above:
>
>          chip->irq_clr_on_wr = pdata ? pdata->irq_clr_on_wr : true;
>
>>   	}


I accepted quickly earlier, without giving second thought.

We need pdata, as it is being used in multiple places inside driver.
And I do not want to break that. So allocation of pdata is indeed
needed here.

And also, in order to put your suggested line of code is concerned, I
have to rearrange the code, as access to "chip" is only available after
pm80x_init()

And I feel that would look ugly.

So I will stick to my original code as far as this comment is concerned.


Note that, your comment on CLR_ON_WRITE and CLR_ON_READ already taken
care of.

Thanks,
Vaibhav

WARNING: multiple messages have this Message-ID (diff)
From: Vaibhav Hiremath <vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: 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,
	yizhang-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org,
	Zhao Ye <zhaoy-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
Subject: Re: [PATCH-v4 2/3] mfd: 88pm800: Set default interrupt clear method
Date: Fri, 26 Jun 2015 23:31:24 +0530	[thread overview]
Message-ID: <558D9374.6080702@linaro.org> (raw)
In-Reply-To: <20150625102618.GC15013@x1>



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-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
>> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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
>> @@ -376,7 +376,7 @@ static int device_irq_init_800(struct pm80x_chip *chip)

<snip>

>>   	ret = device_irq_init_800(chip);
>>   	if (ret < 0) {
>> @@ -566,6 +568,9 @@ static int pm800_probe(struct i2c_client *client,
>>   		pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
>>   		if (!pdata)
>>   			return -ENOMEM;
>> +
>> +		/* by default, set irq clear method on write */
>> +		pdata->irq_clr_on_wr = true;
>
> You can save yourself some memory here, by removing this seemingly
> pointless allocation and do this above:
>
>          chip->irq_clr_on_wr = pdata ? pdata->irq_clr_on_wr : true;
>
>>   	}


I accepted quickly earlier, without giving second thought.

We need pdata, as it is being used in multiple places inside driver.
And I do not want to break that. So allocation of pdata is indeed
needed here.

And also, in order to put your suggested line of code is concerned, I
have to rearrange the code, as access to "chip" is only available after
pm80x_init()

And I feel that would look ugly.

So I will stick to my original code as far as this comment is concerned.


Note that, your comment on CLR_ON_WRITE and CLR_ON_READ already taken
care of.

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

WARNING: multiple messages have this Message-ID (diff)
From: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
To: Lee Jones <lee.jones@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: Fri, 26 Jun 2015 23:31:24 +0530	[thread overview]
Message-ID: <558D9374.6080702@linaro.org> (raw)
In-Reply-To: <20150625102618.GC15013@x1>



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
>> @@ -376,7 +376,7 @@ static int device_irq_init_800(struct pm80x_chip *chip)

<snip>

>>   	ret = device_irq_init_800(chip);
>>   	if (ret < 0) {
>> @@ -566,6 +568,9 @@ static int pm800_probe(struct i2c_client *client,
>>   		pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
>>   		if (!pdata)
>>   			return -ENOMEM;
>> +
>> +		/* by default, set irq clear method on write */
>> +		pdata->irq_clr_on_wr = true;
>
> You can save yourself some memory here, by removing this seemingly
> pointless allocation and do this above:
>
>          chip->irq_clr_on_wr = pdata ? pdata->irq_clr_on_wr : true;
>
>>   	}


I accepted quickly earlier, without giving second thought.

We need pdata, as it is being used in multiple places inside driver.
And I do not want to break that. So allocation of pdata is indeed
needed here.

And also, in order to put your suggested line of code is concerned, I
have to rearrange the code, as access to "chip" is only available after
pm80x_init()

And I feel that would look ugly.

So I will stick to my original code as far as this comment is concerned.


Note that, your comment on CLR_ON_WRITE and CLR_ON_READ already taken
care of.

Thanks,
Vaibhav

  parent reply	other threads:[~2015-06-26 18:01 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
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 [this message]
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=558D9374.6080702@linaro.org \
    --to=vaibhav.hiremath@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.