From patchwork Sat Feb 9 16:38:12 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ezequiel Garcia X-Patchwork-Id: 2120561 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork2.kernel.org (Postfix) with ESMTP id ABDAADF24C for ; Sat, 9 Feb 2013 16:41:34 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1U4DS0-0006zd-6g; Sat, 09 Feb 2013 16:38:52 +0000 Received: from mail.free-electrons.com ([94.23.35.102]) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1U4DRX-0006uA-O9 for linux-arm-kernel@lists.infradead.org; Sat, 09 Feb 2013 16:38:24 +0000 Received: by mail.free-electrons.com (Postfix, from userid 106) id 32DCB83B; Sat, 9 Feb 2013 17:38:24 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=3.3.2 Received: from localhost.localdomain (20.222.3.200.ros.express.com.ar [200.3.222.20]) by mail.free-electrons.com (Postfix) with ESMTPA id 0F06084C; Sat, 9 Feb 2013 17:38:21 +0100 (CET) From: Ezequiel Garcia To: , Subject: [PATCH 3/7] ARM: omap2: gpmc: Fix gpmc_cs_reserved() return value Date: Sat, 9 Feb 2013 13:38:12 -0300 Message-Id: <1360427896-12004-4-git-send-email-ezequiel.garcia@free-electrons.com> X-Mailer: git-send-email 1.7.8.6 In-Reply-To: <1360427896-12004-1-git-send-email-ezequiel.garcia@free-electrons.com> References: <1360427896-12004-1-git-send-email-ezequiel.garcia@free-electrons.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130209_113823_891026_AE8763AB X-CRM114-Status: GOOD ( 10.55 ) X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record -0.7 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Tony Lindgren , Afzal Mohammed , Jon Hunter , Ezequiel Garcia X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Fix gpmc_cs_reserved() so it returns 0 if the chip select is available (not reserved) or an error otherwise. This allows to use the return value directly and return a proper error code. Signed-off-by: Ezequiel Garcia --- arch/arm/mach-omap2/gpmc.c | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index bd3bc93..604c1eb 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c @@ -452,12 +452,16 @@ static int gpmc_cs_set_reserved(int cs, int reserved) return 0; } +/* Returns 0 if CS is available (not reseverd) or an error otherwise */ static int gpmc_cs_reserved(int cs) { if (cs > GPMC_CS_NUM) return -ENODEV; - return gpmc_cs_map & (1 << cs); + if (gpmc_cs_map & (1 << cs)) + return -EBUSY; + + return 0; } static unsigned long gpmc_mem_align(unsigned long size) @@ -516,10 +520,10 @@ int gpmc_cs_request(int cs, unsigned long size, unsigned long *base) return -ENOMEM; spin_lock(&gpmc_mem_lock); - if (gpmc_cs_reserved(cs)) { - r = -EBUSY; + r = gpmc_cs_reserved(cs); + if (r < 0) goto out; - } + if (gpmc_cs_mem_enabled(cs)) r = adjust_resource(res, res->start & ~(size - 1), size); if (r < 0)