From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752492AbcLLNMp (ORCPT ); Mon, 12 Dec 2016 08:12:45 -0500 Received: from mail-db5eur01on0136.outbound.protection.outlook.com ([104.47.2.136]:6089 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750712AbcLLNMm (ORCPT ); Mon, 12 Dec 2016 08:12:42 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Subject: Re: [PATCH 3/3] power: supply: bq24735-charger: allow chargers to share the ac-detect gpio To: linux-kernel@vger.kernel.org References: <1481540424-19293-1-git-send-email-peda@axentia.se> <1481540424-19293-4-git-send-email-peda@axentia.se> Cc: Sebastian Reichel , Rob Herring , Mark Rutland , linux-pm@vger.kernel.org, devicetree@vger.kernel.org From: Peter Rosin Organization: Axentia Technologies AB Message-ID: Date: Mon, 12 Dec 2016 12:39:32 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <1481540424-19293-4-git-send-email-peda@axentia.se> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [217.210.101.82] X-ClientProxiedBy: HE1PR0701CA0052.eurprd07.prod.outlook.com (10.168.191.20) To AM5PR0201MB2308.eurprd02.prod.outlook.com (10.169.243.7) X-MS-Office365-Filtering-Correlation-Id: 87e51954-d1ae-49f5-3bd8-08d422838cfa X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:AM5PR0201MB2308; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2308;3:1Q6zt89e2mxf4dtaG3hr+oNzbK9KFt8MKVIokyOG/DZ8+/9DR5NDM8VDmVvjhuTL7XdV9uHnZTmwzYJjDKekyAyeWEUuMwAI9/bDPWmCRcBU+EGUKpi+lnb67ZXEYzzM8XAzM2Grs9I0OXre4UxtHJrCQftsDN0I4tcdsa0AR1UVS77Ofr0/v/PZlSucVcG+rcPB3YPD0J2EmWIkAG1zraz2pUZOu9S2fTpDaB5LlajM9q19/mUPlgd0F4GhG4Kzwty0EcqEKIme2bvPQx5tRw== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2308;25:Z0eC4YmdzBrLFHmokaxlWtWqsW//8HTdbYKMWOx6MpvMigBVcPtgbNPHN8QIEbKiKdnfiALjo5CFiPyM+Ne15HUFEJYa//lezTXOl1KLgaXR7hfhPFJz5sB8J1mERb7dRXLYqus/2qwtGLzFscpO3AuM00/iqNSjPDpm3Q0kN6Jr4DNfBLwfKXTq5+CZDEEzs1Xf/FMXwaDbPNTakJ+8lsmRT0A6fCGvR8xbrEvNu2Jgi7kpGlkIBzLY4sSku5INY+1S7fY5izmurUGQfdbCfJbbeHJLd/Fsy5oMgEMlQfs2uiRgiIWOdBqJ/MfRQ/FUQA/lZCIBU0zFyTuCZinhhvJn8tZ+hhyHLUepXA5VbwY2qsH4mZgaKU8TQdFx7nZqxqJF8+6+JoBccGF77KPSMiIUxZeFEXDgdtsSukuZOU10OV8EdocsnBu1115if726tT96xNGSG7cAAXjRBLx4gadiOnc4sFs21rRCTaSW3XRzUrERPGxbmLHk+S/XhqBM1VXxy1XYk2SLJ5z9jq7f4kMhoG84fafXPSUKnbq+cdkv0NLKEvE+rq9b4qMsQs9pPtyVYap6G3BhssG6SBOhMI+We+jCMd+Il1rjZ3Q8tYHT4OwYYjZuc/exi9pzd5Tr0elYGOIHJS4u55POBE4ltuOpAHg5MhI1kpcw4tv0Wgn0Befk1gHdOjqV1YPNMrxFLPX8uFrmHSJl7QjvTMi9IMUzyIzmqfYCGEnEbUxdlJZBHgoO28ADS2vI9CcRP7ju2x2PnD0NXpcttmN2Ghor64JRTfkOOQYaAteAjq0f3hY= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2308;31:WKyOgX91RFOPFh8A2H2YBQdrMYa/e96PrKvxtxfw1thpTPzVA8gxvI4k5HX5dHJqycr+adcXhmZTMmauLwMo///8/np7iJdtwdI6PPCYS3D+i6hUkBkkmT3s2UW6uzEmuSUbDw31WQ5OHjMtsOWKBgieg7gpNneWcy/alLhSLQvHwdfiMRTaFmeG+9ih5mmojCJEktDrM/TR2JUxce2/ilNeI5y2eUlnO3k++Inv9Za9cpSuWy30hvxDw+HJUmgfOVbNjiesjdqW0r9DvOdEZg==;4:D371tjldIrGopCCD9mYKuwE6G92OORk/rcNd1nIjrFFqYQlgX9VskHr4jFanlc6LxDYFL598Svj5Tl/BSv68A8lYc6FcFCDCfOnssnseAU3d1tLNEfyyKizWBjkYidmVKpbHu+ynDAk7HGGc9dvutgviM2Eq0jCGVAOjs8TLJMvQ6fNVjXU7/4DZB6Hxbfbk1JHob69uCZVKYaNvwXO7APZ+XlIhO3XoWfhJrx84b0bQphiVUjJ+fvGALYtdrOInoHQLwlWqsp36R9s3H6Wc9VOCZa/8mYn1CwAcpzPkM6k9Jwy5xBulR5Ztg//QvDgAHNjhl/0HXT0H8FAkxbimuc4UIePZUDDQ8es7aqc8Ugt0JVmcsWwIDuBDW6vRNZJGnjRsa4hhIULec1GoGdmTNyvT8COYI4ZiI2A9jIOdbOyOJOI9QNKa3ARDzcvK2FFj4KL8OxCL9JilH7BwAM9nbvUWWanJI+bSX9OQJC/sm2iDbHpuMfKkesn8628x4H2sb7+f2/y7/+/iabj/0FZePtE8nNt6ovthyyz+9MNN/5hDULoJu/8KmdYsnyIiDdRftbMN0RUAVk70GN8zRRiGsJF9LIU8ZN6i+G+kloxujKGde9nKlGYXtanZVkoxxz7M X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123564025)(20161123560025)(2016111802025)(20161123555025)(20161123562025)(6043046)(6072148);SRVR:AM5PR0201MB2308;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0201MB2308; X-Forefront-PRVS: 0154C61618 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(39410400002)(39830400002)(39450400003)(189002)(377424004)(199003)(24454002)(90366009)(31686004)(230700001)(6486002)(229853002)(81156014)(74482002)(106356001)(6666003)(5660300001)(50466002)(86362001)(81166006)(4001150100001)(3846002)(117156001)(6916009)(38730400001)(8676002)(305945005)(6116002)(83506001)(7736002)(110136003)(2950100002)(65826007)(47776003)(97736004)(66066001)(2351001)(2361001)(33646002)(50986999)(4001350100001)(77096006)(36756003)(64126003)(31696002)(65956001)(76176999)(4326007)(92566002)(54356999)(23746002)(189998001)(65806001)(2906002)(68736007)(101416001)(105586002)(42186005)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0201MB2308;H:[192.168.0.125];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;AM5PR0201MB2308;23:QmfwXgplwNmSkL1ZvbiiY/mpmPYIWvNwRO0?= =?Windows-1252?Q?uFwuljCZEVrcGgUofA1vf6uyEPx4W5S4AdAnJiemrJMremPpeVgjXusl?= =?Windows-1252?Q?CEgpCi5Z1KKv1FVnwCMExYx784lwM/blWw0iJ1eKxgLEKxoKB9kCAJeO?= =?Windows-1252?Q?f3ohDnck24sXAxnjKv4A8sehVruLn/hem2iXtOVho6ANdF7zoKhUlWrf?= =?Windows-1252?Q?eYaG3KocOQwZzFEerCVRc+0Y2clpZrxhZLN2YEo76xJ/YoMcV+D2N7YU?= =?Windows-1252?Q?2Fl36JxGhniu4BbX4rm7X8KYlMvKJiiOYShVuW6XXTLQJQ0sTTe2Rqla?= =?Windows-1252?Q?oLU/mXrln5xmT4iPy4BeYEfRjLYz+okdNyCsxYxStN9CiuzoPPZbPaEV?= =?Windows-1252?Q?52OKmytqr9PtpUHnnGWBc5wFEglfrFYv6tBfTRW9VbQStXSK4RzjJY5P?= =?Windows-1252?Q?BnS1tcWE27wZgH0x+DxbayVI9fTQO9n4lGYHqs00RFpfN7WgT9nhKcKB?= =?Windows-1252?Q?4RzlANeSvLdxXrMfHZg5J0GRSDeJJoKTLUm/hJstOqSWDdRGiYaXoLPY?= =?Windows-1252?Q?KMsQp4ezVMdxSUoTrdAhbzhaQyKrbOh0PFm7trQx/yqwXaQWnxUjrxEa?= =?Windows-1252?Q?JLb84WRaf53/gixhz/+k5F0yNdWHx+F0nxJ6rZ08CzLWqgjYFzsw8etf?= =?Windows-1252?Q?+3XCqIuugVyhctpVChWARPvCQmNRZ+Q+4SjpK+yfmD00uNwUSySvduPO?= =?Windows-1252?Q?oVH8GNWHjF2dl+MVKOU6ckssTDUMi9cSYljlCa+F5BCq1vyZbvRBJM7F?= =?Windows-1252?Q?WWQKnCIohwBipY0ngu600Ru97GM4QSvSGnMd82QMmXLrQr/CT6lho11d?= =?Windows-1252?Q?seeQwnfi9p2yzvjmOV9F+RBepODAMMOqjFG3hEHzuKuEJbTQVWdaW5VA?= =?Windows-1252?Q?V9W0BT7cI9ZZrNK0gurRvC1cyZi42+llnNZRhOgl17Ror/14lLICv2dY?= =?Windows-1252?Q?WPH16JBBakXqMhd9V86fU/XsaRUbFjpJVJNbnKDlykqQpBfsaer0bH6r?= =?Windows-1252?Q?SCCQtxPGtqqKX0Z2rzShBmzVskh5eS4cuQN84ujdp03ad4xMm1FKauu6?= =?Windows-1252?Q?2mw1bdJpAMonccTGE0QsZEdCx6G3vevKg8Tlm/gEAsr73tGhQjakyT9T?= =?Windows-1252?Q?lFb7/rTT4RngJHvmnII+BMNT+vDjZ7WnZw9thIAbglu0nY82l1x0uQGr?= =?Windows-1252?Q?25BTAChXm2WnL7A9WMlTnfM4kuXPEbZ9KQE2mPBrleWesrgaVyv9P6kw?= =?Windows-1252?Q?eeEfdsPUUfBHlnM+oTyZw6L5z5ZjBdgCIc2axBeJTy1Val2eOEiGgZbk?= =?Windows-1252?Q?Ea88DyRhs8Xn+RzgtZ0Jnt09b74RfdiZ8NOJPtJGbhz/4TmiKN5YJkCR?= =?Windows-1252?Q?aJ3RAeJNsI/nJbHj8I/yHL49UUF71+DslkBsaZgtoM+S7S+X7j3kgbki?= =?Windows-1252?Q?VABh+BzC8teOLwaBjkTQKLT6HOYQIvqGPmrK1iPVVZ8B4vIs2r5Wb6Os?= =?Windows-1252?Q?xrnmUpqS9R3a3HTH0OUEFNNvpsoELpwjTsxwnyYHh+YX++eCWrovoDF6?= =?Windows-1252?Q?6Ga99c3ZrZOmq882SPNXoo1Q=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2308;6:iBw2oYSwzq3+wkzAqtqyS7JsUPi10o/g7UYkN0vFMsp5NX7ZCOsmlImVyLSYxWsMOLLu24kk2QVge7hwcuauYDAPzEZ9d6+TcV4V5c+DkQRD3KzunxpcRg8pe/37udK3VvoxMgt0Iotq/2Wh/pO1r8Y9L8tHVNux2wdVDz7IAvL/U+BFCcm9g4notNC5VsK0JfTpfC+jRsaayZlqjql1b8zqZvTE2kLarpVT1by7zXSnvT7GnwZxl4gx+dQ0nZtyS/YZ+fLMII++aLpPEavfIb+QZJeWJN0q2hnV70WaGvGP/Y/z/8pS6to7jPs90D9GYqKc4OF9wNNNzMZz15c95sFx5lYxE3dbHD6zZtSXqQ4voLkUlqQ0gs4mwiYw7v6Ea3c/0Zsqpfpj/JigvpyXZoANqfht1b198HsQmDvu+kxhXa/wtfzLuY8oJZ5RHiqN;5:Z4BcgskyX1hHpXdEtxBVykxNjFFPBj1dcHEY26kWzA5SyJvKudP6qo5Z4cJ9+Jxa7Rr2gJqBKF9PykVClKCYXVdUHZCB96uOUibnuthEfRv7QMHFup9CfYmRXIf9600RnpO3aWFg2e/kjI5kvt+7vD29Wq5SqKQCywqw61JugeI=;24:U8NVBqhurxBHlrWvB001+EamHU4ZQAYpDTF+sGuLTKzsJPhc05ArfTzDJ9E1rwhSsD7Hdy4WffWur90QpAYFrco3xT5ZbdRfi2y6xwKQJSg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0201MB2308;7:osgjp6qO/KMh03ZilsHjCLBNdGxPhkve/qsWMb9NLBg+YyKjmdo1WkBGaRUCcrgIk0kqpcy7RUVgzGx8yqW2VpiStCKaUjfAULRiasUcE9VXbCO8Z1xgPGxof4VRQSY777gZ1acEz2WlqKdprsWB0hTVv7Qdu43gerc6O9gJu67c6HrHlVVaGB7MVBejuPRCYqAGBmvwW6DRDOphQfobDzJwDveQU/K0IcoEguDDMbLM4xIbm4ziKoFsfBVMQ3/abepZxJHj9UZqrXwPNt5nnbBSn3JE2YAXcEklBjO6kuIq+15vrnX7sFgXHzNtk13cfzwFvtqSDfXWuMZCz+0bz3SinBVD7ph0LSz7g4UtrcT7GDCKmyH1TN2Lhiid3IOtOR4fbjN9A9YAPsBstxmziDcXHiOCtYw8VbdkVI4S4ihdGx9HPSyFDJqYigl8Lx9jh7/foCjUOmLlWCttbo6jFQ== X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2016 11:39:36.0076 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0201MB2308 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016-12-12 12:00, Peter Rosin wrote: > If several parallel bq24735 chargers have their ac-detect gpios wired > together (or if only one of the parallel bq24735 chargers have its > ac-detect pin wired to a gpio, and the others are assumed to react the > same), then all driver instances need to check the same gpio. But the > gpio subsystem does not allow sharing gpios, so handle that locally. > > However, only do this for the polling case, sharing is not supported if > the ac detection is handled with interrupts. > > Signed-off-by: Peter Rosin > --- > drivers/power/supply/bq24735-charger.c | 101 +++++++++++++++++++++++++++++---- > 1 file changed, 90 insertions(+), 11 deletions(-) > > diff --git a/drivers/power/supply/bq24735-charger.c b/drivers/power/supply/bq24735-charger.c > index 3765806d5d46..3b21a064a9a7 100644 > --- a/drivers/power/supply/bq24735-charger.c > +++ b/drivers/power/supply/bq24735-charger.c > @@ -25,6 +25,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -43,12 +44,24 @@ > #define BQ24735_MANUFACTURER_ID 0xfe > #define BQ24735_DEVICE_ID 0xff > > +struct bq24735; > + > +struct bq24735_shared { > + struct list_head list; > + struct bq24735 *owner; > + struct gpio_desc *status_gpio; > +}; > + > +static struct mutex shared_lock; Aww crap, that should of course be static DEFINE_MUTEX(shared_lock); Will fix in v2, but I'll wait for other feedback first. Why is it impossible to see these things before hitting send? Cheers, peda