Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1002732imm; Fri, 12 Oct 2018 10:04:24 -0700 (PDT) X-Google-Smtp-Source: ACcGV6080sD9RsFuA0T0ZUmsz7F4pLxmc5GYqoryF/FJOZ1eXJVYBi1YrfU4vQtOgC7Mb9lqeZzt X-Received: by 2002:a63:d502:: with SMTP id c2-v6mr6300385pgg.324.1539363864657; Fri, 12 Oct 2018 10:04:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539363864; cv=none; d=google.com; s=arc-20160816; b=N5CQ6dvwtrok5wBoKNJWcbn0mmIsqgwlLq1GVGqGsPudhjkjQr3sz9nCt4GHjYew45 wMjUfc+VagFjvD2lMP2f90nbPPQfPwbq7X2EfxAl3yDK9dJPnaE3SezDD4ayea8+ugp4 YSfOd4AKmZyWJMF53FlWNG3bFxEmn/tBMkABFi6Ykmxz9DkGuCz/pT4f+NZxtgSIX1dL C6cBdKV2BwVm8v83VIdRypRRQgYAHDLcGH7nwq7V2JtqFLJqwXsPhYI1mS+tgCnnzdq+ mAP2lDI0iNSUDCghqgdBtgWDelmWk9maS1ywq9hdHDprnBbvHegaOWeQsUkvTY0UnQw+ tkTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:message-id:in-reply-to:subject:cc:to :from:dkim-signature; bh=KKVrPcS0wwUtmXlszKczBtwbqAX4/+k4JckQ+3kOGO4=; b=eEkotaDacP4Ei0GCb7m4tyUrN5FDMoe2CZpBsHEzPuzRR1jtndNO1AGli+V3FrL2NG cKLbdoVq5bPql8AgcwFDxLASv/LTx0Vc6PxS4lkNe0vHon85/LQgo5eAErqhoLxOv3x0 w/y29547W8WDi4eguhDg7LLuu4eCmWgF5Bopt0ZVdcXUwRD+NVbga5wcmMEYtD4x1N1V E5xyN0F04jA2KcpE1LwM5V1f6hNQX5aUkcazMEVUVSZOzsPwDuXTdfBInXj5aJEJaLVC znA2uDgSdafw7f8PcMLE6BNOFUffaGqLAfuiInKDsIBi2ULUaUP3NxCoMVkW6vV9tjpU zZhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=AtaCcmNg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h69-v6si1748149pfc.121.2018.10.12.10.04.09; Fri, 12 Oct 2018 10:04:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=AtaCcmNg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727494AbeJMAhF (ORCPT + 99 others); Fri, 12 Oct 2018 20:37:05 -0400 Received: from heliosphere.sirena.org.uk ([172.104.155.198]:51962 "EHLO heliosphere.sirena.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726761AbeJMAhF (ORCPT ); Fri, 12 Oct 2018 20:37:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=KKVrPcS0wwUtmXlszKczBtwbqAX4/+k4JckQ+3kOGO4=; b=AtaCcmNg6btg TyLceNwDRBX5XTlNfMrTPuTw53nHnHTV9ynYdHSXQJ6OOYx9kElxv4jm4J8lw7s+MBYR+QL0aK0Eb Q9JYecleXZxdTxsr2Ui5VzXh9yDaPYHVzW7GXsnfNkSVRHdEnTtRRrfCXw0WedTj7mv7h6DIRbQrd 3CSYg=; Received: from [91.126.136.150] (helo=finisterre.ee.mobilebroadband) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gB0qf-0006et-RL; Fri, 12 Oct 2018 17:03:37 +0000 Received: by finisterre.ee.mobilebroadband (Postfix, from userid 1000) id 681EC440078; Fri, 12 Oct 2018 19:03:37 +0200 (CEST) From: Mark Brown To: Phil Elwell Cc: Mark Brown , Mark Brown , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org Subject: Applied "spi: Make GPIO CSs honour the SPI_NO_CS flag" to the spi tree In-Reply-To: <1539336198-84179-1-git-send-email-phil@raspberrypi.org> Message-Id: <20181012170337.681EC440078@finisterre.ee.mobilebroadband> Date: Fri, 12 Oct 2018 19:03:37 +0200 (CEST) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The patch spi: Make GPIO CSs honour the SPI_NO_CS flag has been applied to the spi tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark From 25972d0c33deb5c49708baa48e7796c8d0348e98 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Oct 2018 10:23:18 +0100 Subject: [PATCH] spi: Make GPIO CSs honour the SPI_NO_CS flag The SPI configuration state includes an SPI_NO_CS flag that disables all CS line manipulation, for applications that want to manage their own chip selects. However, this flag is ignored by the GPIO CS code in the SPI framework. Correct this omission with a trivial patch. Signed-off-by: Phil Elwell Signed-off-by: Mark Brown --- drivers/spi/spi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index fcbd4cfd2818..ea3e5e146764 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -775,7 +775,9 @@ static void spi_set_cs(struct spi_device *spi, bool enable) enable = !enable; if (gpio_is_valid(spi->cs_gpio)) { - gpio_set_value(spi->cs_gpio, !enable); + /* Honour the SPI_NO_CS flag */ + if (!(spi->mode & SPI_NO_CS)) + gpio_set_value(spi->cs_gpio, !enable); /* Some SPI masters need both GPIO CS & slave_select */ if ((spi->controller->flags & SPI_MASTER_GPIO_SS) && spi->controller->set_cs) -- 2.19.0