[{"id":1762481,"web_url":"http://patchwork.ozlabs.org/comment/1762481/","msgid":"<20170904073850.i77nk36k5extin56@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-04T07:38:51","subject":"Re: [PATCH v5 3/3] eeprom: at24: enable runtime pm support","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"Hi Divagar,\n\nOn Mon, Sep 04, 2017 at 12:10:45PM +0530, Divagar Mohandass wrote:\n> Currently the device is kept in D0, there is an opportunity\n> to save power by enabling runtime pm.\n> \n> Device can be daisy chained from PMIC and we can't rely on I2C core\n> for auto resume/suspend. Driver will decide when to resume/suspend.\n> \n> Signed-off-by: Divagar Mohandass <divagar.mohandass@intel.com>\n> ---\n>  drivers/misc/eeprom/at24.c | 40 ++++++++++++++++++++++++++++++++++++++++\n>  1 file changed, 40 insertions(+)\n> \n> diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c\n> index 2199c42..03f5cb7 100644\n> --- a/drivers/misc/eeprom/at24.c\n> +++ b/drivers/misc/eeprom/at24.c\n> @@ -750,9 +782,12 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)\n>  \terr = at24_read(at24, 0, &test_byte, 1);\n\nYou do pm_runtime_put()s here and drop the ones below as it's needed\nunconditionally. Then I think we're done.\n\n>  \tif (err) {\n>  \t\terr = -ENODEV;\n> +\t\tpm_runtime_put(&client->dev);\n>  \t\tgoto err_clients;\n>  \t}\n>  \n> +\tpm_runtime_put(&client->dev);\n> +\n>  \tat24->nvmem_config.name = dev_name(&client->dev);\n>  \tat24->nvmem_config.dev = &client->dev;\n>  \tat24->nvmem_config.read_only = !writable;","headers":{"Return-Path":"<linux-i2c-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-i2c-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xm1tm5pf6z9s7c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 17:38:56 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753259AbdIDHiz (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 4 Sep 2017 03:38:55 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:54914 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S1751949AbdIDHiy (ORCPT\n\t<rfc822;linux-i2c@vger.kernel.org>); Mon, 4 Sep 2017 03:38:54 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 1EE6B600E6;\n\tMon,  4 Sep 2017 10:38:52 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1doly7-0002Kp-Gh; Mon, 04 Sep 2017 10:38:51 +0300"],"Date":"Mon, 4 Sep 2017 10:38:51 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Divagar Mohandass <divagar.mohandass@intel.com>","Cc":"robh+dt@kernel.org, mark.rutland@arm.com, wsa@the-dreams.de,\n\tdevicetree@vger.kernel.org, linux-i2c@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, rajmohan.mani@intel.com","Subject":"Re: [PATCH v5 3/3] eeprom: at24: enable runtime pm support","Message-ID":"<20170904073850.i77nk36k5extin56@valkosipuli.retiisi.org.uk>","References":"<1504507245-12902-1-git-send-email-divagar.mohandass@intel.com>\n\t<1504507245-12902-4-git-send-email-divagar.mohandass@intel.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<1504507245-12902-4-git-send-email-divagar.mohandass@intel.com>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"linux-i2c-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-i2c.vger.kernel.org>","X-Mailing-List":"linux-i2c@vger.kernel.org"}},{"id":1762562,"web_url":"http://patchwork.ozlabs.org/comment/1762562/","msgid":"<7B8CE47BD58441468D2BB13285B50E6031DE80FF@BGSMSX107.gar.corp.intel.com>","list_archive_url":null,"date":"2017-09-04T10:27:26","subject":"RE: [PATCH v5 3/3] eeprom: at24: enable runtime pm support","submitter":{"id":72054,"url":"http://patchwork.ozlabs.org/api/people/72054/","name":"Divagar Mohandass","email":"divagar.mohandass@intel.com"},"content":"Hi Sakari,\n\nThanks, I will fix this and send the patch v6.\n\n---\n^Divagar\n\n>-----Original Message-----\n>From: Sakari Ailus [mailto:sakari.ailus@iki.fi]\n>Sent: Monday, September 04, 2017 1:09 PM\n>To: Mohandass, Divagar <divagar.mohandass@intel.com>\n>Cc: robh+dt@kernel.org; mark.rutland@arm.com; wsa@the-dreams.de;\n>devicetree@vger.kernel.org; linux-i2c@vger.kernel.org; linux-\n>kernel@vger.kernel.org; Mani, Rajmohan <rajmohan.mani@intel.com>\n>Subject: Re: [PATCH v5 3/3] eeprom: at24: enable runtime pm support\n>\n>Hi Divagar,\n>\n>On Mon, Sep 04, 2017 at 12:10:45PM +0530, Divagar Mohandass wrote:\n>> Currently the device is kept in D0, there is an opportunity to save\n>> power by enabling runtime pm.\n>>\n>> Device can be daisy chained from PMIC and we can't rely on I2C core\n>> for auto resume/suspend. Driver will decide when to resume/suspend.\n>>\n>> Signed-off-by: Divagar Mohandass <divagar.mohandass@intel.com>\n>> ---\n>>  drivers/misc/eeprom/at24.c | 40\n>> ++++++++++++++++++++++++++++++++++++++++\n>>  1 file changed, 40 insertions(+)\n>>\n>> diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c\n>> index 2199c42..03f5cb7 100644\n>> --- a/drivers/misc/eeprom/at24.c\n>> +++ b/drivers/misc/eeprom/at24.c\n>> @@ -750,9 +782,12 @@ static int at24_probe(struct i2c_client *client,\n>const struct i2c_device_id *id)\n>>  \terr = at24_read(at24, 0, &test_byte, 1);\n>\n>You do pm_runtime_put()s here and drop the ones below as it's needed\n>unconditionally. Then I think we're done.\n>\n>>  \tif (err) {\n>>  \t\terr = -ENODEV;\n>> +\t\tpm_runtime_put(&client->dev);\n>>  \t\tgoto err_clients;\n>>  \t}\n>>\n>> +\tpm_runtime_put(&client->dev);\n>> +\n>>  \tat24->nvmem_config.name = dev_name(&client->dev);\n>>  \tat24->nvmem_config.dev = &client->dev;\n>>  \tat24->nvmem_config.read_only = !writable;\n>\n>--\n>Kind regards,\n>\n>Sakari Ailus\n>e-mail: sakari.ailus@iki.fi","headers":{"Return-Path":"<linux-i2c-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-i2c-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xm5dd5Tjfz9s82\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 20:27:49 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753422AbdIDK1e convert rfc822-to-8bit (ORCPT\n\t<rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 4 Sep 2017 06:27:34 -0400","from mga02.intel.com ([134.134.136.20]:18101 \"EHLO mga02.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1753344AbdIDK1d (ORCPT <rfc822;linux-i2c@vger.kernel.org>);\n\tMon, 4 Sep 2017 06:27:33 -0400","from orsmga001.jf.intel.com ([10.7.209.18])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t04 Sep 2017 03:27:32 -0700","from fmsmsx106.amr.corp.intel.com ([10.18.124.204])\n\tby orsmga001.jf.intel.com with ESMTP; 04 Sep 2017 03:27:32 -0700","from fmsmsx122.amr.corp.intel.com (10.18.125.37) by\n\tFMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP\n\tServer (TLS) id 14.3.319.2; Mon, 4 Sep 2017 03:27:31 -0700","from bgsmsx101.gar.corp.intel.com (10.223.4.170) by\n\tfmsmsx122.amr.corp.intel.com (10.18.125.37) with Microsoft SMTP\n\tServer (TLS) id 14.3.319.2; Mon, 4 Sep 2017 03:27:31 -0700","from BGSMSX107.gar.corp.intel.com ([169.254.9.43]) by\n\tBGSMSX101.gar.corp.intel.com ([169.254.1.62]) with mapi id\n\t14.03.0319.002; Mon, 4 Sep 2017 15:57:27 +0530"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.41,474,1498546800\"; d=\"scan'208\";a=\"1168928513\"","From":"\"Mohandass, Divagar\" <divagar.mohandass@intel.com>","To":"Sakari Ailus <sakari.ailus@iki.fi>","CC":"\"robh+dt@kernel.org\" <robh+dt@kernel.org>,\n\t\"mark.rutland@arm.com\" <mark.rutland@arm.com>,\n\t\"wsa@the-dreams.de\" <wsa@the-dreams.de>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>,\n\t\"linux-i2c@vger.kernel.org\" <linux-i2c@vger.kernel.org>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\t\"Mani, Rajmohan\" <rajmohan.mani@intel.com>","Subject":"RE: [PATCH v5 3/3] eeprom: at24: enable runtime pm support","Thread-Topic":"[PATCH v5 3/3] eeprom: at24: enable runtime pm support","Thread-Index":"AQHTJUjBoLAPnfkbqUaC9a3wn1dBGKKj+u+AgACDgRA=","Date":"Mon, 4 Sep 2017 10:27:26 +0000","Message-ID":"<7B8CE47BD58441468D2BB13285B50E6031DE80FF@BGSMSX107.gar.corp.intel.com>","References":"<1504507245-12902-1-git-send-email-divagar.mohandass@intel.com>\n\t<1504507245-12902-4-git-send-email-divagar.mohandass@intel.com>\n\t<20170904073850.i77nk36k5extin56@valkosipuli.retiisi.org.uk>","In-Reply-To":"<20170904073850.i77nk36k5extin56@valkosipuli.retiisi.org.uk>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","dlp-product":"dlpe-windows","dlp-version":"11.0.0.116","dlp-reaction":"no-action","x-originating-ip":"[10.223.10.10]","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"8BIT","MIME-Version":"1.0","Sender":"linux-i2c-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-i2c.vger.kernel.org>","X-Mailing-List":"linux-i2c@vger.kernel.org"}}]