Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/793175/?format=api
{ "id": 793175, "url": "http://patchwork.ozlabs.org/api/patches/793175/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/patch/1500954024-6860-11-git-send-email-preid@electromag.com.au/", "project": { "id": 35, "url": "http://patchwork.ozlabs.org/api/projects/35/?format=api", "name": "Linux I2C development", "link_name": "linux-i2c", "list_id": "linux-i2c.vger.kernel.org", "list_email": "linux-i2c@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1500954024-6860-11-git-send-email-preid@electromag.com.au>", "list_archive_url": null, "date": "2017-07-25T03:40:24", "name": "[v10,10/10] power: supply: sbs-battery: move gpio present detect to sbs_get_property", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "12a5e3f73ef7c5dd2f374e68824c2cd2d8708ea4", "submitter": { "id": 66145, "url": "http://patchwork.ozlabs.org/api/people/66145/?format=api", "name": "Phil Reid", "email": "preid@electromag.com.au" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/patch/1500954024-6860-11-git-send-email-preid@electromag.com.au/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/793175/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/793175/checks/", "tags": {}, "related": [], "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 3xGkY42krcz9s78\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 25 Jul 2017 13:40:56 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754565AbdGYDks (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 24 Jul 2017 23:40:48 -0400", "from anchovy2.45ru.net.au ([203.30.46.146]:51556 \"EHLO\n\tanchovy.45ru.net.au\" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org\n\twith ESMTP id S1754872AbdGYDkg (ORCPT\n\t<rfc822; linux-i2c@vger.kernel.org>); Mon, 24 Jul 2017 23:40:36 -0400", "(qmail 15023 invoked by uid 5089); 25 Jul 2017 03:40:33 -0000", "by simscan 1.2.0 ppid: 14960, pid: 14961, t: 0.0474s\n\tscanners: regex: 1.2.0 attach: 1.2.0 clamav: 0.88.3/m:40/d:1950", "from unknown (HELO preid-centos7.electromag.com.au)\n\t(preid@electromag.com.au@203.59.230.133)\n\tby anchovy3.45ru.net.au with ESMTPA; 25 Jul 2017 03:40:33 -0000", "by preid-centos7.electromag.com.au (Postfix, from userid 1000)\n\tid A7AFB3024957D; Tue, 25 Jul 2017 11:40:29 +0800 (AWST)" ], "X-RBL": "$rbltext", "From": "Phil Reid <preid@electromag.com.au>", "To": "wsa@the-dreams.de, robh+dt@kernel.org, mark.rutland@arm.com,\n\tsre@kernel.org, jdelvare@suse.com, jglauber@cavium.com,\n\tdavid.daney@cavium.com, peda@axentia.se, preid@electromag.com.au,\n\tbenjamin.tissoires@redhat.com, linux-i2c@vger.kernel.org,\n\tdevicetree@vger.kernel.org, linux-pm@vger.kernel.org", "Subject": "[PATCH v10 10/10] power: supply: sbs-battery: move gpio present\n\tdetect to sbs_get_property", "Date": "Tue, 25 Jul 2017 11:40:24 +0800", "Message-Id": "<1500954024-6860-11-git-send-email-preid@electromag.com.au>", "X-Mailer": "git-send-email 1.8.3.1", "In-Reply-To": "<1500954024-6860-1-git-send-email-preid@electromag.com.au>", "References": "<1500954024-6860-1-git-send-email-preid@electromag.com.au>", "Sender": "linux-i2c-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<linux-i2c.vger.kernel.org>", "X-Mailing-List": "linux-i2c@vger.kernel.org" }, "content": "Currently when a gpio is defined for battery presence it is only used in\nthe sbs_get_battery_presence_and_health function for 2 properties.\nAll other properties currently try to read data form the battery before\nreturning an error if not present. We should know in advance that no\ndata is going to returned.\n\nAs the driver tries multiple times to access a property, this prevents\na lot of smbus accesses, which had a significant effect on device boot-up.\nAs when the device is registered lots of property accesses are attempted\nduring boot.\n\nIf no gpio is used for presence detection no change in behaviour should\noccur.\n\nSigned-off-by: Phil Reid <preid@electromag.com.au>\nReviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>\n---\n drivers/power/supply/sbs-battery.c | 23 +++++++++++++----------\n 1 file changed, 13 insertions(+), 10 deletions(-)", "diff": "diff --git a/drivers/power/supply/sbs-battery.c b/drivers/power/supply/sbs-battery.c\nindex f705945..686e7cb 100644\n--- a/drivers/power/supply/sbs-battery.c\n+++ b/drivers/power/supply/sbs-battery.c\n@@ -325,16 +325,6 @@ static int sbs_get_battery_presence_and_health(\n \tunion power_supply_propval *val)\n {\n \ts32 ret;\n-\tstruct sbs_info *chip = i2c_get_clientdata(client);\n-\n-\tif (psp == POWER_SUPPLY_PROP_PRESENT && chip->gpio_detect) {\n-\t\tret = gpiod_get_value_cansleep(chip->gpio_detect);\n-\t\tif (ret < 0)\n-\t\t\treturn ret;\n-\t\tval->intval = ret;\n-\t\tchip->is_present = val->intval;\n-\t\treturn ret;\n-\t}\n \n \t/*\n \t * Write to ManufacturerAccess with ManufacturerAccess command\n@@ -600,6 +590,19 @@ static int sbs_get_property(struct power_supply *psy,\n \tstruct sbs_info *chip = power_supply_get_drvdata(psy);\n \tstruct i2c_client *client = chip->client;\n \n+\tif (chip->gpio_detect) {\n+\t\tret = gpiod_get_value_cansleep(chip->gpio_detect);\n+\t\tif (ret < 0)\n+\t\t\treturn ret;\n+\t\tif (psp == POWER_SUPPLY_PROP_PRESENT) {\n+\t\t\tval->intval = ret;\n+\t\t\tchip->is_present = val->intval;\n+\t\t\treturn 0;\n+\t\t}\n+\t\tif (ret == 0)\n+\t\t\treturn -ENODATA;\n+\t}\n+\n \tswitch (psp) {\n \tcase POWER_SUPPLY_PROP_PRESENT:\n \tcase POWER_SUPPLY_PROP_HEALTH:\n", "prefixes": [ "v10", "10/10" ] }