From patchwork Mon Jul 24 09:53:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 9859063 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 21213600F5 for ; Mon, 24 Jul 2017 10:03:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0C84328408 for ; Mon, 24 Jul 2017 10:03:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F2402274B4; Mon, 24 Jul 2017 10:03:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 41709274B4 for ; Mon, 24 Jul 2017 10:03:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751543AbdGXKDy (ORCPT ); Mon, 24 Jul 2017 06:03:54 -0400 Received: from mail02.prevas.se ([62.95.78.10]:28346 "EHLO mail02.prevas.se" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751521AbdGXKDy (ORCPT ); Mon, 24 Jul 2017 06:03:54 -0400 X-Greylist: delayed 596 seconds by postgrey-1.27 at vger.kernel.org; Mon, 24 Jul 2017 06:03:54 EDT DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=prevas.dk; i=@prevas.dk; l=1012; q=dns/txt; s=ironport2; t=1500890634; x=1532426634; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=8Lnp9knkAIdl8vGmkz/fzUkc4ox+vslLKSli8jM3DiI=; b=x9SYKJDEerFcK7QwUmGyA9Er6Qqbo7U7+zjc/k7V8+tQSxvSdpWjfZ2s IJirYxRafRR7pwYpNWQXI3YPsbAUDr7X5+jyXtYL390nzfcyTy45b4lEu 3rCaEgVpPGUGbEZMpNnsvCa24Wkyqr5vGfoZsimK55yEZ3dYL3urwxFZF E=; X-IronPort-AV: E=Sophos;i="5.40,406,1496095200"; d="scan'208";a="2324433" Received: from vmprevas3.prevas.se (HELO smtp.prevas.se) ([172.16.8.103]) by ironport2.prevas.se with ESMTP/TLS/DHE-RSA-AES256-SHA; 24 Jul 2017 11:53:56 +0200 Received: from mnhu.prevas.se (172.16.8.31) by smtp.prevas.se (172.16.8.103) with Microsoft SMTP Server (TLS) id 14.2.347.0; Mon, 24 Jul 2017 11:53:55 +0200 From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= To: CC: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= , Mark Brown Subject: [PATCH] spi: core: use gpio_request_one for configured gpio cs Date: Mon, 24 Jul 2017 11:53:27 +0200 Message-ID: <20170724095327.18602-1-mnhu@prevas.dk> X-Mailer: git-send-email 2.13.3 MIME-Version: 1.0 X-Originating-IP: [172.16.8.31] Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Some gpio controllers requires lines to be configured as outputs to make subsequent calls to `gpio_set_value()` have any effect. Add a call to `gpio_request_one()` for configured gpio chip-selects to make it work on (at least) mvebu gpio controllers. Signed-off-by: Martin Hundebøll --- drivers/spi/spi.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 0725c78b0de6..b7bfc52525aa 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -2010,8 +2010,13 @@ static int of_spi_register_master(struct spi_controller *ctlr) for (i = 0; i < ctlr->num_chipselect; i++) cs[i] = -ENOENT; - for (i = 0; i < nb; i++) + for (i = 0; i < nb; i++) { cs[i] = of_get_named_gpio(np, "cs-gpios", i); + if (gpio_is_valid(cs[i]) && + gpio_request_one(cs[i], 0, "spi-cs") < 0) + dev_warn(&master->dev, + "gpio_request_one failed for chipselect %i\n", i); + } return 0; }