[PATCH-v3 2/3] mfd: 88pm800: Allow configuration of interrupt clear method

Vaibhav Hiremath vaibhav.hiremath at linaro.org
Wed Jun 24 22:57:33 PDT 2015



On Thursday 25 June 2015 11:20 AM, Krzysztof Kozlowski wrote:
> On 25.06.2015 14:44, Vaibhav Hiremath wrote:
>>
>>
>> On Thursday 25 June 2015 11:02 AM, Krzysztof Kozlowski wrote:
>>> On 25.06.2015 14:26, Vaibhav Hiremath wrote:
>>>>
>>>>
>>>> On Thursday 25 June 2015 05:33 AM, Krzysztof Kozlowski wrote:
>>>>> 2015-06-24 18:21 GMT+09:00 Vaibhav Hiremath
>>>>> <vaibhav.hiremath at linaro.org>:
>>>>>> 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
>>>>>>
>>>>>> This patch allows to configure this field, through DT.
>>>>>>
>>>>>> Also, as suggested by "Lee Jones" renaming DT property and variable
>>>>>> field to appropriate name.
>>>>>>
>>>>>> Signed-off-by: Zhao Ye <zhaoy at marvell.com>
>>>>>> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath at linaro.org>
>>>>>
>>>

<snip>

>>
>> Yes,
>> Fair enough...
>>
>> I see very little value in runtime configuration, why not just do it
>> only way (either read or write)?
>> I would prefer to just set it by default (during init), to clear irq on
>> write.
>
> Hard-coding a default value, if board files are not present, looks OK to me.
>

This is how it will look, I will also update the binding information
with this.


hvaibhav at hvaibhav-ThinkPad-T440p:~/projects/mainline/linux$ git diff 
--cached
diff --git a/drivers/mfd/88pm800.c b/drivers/mfd/88pm800.c
index 0a417ac..e415a06 100644
--- a/drivers/mfd/88pm800.c
+++ b/drivers/mfd/88pm800.c
@@ -645,9 +645,8 @@ static int pm800_probe(struct i2c_client *client,
                         dev_err(&client->dev, "failed to allocaate 
memory\n");
                         return -ENOMEM;
                 }
-
-               pdata->irq_clr_on_wr = of_property_read_bool(np,
-                                       "marvell,irq-clr-on-write");
+               /* Setting irq clear method on write */
+               pdata->irq_clr_on_wr = true;
         }

         ret = pm80x_init(client);



Thanks,
Vaibhav



More information about the linux-arm-kernel mailing list