From patchwork Mon Sep 16 08:32:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 275155 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 2C0B32C00B6 for ; Mon, 16 Sep 2013 18:34:25 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756985Ab3IPIda (ORCPT ); Mon, 16 Sep 2013 04:33:30 -0400 Received: from mail-bk0-f43.google.com ([209.85.214.43]:57794 "EHLO mail-bk0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756873Ab3IPId2 (ORCPT ); Mon, 16 Sep 2013 04:33:28 -0400 Received: by mail-bk0-f43.google.com with SMTP id mz13so1328186bkb.2 for ; Mon, 16 Sep 2013 01:33:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=EanQnaXqPQakvsuQ+P7PHsUdYrwEJ1wBupizih49orI=; b=FUVGIVCFWfkvIkFh73hs/d7S/A4KTABEg8qyEUrfnTx9ZXkMQU/57UNIg1HbQHYFeE s6g/Wn3DizGbJql9NRVjT1ToRTtArzvMGLM+aJ6tMlxB+YdsuPkSedmxNaCDICiAfJhq 9hIhB8yCOPBa7V2+/bw4b85STqQF7VWvhWvmpWPxw+MpHzI55v5VK2lNlb66z4e4w9V2 y+qO3kP6fQoVzYnT2y+QChbINdD7kRwvpChT5gXYbKee087vNewWAfJUKoh/c/j8W206 cq3duR2kgJcQU7RN05JJs/pxnpc6OAn6bNqUXED8Rjh9nieGkK5w8SkW7hnAcx+CcF3e rxug== X-Received: by 10.204.239.8 with SMTP id ku8mr108951bkb.51.1379320406636; Mon, 16 Sep 2013 01:33:26 -0700 (PDT) Received: from localhost (port-49886.pppoe.wtnet.de. [46.59.195.122]) by mx.google.com with ESMTPSA id nv4sm6843359bkb.3.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 16 Sep 2013 01:33:25 -0700 (PDT) From: Thierry Reding To: Greg Kroah-Hartman , Linus Walleij , Stephen Warren , Wolfram Sang , Grant Likely , Rob Herring , Benjamin Herrenschmidt , Thomas Gleixner Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH 6/9] of/irq: Propagate errors in of_irq_to_resource_table() Date: Mon, 16 Sep 2013 10:32:03 +0200 Message-Id: <1379320326-13241-7-git-send-email-treding@nvidia.com> X-Mailer: git-send-email 1.8.4 In-Reply-To: <1379320326-13241-1-git-send-email-treding@nvidia.com> References: <1379320326-13241-1-git-send-email-treding@nvidia.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org Now that all helpers return precise error codes, this function can propagate these errors to the caller properly. Signed-off-by: Thierry Reding --- drivers/of/irq.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/of/irq.c b/drivers/of/irq.c index 57396fd..c33a7fd 100644 --- a/drivers/of/irq.c +++ b/drivers/of/irq.c @@ -418,11 +418,17 @@ int of_irq_count(struct device_node *dev) int of_irq_to_resource_table(struct device_node *dev, struct resource *res, int nr_irqs) { - int i; + int i, ret; + + for (i = 0; i < nr_irqs; i++, res++) { + ret = __of_irq_to_resource(dev, i, res); + if (ret <= 0) { + if (ret < 0) + return ret; - for (i = 0; i < nr_irqs; i++, res++) - if (!of_irq_to_resource(dev, i, res)) break; + } + } return i; }