From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755523AbcFQIB5 (ORCPT ); Fri, 17 Jun 2016 04:01:57 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:59906 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754485AbcFQH5d (ORCPT ); Fri, 17 Jun 2016 03:57:33 -0400 X-AuditID: cbfee690-f79056d000001327-f0-5763ad696246 From: Andi Shyti To: Mark Brown Cc: Kukjin Kim , Krzysztof Kozlowski , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Andi Shyti , Andi Shyti Subject: [PATCH 4/5] spi: s3c64xx: do not configure the device twice Date: Fri, 17 Jun 2016 16:57:24 +0900 Message-id: <1466150245-2648-5-git-send-email-andi.shyti@samsung.com> X-Mailer: git-send-email 2.8.1 In-reply-to: <1466150245-2648-1-git-send-email-andi.shyti@samsung.com> References: <1466150245-2648-1-git-send-email-andi.shyti@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDLMWRmVeSWpSXmKPExsWyRsSkWDdzbXK4wddmHYvtR56xWiz+8ZzJ YurDJ2wWr18YWvQ/fs1ssenxNVaLy7vmsFk0frzJ7sDhcX3JJ2aPTas62Tw2L6n36NuyitHj 8ya5ANYoLpuU1JzMstQifbsErozbr7YyFazlqVg+r425gXEGVxcjJ4eEgIlE26QZLBC2mMSF e+vZuhi5OIQEVjBKbN7xhbmLkQOsqGeXFkR8FqNE74Q/jBDOR0aJ34v/MYF0swloSjTd/sEG YosIKEtc/b6XBaSIWeAno8TVO60sIJOEBVwkXm0WBDFZBFQlfswWASnnFXCVmHJvOiPEEXIS l6c/ABvDKeAmsfDKZ0aQciGgmosvNUEmSggsY5dYsvcrWA2LgIDEt8mHWCDulJXYdIAZYoyk xMEVN1gmMAovYGRYxSiaWpBcUJyUXmSiV5yYW1yal66XnJ+7iREY6Kf/PZuwg/HeAetDjAIc jEo8vBFSyeFCrIllxZW5hxhNgTZMZJYSTc4HxlNeSbyhsZmRhamJqbGRuaWZkjjva6mfwUIC 6YklqdmpqQWpRfFFpTmpxYcYmTg4pRoY3TZscbQ8FPWbc+nx1aKdvtpXFwa+MjvbtJupKEI5 5uu7lbuflvep/pzet+78E6GT3lkrXvV3V8WrLjtydVf3951mtntre/ecbrvRuq3V+Un5uceK Eldj/E+57bt57Unv94lXLi+POaG2RW6K/Aa281+8nH8Lx89qYvaR3XCnMsX+o5NLWsqFQiWW 4oxEQy3mouJEABBW53dvAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrJIsWRmVeSWpSXmKPExsVy+t9jQd3MtcnhBj0L1C22H3nGarH4x3Mm i6kPn7BZvH5haNH/+DWzxabH11gtLu+aw2bR+PEmuwOHx/Uln5g9Nq3qZPPYvKTeo2/LKkaP z5vkAlijGhhtMlITU1KLFFLzkvNTMvPSbZW8g+Od403NDAx1DS0tzJUU8hJzU22VXHwCdN0y c4BOUVIoS8wpBQoFJBYXK+nbYZoQGuKmawHTGKHrGxIE12NkgAYS1jBm3H61lalgLU/F8nlt zA2MM7i6GDk4JARMJHp2aXUxcgKZYhIX7q1n62Lk4hASmMUo0TvhDyOE85FR4vfif0wgVWwC mhJNt3+wgdgiAsoSV7/vZQEpYhb4yShx9U4rC8hUYQEXiVebBUFMFgFViR+zRUDKeQVcJabc m84IsUxO4vL0B2BjOAXcJBZe+cwIUi4EVHPxpeYERt4FjAyrGCVSC5ILipPScw3zUsv1ihNz i0vz0vWS83M3MYKj6ZnUDsaDu9wPMQpwMCrx8O5QTg4XYk0sK67MPcQowcGsJMLLuAooxJuS WFmVWpQfX1Sak1p8iNEU6KyJzFKiyfnASM8riTc0NjEzsjQyN7QwMjZXEud9/H9dmJBAemJJ anZqakFqEUwfEwenVAPjyR2tac13ONU+513YdnPC4hun/7jbMhgoS1T7rf+zQMT865eiTRvu qHmovZgpfvOR8Mqophv/llmZ9tz2nPh+6WcutYDeW+VnlRYWblu8IfkP82rhC9FsNw5E5C/P bXzreezJgg7TZYt4DG5vkD998GZQXl5U4qF/Ex1jZpi1yRs1Vj1W5RY3UmIpzkg01GIuKk4E AChiaxq8AgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At the start of the transfer, the spi_config function is called twice, the first time when the 3c64xx_spi_prepare_message is called and the second time with the s3c64xx_spi_transfer_one, both called from the spi framework. Remove the call from the prepare message as at that point we don't have the imformation about "bit per word" and frequency. Signed-off-by: Andi Shyti --- drivers/spi/spi-s3c64xx.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index 3d54c5f..a98930a 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -676,16 +676,6 @@ static int s3c64xx_spi_prepare_message(struct spi_master *master, struct spi_device *spi = msg->spi; struct s3c64xx_spi_csinfo *cs = spi->controller_data; - /* If Master's(controller) state differs from that needed by Slave */ - if (sdd->cur_speed != spi->max_speed_hz - || sdd->cur_mode != spi->mode - || sdd->cur_bpw != spi->bits_per_word) { - sdd->cur_bpw = spi->bits_per_word; - sdd->cur_speed = spi->max_speed_hz; - sdd->cur_mode = spi->mode; - s3c64xx_spi_config(sdd); - } - /* Configure feedback delay */ writel(cs->fb_delay & 0x3, sdd->regs + S3C64XX_SPI_FB_CLK); @@ -712,6 +702,7 @@ static int s3c64xx_spi_transfer_one(struct spi_master *master, if (bpw != sdd->cur_bpw || speed != sdd->cur_speed) { sdd->cur_bpw = bpw; sdd->cur_speed = speed; + sdd->cur_mode = spi->mode; s3c64xx_spi_config(sdd); } -- 2.8.1