From patchwork Wed Nov 10 10:32:59 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gregory CLEMENT X-Patchwork-Id: 313632 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oAAAhCnH029296 for ; Wed, 10 Nov 2010 10:43:12 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753583Ab0KJKnK (ORCPT ); Wed, 10 Nov 2010 05:43:10 -0500 Received: from mail.free-electrons.com ([88.190.12.23]:44546 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752484Ab0KJKnJ (ORCPT ); Wed, 10 Nov 2010 05:43:09 -0500 X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Wed, 10 Nov 2010 10:43:13 +0000 (UTC) X-Greylist: delayed 628 seconds by postgrey-1.27 at vger.kernel.org; Wed, 10 Nov 2010 05:43:09 EST Received: by mail.free-electrons.com (Postfix, from userid 106) id E4601138; Wed, 10 Nov 2010 11:33:11 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.3.1 Received: from [192.168.100.11] (tra42-1-82-232-183-99.fbx.proxad.net [82.232.183.99]) by mail.free-electrons.com (Postfix) with ESMTPA id D850A1DF; Wed, 10 Nov 2010 11:33:04 +0100 (CET) Message-ID: <4CDA74DB.1060102@free-electrons.com> Date: Wed, 10 Nov 2010 11:32:59 +0100 From: Gregory CLEMENT User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101027 Lightning/1.0b1 Thunderbird/3.0.10 MIME-Version: 1.0 To: spi-devel-general , linux-omap CC: David Brownell , Grant Likely , Kevin Hilman Subject: [PATCH v2 2/2] spi: Force CS to be in inactive state after off-mode transition X-Enigmail-Version: 1.0.1 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c index 2a651e6..938f14c 100644 --- a/drivers/spi/omap2_mcspi.c +++ b/drivers/spi/omap2_mcspi.c @@ -1139,6 +1139,15 @@ static u8 __initdata spi4_txdma_id[] = { }; #endif +/* When SPI wake up, CS is in wrong state: force it to unactive state*/ +static void omap2_mcspi_resume(struct spi_device *spi) +{ + omap2_mcspi_enable_clocks( spi_master_get_devdata(spi->master)); + /* We need to togle CS state for OMAP take this chang in account*/ + omap2_mcspi_force_cs(spi, 1); + omap2_mcspi_force_cs(spi, 0); + omap2_mcspi_disable_clocks( spi_master_get_devdata(spi->master)); +} static int __init omap2_mcspi_probe(struct platform_device *pdev) { struct spi_master *master; @@ -1194,6 +1203,7 @@ static int __init omap2_mcspi_probe(struct