From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753052AbcLNA2j (ORCPT ); Tue, 13 Dec 2016 19:28:39 -0500 Received: from mail-db5eur01on0097.outbound.protection.outlook.com ([104.47.2.97]:32247 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752502AbcLNA2h (ORCPT ); Tue, 13 Dec 2016 19:28:37 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; From: Peter Rosin To: linux-kernel@vger.kernel.org Cc: Peter Rosin , Sebastian Reichel , Rob Herring , Mark Rutland , linux-pm@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 0/3] bq24735-charger: allow gpio polling and sharing Date: Wed, 14 Dec 2016 00:56:42 +0100 Message-Id: <1481673405-4547-1-git-send-email-peda@axentia.se> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [217.210.101.82] X-ClientProxiedBy: DB6P195CA0006.EURP195.PROD.OUTLOOK.COM (10.171.120.144) To AM5PR0201MB2305.eurprd02.prod.outlook.com (10.169.242.149) X-MS-Office365-Filtering-Correlation-Id: 193cd825-769d-438e-2df0-08d423b3bba1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:AM5PR0201MB2305; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2305;3:5UhywftzL9etNS3E821Is3w893NYryx+tYDTWWsram5WPP7mOKYkIYmAtjvNmxNPvNW6QchDCtzNZZaJLSwNhu/+iV9P8+FoeddzroD3L9ld8aG5dH8/3Lhw8AAOdVYlkeiEq7KyFlkA8XLr4fTyuzlhrwL78gx3TIndbHtnbqXTqcj5kWpPhKm5pwrFbKGOpdRVS6XW8w8sr/dDN51AZgI4CzHPVgUb8VaxYfJeDbZwjWov15QnCcwkt366W4iPGLQffWnW3OGKTfKpSWoVfQ==;25:NDYOCQIRPVQBC5aKAoIBCuBPP9DazejvDLSomImcDqLqXrzjibHdYQBSjiOW72BEvpopyKsE93HANcVdfqb9apivR7lun/YaLpJ3Wiq114N4FUiRyN3IEE7nedx7rx6nMXDH7rCNqVkKWkuqm7+IVZBO0jPHeMwgOH/mREH4g6W4chLtBp71q/ACyMMddYORAoeusjUUh1hQtUmrIRXa4Ehtck+63ASyyILhumiJ5ExP73cclzzvXFE6WKSV/6Y55Ercwn0KDTuO/vu5T0IwtYqg175bv3jNVGCr3Kq/xxcClW7XsjjBJBypwsvIVBpkuVNbZr/ayfZrUvE8Npt1IA/jiio5uxx/T3chgpFHcsnqVn6/8FCIOpmEeJWFR6oLxYhX6WFp1hLS8aIKlsDW5ey/w/+wXdQlWW0KiMli/bZ6ReaUthxlwHVFJ01aKoBauBFXc0jnEkCSdIEEDYchvA== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2305;31:9rClp6WWBA6agzTZMVoriqgwz7/0Ke9J3HoRMjMSSs/vBBYUy8To+zWHvzcg+nxf8D0LyEnOJPbcskWOKYx2vfQ9RR/N+ArjBzRYPj0r60lt7NVWng5l6Hx/CdzEJDcOZAQoSw2jkYh+C2y6I3lX7V6OBg0kFxYvdmsxGsFCjz/uiKFrOOzGTlwQjQkC9Q2t2iLsUvpzAe0oR/fIDWoYW4EUHrkx9PsteE/0UNlUkCAiURER9KEun2xvD5xLUn5U;4:+nndynu8cYsl+wIRDF/rCSSJZfTgNkP7SuPi8M8eORlNbjEqVFVIRuUotRilzQFU8162KDiSN3zmN19kspirlT2m5Yr1WlveT76it9hvQMx9MjQzwywASDlBPa4uqXxFc/NePmpx4aJsFhvyIdrsy6SDnBO5m68Z1gYXj1n1wJYyZrA1+MBO5jKl8HUXzgXeezKURMfEcrkJ9vCkwCzbrr9fL1yGo5/iNi0fEy4IS7b3ICxJTje7LqKEzmqDBQdodxZSsCXgkSvsVxspw9Wyvzu/wuZLiX38j7naKWLz9pBjsGAADd970iHVPG8bp4N08MxmTHWJiBdYuuOrBhtvo55v2iMS/+9a5LS9kwO5YsUv7mmnSVN57DBsRIbnzQEL1H+CgEEYnqhcaU5GO4SsCk6MdxQYlfv8ihD/mANxEDxaRL37zhrxF1ZQwdrG7Vt7VH1kf01qKZGlF8Kl2QgRGZrotOB8g8kDA6k8Dxli9bJXppkQQ7Pv1jPMFpWDXJuhZSVlpD6LTJiaZA9pnYTaT63eBY/33kjtpK8o/x7HgJGohtTbE1zpPDF599XHGF0NcnjkfWpmRMt3c8W13BssjLtVPYpg2YbTJXVdNJ2JPZhkDBcQSzEo7IuyjUlQZZwPrzdyyf5j1KmJC+W2cRwfjc+fcYXQBIvhqrMWepsKexY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(20161123558021)(2016111802025)(6072148)(6043046);SRVR:AM5PR0201MB2305;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0201MB2305; X-Forefront-PRVS: 01559F388D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(39830400002)(39410400002)(199003)(189002)(92566002)(86362001)(6666003)(47776003)(38730400001)(6916009)(305945005)(7736002)(36756003)(66066001)(50986999)(33646002)(2906002)(42186005)(48376002)(50466002)(105586002)(106356001)(2351001)(68736007)(74482002)(6506006)(97736004)(101416001)(3846002)(2361001)(6116002)(189998001)(6486002)(81156014)(5003940100001)(4326007)(8676002)(50226002)(110136003)(5660300001)(81166006)(6512006)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0201MB2305;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0201MB2305;23:7TbBAR/x5/TfIQau976s8Ew0M0A5Q4n9/jn8exm?= =?us-ascii?Q?w3iayDSNSM3LhIHTl62Ib/96RYliiBL14Z1VBOCZldcPGiQsgNR8r4Sbtji2?= =?us-ascii?Q?D3+TB9iut310N5urYKT3tpXWjtecM99N8VkWcPahkJi8bmG21xNId3gmQUHW?= =?us-ascii?Q?LCCGW/hFxLZihb23vjFeJLvyKijA4+Yv4dT2Mak9tIM+csZQ2g+CG5TrqXna?= =?us-ascii?Q?2WMFupXF06JQFh2mkTAJlvciAV4dx21PjmdFoouLuaLMpD2rHkkZ0tVs+R5Y?= =?us-ascii?Q?pyiO1FjEFMmdWYhkn8Hr3lKyYoL3Uv0NL1gtbs6nU+QhYH4AuJC4GWB4rM5b?= =?us-ascii?Q?9VIoJpKorw1os65+QGDsP3MtDsy7XOfhCe0Gm28C2ms+8FbwmtmzdHJp6Y9V?= =?us-ascii?Q?qomDNQJzU740g470wC5ja/g0u/MWkn8jbEdwW77tVEGzC7mO4M3kQi3/HHcQ?= =?us-ascii?Q?vo3cy+Zr5R5hQahRFkdgS9aKRLg8A6ZuxawhGq4Sld5U63XExLxAMjJEg4H/?= =?us-ascii?Q?otiNC6WUJq145mvGdPfi4IlYO+6SCNoZpwe0YaifvsZonEPSahh5RZ5yhVOt?= =?us-ascii?Q?FvxyZbWe3Hv9nmEvBH7xhs3vh7SUTyoJVkQnU+WeGOF2vBzMvsc7+y3yBhiI?= =?us-ascii?Q?6SBr1UVfXsBow2KneWGGdDEeEiKESlVWaoD2Bp8ypHlHA0yMpqpUjtMYKVYo?= =?us-ascii?Q?rtBMRCKWUMUF6JC6oEfW7yeLcM44KayB6/+7qj5OWiMkaEUcmPzjedYegW1x?= =?us-ascii?Q?QO/ZVQTe4E/dfXu1N4LFcf7Gu/B9gQsz1ZZZSogXfirZqihR/1vdSOkexwQ/?= =?us-ascii?Q?t01frBBJ3mtjZfvFIWhIYmxa+4CGmE36cWzl8FsXmXASUC3Xj8VF3dxKSAJT?= =?us-ascii?Q?4Ti4qpQWAG0qLuEj0XSUwRBOVpg9KMwmtcGUanLcXiY5it92qzTwRbwiYVm4?= =?us-ascii?Q?gTOypux6yXAc2yuU5vkzCphc8orTBRGqtSTFcyHenJIv9zt/RS7x/GMxyHAC?= =?us-ascii?Q?7HWesF1l4Cb1Y1/Z6eCUYGq/LeUBHnvZ79Te19+nXuNN/A1QVkFfWT+mrYPU?= =?us-ascii?Q?A5NeFpilfq4hNSe/bQt4gGzK5ZPbi2M7VimQ23VEU0iVchZq1t1CWCpw0MWG?= =?us-ascii?Q?beBOoqTxG8Dmr/TXNqMUDxJitGMMXmLunxVthND6Y4fu/sJ4BUTGB9Q=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2305;6:krNRfxoRgUFBb974vnonR5lJtrHZuAszRq0NnryNPd0w+T3axCczgsG7llDwy7lxBZ/SsEy95eY1ElB2VzaH4WnS4FhmboDXRM9qnSL9afkjJbceC41641Mig1Yzd3rpYBS5j1ZZGSQ/j7a3VqSuULjCbaQH1x/5JTLltM2gEFq0tJUBmUjBKZRSf4Q3XdjQCiZcVtxMxbrqYUeuQenyJymN4O0iLFiUQZFcpqHj49Gfr4EFcFtqWjSPSr/ppm6XMM/a62VQg4DmOjfXHXLgDYrztZiWGVX3UZCP5DB+d0b0HwOaMJqZmysbN7j+sOzRPRygMrJNRD/dLdV9eB5XCOSNKFZx+yyUiR+TSPB3D6ZwfyuTE5hwodKP15GwAZ8yKIE7BE9MKw6iqW4KhPmaneXAP9swJ46GPloPDSSIhlMCxzvTi2WqP+Xg910qODsT;5:tQDkZL/n412dpjNYew38iQ061D2vfEHmqK4XSRKkr+TsgZuUDPlZXtSuB7hKxgK16KR+X6D2F0OiIHyqAWXlGV8MAzfoQpt+4MtCM89aTdCZQ9NXxX1f7m5rMrkjYg7koAM9sGjjP0iz3hk8YqSj+fU5D3HcOeoNjqccGnDXZq8=;24:JRA4dT8RKc0UOJE3om8WZWRTUkpqYZOVvOKX8KrQ6sa1oh7HxvOl7Xjbq0hIy4Btn4ce4F4vGrEmt7C6mLdoG8bMaOTU6jTDqKZWS2I/Evs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2305;7:RsJ64tvzVfzOR/p74fWH0ldS/ASDZzvYJ1sQjB+uY9icq478Rm0iwNQLdlZAXH87P37/OEM5fldHnwX2hf14ioPQc5m9fLz0falxKVinHZETexnzuJp2yVFk5xy8a1AaD0yBar2lzEfcSKMeDhzQJIXdojutNsJKMHRSGkbLH0g+KnqWcpZbXd/KCyd+zSsRjyk4yGqdq78srqhUN463Bc4yT6JNdscpaIEdBN1Q3Ss/rNt79jsFwuz8YpuYXx4PNuICAULFVNe4cG/IpvUf90m8/YVSqtTmkhkY7v5gVvjsoysVFGUkS3nnNme4WAdt4erN+cHqIw7Gxxbi8HXEfP/Yn87b34oWCBrT1ggtui998aR/wp4IwuMJubgnMz5PfpJGd1U/JuCkTLVfEVzSMd1lbNguokWfevpz7I//Wc/IE7kX6HBL9JyBuo9A++9mmEKf8pWb0eATatO9gTlg2g== X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2016 23:57:00.9103 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0201MB2305 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi! v1 -> v2 changes: - use poll-interval instead of ti,poll-interval-ms in the bindings - properly initialize the shared_lock mutex - don't share gpios on active low/high mismatch - don't regress users specifying the old ti,ac-detect-gpio form (without the trailing s) I have a board that features a couple of parallel bq24735 chargers. However, only one of the chargers has its ACOK pin wired to a gpio, the other parallel chargers are expected to just behave the same as the charger that has been singled out like this. Another thing with the board is that the gpio is not capable of generating an interrupt. This series fixes things for me (ok, the first patch was just a fix for a thing that initially had me confused for a bit, and is totally unrelated. Ignore if you want to, it's basically just churn). One thing that I wonder about is if anything should be done to prevent unloading of the instance that shares its gpio? I thought about adding a device_link_add() call, but am unsure if that would be approprite? I'm not unloading drivers at all so it's a total non-issue for me... Cheers, peda Peter Rosin (3): power: supply: bq24735-charger: simplify register update to stop charging power: supply: bq24735-charger: optionally poll the ac-detect gpio power: supply: bq24735-charger: allow chargers to share the ac-detect gpio .../bindings/power/supply/ti,bq24735.txt | 2 + drivers/power/supply/bq24735-charger.c | 164 ++++++++++++++++++--- 2 files changed, 148 insertions(+), 18 deletions(-) -- 2.1.4