Re: [PATCH-v4 2/3] mfd: 88pm800: Set default interrupt clear method
From: Vaibhav Hiremath <hidden>
Date: 2015-06-25 12:36:24
Also in:
linux-arm-kernel, lkml
On Thursday 25 June 2015 05:15 PM, Krzysztof Kozlowski wrote:
2015-06-25 20:19 GMT+09:00 Vaibhav Hiremath [off-list ref]:quoted
On Thursday 25 June 2015 03:56 PM, Lee Jones wrote:(...)quoted
quoted
quoted
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.quoted
quoted
#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 onread*/Whitespace issue.Didn't see any...and I also ran checkpatch.quoted
Shouldn't this be a bool?Just was not sure about any older board file interface. Ideally it should be bool only.quoted
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
--
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