From patchwork Mon Oct 27 15:27:17 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Torsten Fleischer X-Patchwork-Id: 5161691 Return-Path: X-Original-To: patchwork-linux-spi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id ACBABC11AC for ; Mon, 27 Oct 2014 15:27:55 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D69A2201B4 for ; Mon, 27 Oct 2014 15:27:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 019222017D for ; Mon, 27 Oct 2014 15:27:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752065AbaJ0P1k (ORCPT ); Mon, 27 Oct 2014 11:27:40 -0400 Received: from mail-la0-f53.google.com ([209.85.215.53]:44479 "EHLO mail-la0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751862AbaJ0P1i (ORCPT ); Mon, 27 Oct 2014 11:27:38 -0400 Received: by mail-la0-f53.google.com with SMTP id mc6so1725037lab.12 for ; Mon, 27 Oct 2014 08:27:36 -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; bh=Y00RkGtHhLf8lLmEVZKVwXFk//Z7XL98ED/apk7rJRY=; b=rkUwtXuhhNb2VEdV5Q6D/SyC4n+BO5FYzcpexmlEAymaWLx5oEUNaNlVQeXaCuTCXp xCPGrwCAjcs5MUD5gWzMn4OPH5quivW6wM5T/P9vPpL6lH5BpVW36fwFQiEG9+eSmoL+ rDQgyme6OtSBNH/GCUy1b6mOr1UsAqXFUl4yXc3v61YrWwCuUaupNnNm1cZxcvuCPcn2 U3642rKcdIsWf2o+8x2mMaatl07nq4wZrK3iZLBg97YadbxdQp6nQHn62HrfmXk3fVmD F+gq1XQW+r9dHxdMbIw2XQpuB4EseQ8dyxNY0UxnlSGGAkLieWzj+xCp1JsdaN6QR1MZ dr8g== X-Received: by 10.112.44.229 with SMTP id h5mr10306334lbm.86.1414423656442; Mon, 27 Oct 2014 08:27:36 -0700 (PDT) Received: from linux-1fbo.site.Speedport_W723_V_Typ_A_1_01_009 (p5798A3FD.dip0.t-ipconnect.de. [87.152.163.253]) by mx.google.com with ESMTPSA id pf1sm5087047lbc.0.2014.10.27.08.27.34 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Oct 2014 08:27:35 -0700 (PDT) From: Torsten Fleischer X-Google-Original-From: Torsten Fleischer To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Mark Brown , devicetree@vger.kernel.org Cc: Torsten Fleischer Subject: [PATCH 1/1] spi: spi-gpio: Add dt support for a single device with no chip select Date: Mon, 27 Oct 2014 16:27:17 +0100 Message-Id: <1414423637-2817-1-git-send-email-torfl6749@gmail.com> X-Mailer: git-send-email 1.8.4.5 Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Torsten Fleischer Use an empty 'cs-gpios' property if a single device is connected which has no chip select. This refers to the discussion at https://lkml.org/lkml/2013/11/13/62. Signed-off-by: Torsten Fleischer --- Documentation/devicetree/bindings/spi/spi-gpio.txt | 6 ++++-- drivers/spi/spi-gpio.c | 10 +++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Documentation/devicetree/bindings/spi/spi-gpio.txt b/Documentation/devicetree/bindings/spi/spi-gpio.txt index 8a824be..ad8795f 100644 --- a/Documentation/devicetree/bindings/spi/spi-gpio.txt +++ b/Documentation/devicetree/bindings/spi/spi-gpio.txt @@ -8,8 +8,10 @@ Required properties: - gpio-sck: GPIO spec for the SCK line to use - gpio-miso: GPIO spec for the MISO line to use - gpio-mosi: GPIO spec for the MOSI line to use - - cs-gpios: GPIOs to use for chipselect lines - - num-chipselects: number of chipselect lines + - cs-gpios: GPIOs to use for chipselect lines. Leave this property empty if + a single device with no chip select is connected. + - num-chipselects: Number of chipselect lines. Has to be "1" even if a single + device with no chip select is connected. Example: diff --git a/drivers/spi/spi-gpio.c b/drivers/spi/spi-gpio.c index 9f59553..b343818a 100644 --- a/drivers/spi/spi-gpio.c +++ b/drivers/spi/spi-gpio.c @@ -461,9 +461,13 @@ static int spi_gpio_probe(struct platform_device *pdev) * property of the node. */ - for (i = 0; i < SPI_N_CHIPSEL; i++) - spi_gpio->cs_gpios[i] = - of_get_named_gpio(np, "cs-gpios", i); + if ((SPI_N_CHIPSEL == 1) && + (of_gpio_named_count(np, "cs-gpios") == 0)) + spi_gpio->cs_gpios[0] = SPI_GPIO_NO_CHIPSELECT; + else + for (i = 0; i < SPI_N_CHIPSEL; i++) + spi_gpio->cs_gpios[i] = + of_get_named_gpio(np, "cs-gpios", i); } #endif