[PATCH] mfd: stmpe: Pull IRQ GPIO number from DT during DT-based probe
From: marex@denx.de (Marek Vasut)
Date: 2013-01-07 15:13:33
Also in:
linux-input
Dear Lee Jones,
On Mon, 07 Jan 2013, Marek Vasut wrote:quoted
In case of a DT-based probe of the stmpe MFD driver, the irq_gpio was zero, which resulted in the driver failing to probe. Implement DT properties "irq-over-gpio" and "irq-gpios" which are already used in "arch/arm/boot/dts/spear320-hmi.dts" to circumvent these problems.This must have slipped through the gaps. It should be removed.
True
quoted
The new behaviour is the expected one and copies the behavior of platform_data-based probe.Blindly copying platform data behaviour to DT bindings is seldom a good idea.
Do you have suggestions how to pass these information? I suspect the irq-over- gpio property can be killed, since if irq-gpios prop is there, it implies irq- over-gpio anyway.
quoted
Signed-off-by: Marek Vasut <marex@denx.de> Cc: Lee Jones <redacted> Cc: Linus Walleij <redacted> Cc: Samuel Ortiz <redacted> Cc: Vipul Kumar Samar <redacted> Cc: Viresh Kumar <viresh.kumar@linaro.org> --- drivers/mfd/stmpe.c | 5 +++++ 1 file changed, 5 insertions(+)diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c index 4b11202..fb9cd6f 100644 --- a/drivers/mfd/stmpe.c +++ b/drivers/mfd/stmpe.c@@ -1018,6 +1018,11 @@ void stmpe_of_probe(struct stmpe_platform_data*pdata, struct device_node *np) pdata->id = -1; pdata->irq_trigger = IRQF_TRIGGER_NONE; + pdata->irq_over_gpio = of_get_property(np, "irq-over-gpio", NULL);This is a new DT binding and you haven't provided any documentation for it. Also, there is no reason for the binding to exist. Lots of drivers use GPIO pins as IRQs.
Right, this can be removed and only the 'irq-gpios' can be kept around. What do you say?
quoted
+ pdata->irq_gpio = of_get_named_gpio(np, "irq-gpios", 0); + if (!gpio_is_valid(pdata->irq_gpio)) + pdata->irq_gpio = -1; + of_property_read_u32(np, "st,autosleep-timeout", &pdata->autosleep_timeout);
Best regards, Marek Vasut