From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756774AbbIXHKl (ORCPT ); Thu, 24 Sep 2015 03:10:41 -0400 Received: from mga03.intel.com ([134.134.136.65]:17180 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752680AbbIXHKk (ORCPT ); Thu, 24 Sep 2015 03:10:40 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,579,1437462000"; d="scan'208";a="651304844" Message-ID: <5603A1E9.4040406@linux.intel.com> Date: Thu, 24 Sep 2015 15:10:33 +0800 From: "Fu, Zhonghui" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: wsa@the-dreams.de, Mika Westerberg , christian.ruppert@alitech.com, atull@opensource.altera.com, jszhang@marvell.com, raymond.tan@intel.com, Romain.Baeriswyl@abilis.com, carlpeng008@gmail.com, david.e.box@linux.intel.com, Alexey.Brodkin@synopsys.com CC: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] i2c/designware: enable i2c controller to suspend/resume asynchronously Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now, PM core supports asynchronous suspend/resume mode for devices during system suspend/resume, and the power state transition of one device may be completed in separate kernel thread. PM core ensures all power state transition timing dependency between devices. This patch enables i2c controller to suspend/resume asynchronously. This will take advantage of multicore and improve system suspend/resume speed. Signed-off-by: Zhonghui Fu --- Changes in v2: - Amend commit message. drivers/i2c/busses/i2c-designware-platdrv.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 3dd2de3..fec0fce 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -245,6 +245,7 @@ static int dw_i2c_probe(struct platform_device *pdev) adap = &dev->adapter; i2c_set_adapdata(adap, dev); + device_enable_async_suspend(&pdev->dev); adap->owner = THIS_MODULE; adap->class = I2C_CLASS_DEPRECATED; strlcpy(adap->name, "Synopsys DesignWare I2C adapter", -- 1.7.1