Messages in this thread | | | Date | Thu, 25 Jun 2015 18:06:07 +0530 | From | Vaibhav Hiremath <> | Subject | Re: [PATCH-v4 2/3] mfd: 88pm800: Set default interrupt clear method |
| |
On Thursday 25 June 2015 05:15 PM, Krzysztof Kozlowski wrote: > 2015-06-25 20:19 GMT+09:00 Vaibhav Hiremath <vaibhav.hiremath@linaro.org>: >> >> >> On Thursday 25 June 2015 03:56 PM, Lee Jones wrote: > > (...) > >>>> diff --git a/include/linux/mfd/88pm80x.h b/include/linux/mfd/88pm80x.h >>>> index 97cb283..94b3dcd 100644 >>>> --- 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. >> >> >>>> #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. >> >>> Shouldn't this be a bool? >>> >> >> Just was not sure about any older board file interface. >> Ideally it should be bool only. >> >>> 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. > > The bool would be indeed nicer and still you could hard-code the > desired value on DT system: > + /* by default, set irq clear method on write */ > + pdata->irq_clear_method = CLR_ON_WRITE; > > However the question is how this would influence existing platforms > using board files. Are there any in kernel or in downstream? >
No, not atleast I am aware of. I did grep on mainline kernel, and here is what I got
drivers/regulator/88pm800.c: struct pm80x_platform_data *pdata = dev_get_platdata(pdev->dev.parent); drivers/mfd/88pm800.c: struct pm80x_platform_data *pdata) drivers/mfd/88pm800.c: struct pm80x_platform_data *pdata) drivers/mfd/88pm800.c: struct pm80x_platform_data *pdata) drivers/mfd/88pm800.c: struct pm80x_platform_data *pdata) drivers/mfd/88pm800.c: struct pm80x_platform_data *pdata) drivers/mfd/88pm800.c: struct pm80x_platform_data *pdata = dev_get_platdata(&client->dev); drivers/mfd/88pm805.c: struct pm80x_platform_data *pdata = dev_get_platdata(&client->dev); include/linux/mfd/88pm80x.h:struct pm80x_platform_data { include/linux/mfd/88pm80x.h: struct pm80x_platform_data *pdata);
Thanks, Vaibhav
| |