From patchwork Mon Jan 7 14:29:49 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1941151 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 66C2A40E50 for ; Mon, 7 Jan 2013 14:29:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754587Ab3AGO34 (ORCPT ); Mon, 7 Jan 2013 09:29:56 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:39709 "EHLO mail-out.m-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754510Ab3AGO34 (ORCPT ); Mon, 7 Jan 2013 09:29:56 -0500 Received: from frontend1.mail.m-online.net (frontend1.mail.intern.m-online.net [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 3YfzWz5GYKz3hhck; Mon, 7 Jan 2013 15:29:51 +0100 (CET) X-Auth-Info: Ehz8ji/ukkR+CEx3QSFYZni25Fe1BxjTnygPmRdSLX4= Received: from mashiro.lan (unknown [195.140.253.167]) by smtp-auth.mnet-online.de (Postfix) with ESMTPA id 3YfzWz2SLvzbbtp; Mon, 7 Jan 2013 15:29:51 +0100 (CET) From: Marek Vasut To: linux-arm-kernel@lists.infradead.org Cc: linux-input@vger.kernel.org, Marek Vasut , Lee Jones , Linus Walleij , Samuel Ortiz , Vipul Kumar Samar , Viresh Kumar Subject: [PATCH] mfd: stmpe: Pull IRQ GPIO number from DT during DT-based probe Date: Mon, 7 Jan 2013 15:29:49 +0100 Message-Id: <1357568989-16237-1-git-send-email-marex@denx.de> X-Mailer: git-send-email 1.7.10.4 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org 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. The new behaviour is the expected one and copies the behavior of platform_data-based probe. Signed-off-by: Marek Vasut Cc: Lee Jones Cc: Linus Walleij Cc: Samuel Ortiz Cc: Vipul Kumar Samar Cc: Viresh Kumar --- 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); + 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);