From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754044AbeAQPh5 (ORCPT ); Wed, 17 Jan 2018 10:37:57 -0500 Received: from mail-ve1eur01on0106.outbound.protection.outlook.com ([104.47.1.106]:36759 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753691AbeAQP1S (ORCPT ); Wed, 17 Jan 2018 10:27:18 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Subject: Re: [PATCH 3/3] pinctrl: sx150x: add a static gpio/pinctrl pin range mapping To: Andrew Jeffery , linux-kernel@vger.kernel.org Cc: Linus Walleij , Charles Keepax , linux-gpio@vger.kernel.org References: <20180117133423.4482-1-peda@axentia.se> <20180117133423.4482-4-peda@axentia.se> <1516201554.5522.15.camel@aj.id.au> From: Peter Rosin Organization: Axentia Technologies AB Message-ID: <5bd06c52-8cb1-eca6-02d8-f85e273f4706@axentia.se> Date: Wed, 17 Jan 2018 16:27:11 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <1516201554.5522.15.camel@aj.id.au> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [85.226.244.23] X-ClientProxiedBy: DB6PR07CA0082.eurprd07.prod.outlook.com (2603:10a6:6:2b::20) To VI1PR0202MB2781.eurprd02.prod.outlook.com (2603:10a6:800:da::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 87edd396-b662-4a49-169d-08d55dbeca51 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(7021125)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:VI1PR0202MB2781; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0202MB2781;3:QoLd6KJE6pvtSBmUWp3dKgYScFUQwJehigbMfq6JBIPlqnw3KA/gqu4MU+b+g46A1Q599THNTWwA2/3YTnQ+oESrQOXPz4PzNvnGRRlhCkNeebJGHb3MnrZv3AzrZ90mDTrFgJnTndSUqsSmawmA+J8xrD8MM3mTxuA/gppX427JtZ5WprgP49h9ELyeB/gK5X+ymRprIA+hsmzBeYUNn20DiPSir9d9aVlKqzzHstIReYskmluaC7tSXobJuXaH;25:qvk8CFuahTP+oANNngFmy1LE5MWDaDKynjtWz6mei+7VJIV0nEePRtDSILs33nPEjJ9NxeyXnJ8rC+6rKX77MuapkbvDkAFSmlOijotzJ232z273n/d8ch0esXktWaEALC5M1GFJLJ+Xy8D1Kd1eOyGTZ6LdqlqgAh0w4P7/5NxCZ7ox1MafE707l7cTfd8ceQT659fMdcBifXvHgA7buYmq+0hpgKr9twqJmJ/+gzR1kfJ9cavsZuHw6Pd78RnmI3th9pi+ckZd0oYNS9SUUT7hZSj2XWqqpYLoccVEpflQNzl434gX2meViJZjiKD6rBQ5BgExgCiAii3PyFThbA==;31:R1Ol4dTMhUW2B9VXzD6uVWpmMteQyKmacM0a9vfL9N6zTPRHjy2rzG0A45pGq2+4YrxwJKol9srXX11c1CJtuYvE1KvA9Dq9y1RJIULB1846fzS/3guVAO2N/L6Ab7JyE51/74RtcVBdzpUP7tosipDo+EBDImHC6dZ4h4CkbraVAJUQ/gUJBMQD36ZgfxtZEM23qbpXN7IwEbfldL1c0PuLBYn3E07mlkUXAwmXoRM= X-MS-TrafficTypeDiagnostic: VI1PR0202MB2781: X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231023)(944501161)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123558120)(20161123560045)(2016111802025)(6043046)(6072148)(201708071742011);SRVR:VI1PR0202MB2781;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:VI1PR0202MB2781; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0202MB2781;4:rjBjtq20hpn9M7tZF2Kf0A21h+42yq4Re74BNrKeo8bbYE5KBMPqq57QrmnYNUknYBLaima0NZBhM5Ox4Q2098XFlHj/Qx+R2brQ0OREoVU+sWIiBEMpTHrkDyGcS7S1JcYvWbGdo8L8YK8YKT1JpxHslafz9mL4HM2AnjHpWDQXM0vE3Wibbu8TfJU0bawTCxIud5uw23eBRZPxTeyJ3Fy6nXBCu5YDXR6OUIfZwy5RVaUZroa/rVSf0OboeWzM1NXqDR9nfEr4bioiCxwFyw== X-Forefront-PRVS: 0555EC8317 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(396003)(366004)(39840400004)(376002)(346002)(39380400002)(377424004)(199004)(189003)(24454002)(93886005)(6666003)(230700001)(6246003)(4326008)(117156002)(68736007)(25786009)(3260700006)(5660300001)(16526018)(16576012)(478600001)(31696002)(229853002)(65826007)(316002)(54906003)(58126008)(2950100002)(74482002)(26005)(53936002)(7736002)(36756003)(6116002)(86362001)(31686004)(83506002)(8936002)(97736004)(81156014)(305945005)(8676002)(52116002)(386003)(53546011)(81166006)(65956001)(50466002)(65806001)(36916002)(52146003)(23676004)(76176011)(2486003)(59450400001)(47776003)(2906002)(106356001)(3846002)(6486002)(64126003)(77096006)(105586002)(66066001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0202MB2781;H:[192.168.13.3];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjAyMDJNQjI3ODE7MjM6NlhyN2xvS3NBTXRBMWYyMDlCT0dPUnVr?= =?utf-8?B?SDNsOGFrUno1amdKcHhpNTRNYWVMMTBQSzZqNHV1MkhZcGZNMkNuWStOTFVY?= =?utf-8?B?L1VrQnVrT0EvbzlQdG1na3p3RkZRYXBLcGpaQitWcUxKaXFxRHVEMzhDNjNN?= =?utf-8?B?Qll3VEpUbXpsK1p2dlJYYWlWVHFZME1ZUjN2TCtPQWRvLzN1dFZpc3dkency?= =?utf-8?B?ZVQ1OGowZTdsemFhS0hONTN2Q1FlYzNxeFhwWVprcVVsUXZPWHlPeXFMcEQ2?= =?utf-8?B?VkpSZ1dkcWpGaVlzWnluMTVCajFVVTZWbklsdWRGa3htUUZEbzUrdVUwNlpP?= =?utf-8?B?eVJKaUVQSS9TWjJjUVp6QVN6S2x5NlFyUU9pZlcrL0VyUndYeDRFMmxZR3Jk?= =?utf-8?B?QTZrMVZtUzVXdFM1U3pYOGp1eWc2WEhCcjQwV3BDdFdKNlNON1owVndKWTVM?= =?utf-8?B?L0piUHRwWkxDcEIzSGdSVkFnNTF5SGZGRTJVaW00NnZEZ0VkcG5IQkJUU09x?= =?utf-8?B?cGdpTHdZZWs5YXVUanlkK3lzMmtlNVJOZWw3RkVlL0RNWmM3ZzczVFpXWFZE?= =?utf-8?B?bW8rUmRrRGNDYVl0VGhrM1M5ZFhjNVdWM2hDY1d2bVI5M1U1STlJUTF2d0R0?= =?utf-8?B?NFN1ZXh5VlV4ZlMyVzVhOVhhZFFVREorK3dYL1VuMmE4ZFRqdDRIN3dnM3Jh?= =?utf-8?B?VDJGY2EwSFBGQ1o5bUl6N0wzY1NFV0k3dWdvQzdqUms2QXNrTVp2RUZPMmFz?= =?utf-8?B?SU5Lakh2cVBneHdQdjVpY3plUnYrNkl4dXAxMnl4NUNwZlF3SkU3cEhxZ1dv?= =?utf-8?B?S1dKcFp3VWRWaE50NFUyanlabEordHhlRzd1OEhWSXA3RU9nTVJVbXpRNE12?= =?utf-8?B?RUxOa2x6VDNDMC9YV2VNUlNZZmJ3WjhuY1E2YVd6UWpBdmh2MUltNWpBZlBm?= =?utf-8?B?dHlrcDRJWXhjUlltbXpzbzNoN1BNbXJFMXBXbFI0WnFWTi9IVzdUaXJmMnJN?= =?utf-8?B?a0NOTUFDWU5hN1ZUaFpET2ZYU3lyTFhqV3JrVG9MdlZjdG80SmtoSlNiWThv?= =?utf-8?B?SllPMnBETUFjRk0wQzNSZmk1K1FTSENoY1hIaktTdlJBbGVUaWRNZXlJMzB4?= =?utf-8?B?bE90ckhCY3ZCMDNZTlU2ODA4RTA2cFpzVXB4WXZSbEhhWmp3Q3ZlbXhsSWVo?= =?utf-8?B?NVYrdWo2UlNkUmtOdnl6UGZSQkc3RndCM25oMm1NaUtzQ1RRdkJqd2dTR0Jx?= =?utf-8?B?V3NsOHRsTlNKdDFicG9RSTFuQzRGRXVEd2tyWXRORGp1TEhGR2NpOTZUQU40?= =?utf-8?B?N3g3bERXbUkxa2NzOVhXNG5PZUlDNS9CRWRNb2NjeTljMXlZY2sxcEx0TjlP?= =?utf-8?B?KzJXeEZwOWFBbTJuQzVRZE1ub2gzc3IzMVdKYzY0Ym51eXlXb1d4YUpNWlht?= =?utf-8?B?Q1ZpMlRVdVRWeXEzRlAzRU4yTk9hY3Q2bDNlbkEvNWkwSTBwQzhERTJvTzlM?= =?utf-8?B?TzBESDdKZG0yZW5WWThsRVNBTWtGYnRCSkZ0YWFPWkpWZlp2dXgzMUYxV2lE?= =?utf-8?B?Z25TdzNzalpna1VhN3prdGtWczBaSWM4Vld4bWFDOTQ4c0RPQ2F0VUZtTTEv?= =?utf-8?B?TUZSZzkxTldURHB0MTRwQnd1dkpFTGwraytwTlE4eHBUamU4SnEwL1dIcHN4?= =?utf-8?B?dW1GWk9ZTkdvNVFyZVFCZ3RaVWFYZzNJZkdxdHZ4OEZ1NHZ0b2JCK2RkYU1y?= =?utf-8?B?ODdwYnhTYXBRWTZROU5aR2xOYjZ3RHNXMi9Wa0xPNExIMUNic01zTE56WDU1?= =?utf-8?B?N0kyUU9LQjhtaFltRGpoazFvOWRrU0x1UVJYcWVqdE9SdEpndlFlODVjVHlJ?= =?utf-8?B?dFRjQU9WT3hBc282U3ljbmZTZHpZMHVGS1ZNOFRrSWdqZGpVbnMxNmdNV0VU?= =?utf-8?B?amZCT1R2V0J3VzZTcktPN01Rakdha0F2S01mcUp6dURxVVJ0WGszckoxNURa?= =?utf-8?B?ZDFCdXFJcDNzTDVWZTJDeUZLTStvOGl5ODREZDE4L3FLR0ZMUUM1RkJQNVd5?= =?utf-8?B?aHpJVytOSzVRSW9YNUFDdVhRSy9CMk1NdnAvS0JxU3k2OW94TWpBWVdJR0Y2?= =?utf-8?B?VEJsUT09?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0202MB2781;6:B1iEBLGDyY2/WKzqrT89enPv95Zx26wFOkAnIAsrwFXiSfntsNlU3oYas+S4AaFpULjGbMJRlcH4kqSWOar7wsQJ3H/fWaiJb0D/NnReKuggxD4RoxuPYaDJ4rn6FlTUAWHocr0EaRZloduyR3iNLDa+7gFdSW6CXG70UJ5FdDkDT1szzF4Uy5n37nyLAZxggpgOndPe/zZhLm0mj5X2fMrURHAl+b/vCgV6hvtds689xS9GgXJNUaeSscXLFa3uE7HBugmiTwlWcr+RLQr4sB82AFwOkSAV3sn+N5/X8OZ7uK2+sp4ieLiVf6G8q6f4awU6tW4Hdw7g3ik38JoRpUYB9lbA0lTVsEHfpGslj9M=;5:5VXDfVuX0u/XweT6LaHSptELhDHE4a5brI0W0X7bKdPLIfxDF2QQTlE/upwXX1MUeNoc+yQA6AwyNvc8bTfmvH6/ssGNKrNocT2azyHPYkEJjILZ4Zt30NZcJ7xGXtq4d2wNTKavsWFDU2ahhpORS7VDCql1ILA7aoUX5BCBkkQ=;24:Qfvcc2AigATfCDDczshHyPEglOLcGby5QxCCf9UEUVqlB87BnStKm6aejEQWVJxYRvXRKxJn9xMyQXhpY1KreQA5HeVJFTgdUvWrdlkR89Y=;7:QI2Na0nEW1QckYr0GuZJ/MXiayafTrUOwqkffL77XNARR89uWF8lWRswKOETbVq5K0XmHalGHsKrty7eOlTcO7s+sspTHszKYfjQk2wd+Q/DpH4ECnXWkDOFgT6VL3vp9c9ZXywX00H98/YJRQ8j2reWyvbaq63wVwMrMVlGz6LJOwYf7QbsNi5wcYF5M1bqoxmNpd8jUnOwvXyhfo2vBAMwsKb/Jw0jXQCy8w6zG7hu59hoMVO7w+xyf2v9GTL6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2018 15:27:15.5555 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 87edd396-b662-4a49-169d-08d55dbeca51 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4ee68585-03e1-4785-942a-df9c1871a234 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0202MB2781 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-01-17 16:05, Andrew Jeffery wrote: > On Wed, 2018-01-17 at 14:34 +0100, Peter Rosin wrote: >> Without such a range, gpiolib fails with -EPROBE_DEFER, pending the >> addition of the range. So, without a range, gpiolib will keep >> deferring indefinitely. >> >> Fixes: e10f72bf4b3e ("gpio: gpiolib: Generalise state persistence beyond sleep") > > This is a bit of a nit-pick, but I'd argue the hazard always existed in > the pinctrl-sx150x's probe however hadn't been triggered until now. My > instinct is Fixes should instead point to 9e80f9064e73 ("pinctrl: Add > SX150X GPIO Extender Pinctrl Driver"). Having said that I still think > it's worth pointing out in the commit message that e10f72bf4b3e ("gpio: > gpiolib: Generalise state persistence beyond sleep") is the motivation > for your patch (i.e. mention both commits). Linus, if you agree, just change the commit message as you see fit. Can't say I'm proud of any of it... Cheers, Peter > Regardless, thanks to you both for getting to the bottom of this. > > Andrew > >> Suggested-by: Linus Walleij >> Signed-off-by: Peter Rosin >> --- >> drivers/pinctrl/pinctrl-sx150x.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/pinctrl/pinctrl-sx150x.c b/drivers/pinctrl/pinctrl-sx150x.c >> index 049dd15e04ef..cbf58a10113d 100644 >> --- a/drivers/pinctrl/pinctrl-sx150x.c >> +++ b/drivers/pinctrl/pinctrl-sx150x.c >> @@ -1193,6 +1193,11 @@ static int sx150x_probe(struct i2c_client *client, >> if (ret) >> return ret; >> >> + ret = gpiochip_add_pin_range(&pctl->gpio, dev_name(dev), >> + 0, 0, pctl->data->npins); >> + if (ret) >> + return ret; >> + >> /* Add Interrupt support if an irq is specified */ >> if (client->irq > 0) { >> pctl->irq_chip.name = devm_kstrdup(dev, client->name,