Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752776AbdGSC4t (ORCPT ); Tue, 18 Jul 2017 22:56:49 -0400 Received: from mail-sn1nam02on0072.outbound.protection.outlook.com ([104.47.36.72]:12672 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752072AbdGSC4p (ORCPT ); Tue, 18 Jul 2017 22:56:45 -0400 Authentication-Results: spf=softfail (sender IP is 192.88.158.2) smtp.mailfrom=gmail.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=gmail.com; Date: Wed, 19 Jul 2017 10:56:00 +0800 From: Peter Chen To: "Rafael J. Wysocki" CC: "Rafael J. Wysocki" , Peter Chen , Mark Rutland , Ulf Hansson , Heiko Stuebner , Stephen Boyd , , Linux Kernel Mailing List , Gary Bisson , Fabio Estevam , Joshua Clayton , Arnd Bergmann , Dmitry Eremin-Solenikov , Vaibhav Hiremath , Krzysztof Kozlowski , , Alan Stern , "devicetree@vger.kernel.org" , , Pawel Moll , Linux PM , Sascha Hauer , , Rob Herring , "linux-arm-kernel@lists.infradead.org" , , , Greg Kroah-Hartman , "open list:ULTRA-WIDEBAND (UWB) SUBSYSTEM:" , Sebastian Reichel , Mark Brown , , Shawn Guo , Subject: Re: [PATCH v16 2/7] power: add power sequence library Message-ID: <20170719025559.GC26218@b29397-desktop> References: <1498027328-25078-1-git-send-email-peter.chen@nxp.com> <10723509.cz5GGA4OTz@aspire.rjw.lan> <20170710022815.GA8720@b29397-desktop> <2659617.dvNVihq86F@aspire.rjw.lan> <20170718042955.GA12080@b29397-desktop> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-EOPAttributedMessage: 0 X-Matching-Connectors: 131449066027012753;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.158.2;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(39860400002)(39840400002)(39450400003)(39380400002)(39400400002)(39850400002)(39410400002)(2980300002)(24454002)(51914003)(199003)(189002)(377454003)(9170700003)(5660300001)(54356999)(76176999)(7416002)(97756001)(7406005)(53546010)(50986999)(93886004)(55016002)(87572001)(23726003)(356003)(189998001)(498600001)(54906002)(69596002)(4001350100001)(73972006)(9686003)(229853002)(105596002)(106466001)(81166006)(2906002)(6246003)(33656002)(8656003)(86362001)(77096006)(6260500002)(46406003)(33716001)(50466002)(305945005)(76482006)(2950100002)(39060400002)(83322999)(81442002)(38730400002)(82202002)(6666003)(8936002)(110136004)(104016004)(53936002)(8676002)(83506001)(73392002)(6916009)(4326008)(1076002)(626005)(47776003)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0301MB2122;H:az84smr01.freescale.net;FPR:;SPF:SoftFail;MLV:ovrnspm;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD008;1:imgyrkAIlLfXMRDFzhvLKfHFPwRGnJnqqOWV8PFecScdU8Q93Q3uHGlMd/Z30zLaNr1a2wFeoapsFUHDgn48M/A7JaaYpGhYD3EYmKs/zvmFOZi2heK8m+0o5WxlqZwlEhIE/etZFNmZei59SRGJM3EpcbJNX9R2axaq0Bca7T9VP96K+oOh4WlEEDbxKL3kVnoNMQb4Mysp1UTGl8enk2IkxZe/VZfBCLwEe6dAkNgaQ7hfqdx37hFzvfmPcBMDwdg37Ndl6ssTfxztd669yf+jk7kYXUUSTygmk3cnykUH2mhSiAaEITh4v3vh/aPa0JeY9QmVd87cuvJe7oQwIH1OjnilEZ13niyHX7zEnSdMELK1m14uJYiDwLNG0xAVT+uujdzfxIrxnQhFiF9y+v0p8xpJYRDs7W3pgYCD9+r+Hb39Q4AsOodTnIHskpSmCs6TnhsXAa45HmuRodD7ukkUQY8Wb+jyBy5OkAp+q39x2nxEEc8WZD5xTJy92fDCmHSWArhSFIuY7c9SJF4Y1B9P4RU7NL09H/Qs9zm+4J8JuqeEXDt8mRv0djGIuUx1ONz7ccbYnkgjM5khNSEQnjy/J8GIyB+uGSx6dRoh9zbFMgInDIXhP5bOxbgfiy6f0PZ6UyjnOGVWEGnLCV5rpL8enMRx2hcb5gxHKFh32DXJyLvB7StjPANenVoMfgTW+XRnJ0IU1a4uewdi/BHS1BqS8L+B13p1upCO/vy7lYo9aPTtQkKPwTvD91eOaxXMcN1y4IDInFlf7I2SEQ4Kg+2bqNsJiWPswKbf2ylDx7tHPhhwdp4ycOeiCkNcaTa//xPFkVAt1v6cLauZozUckl6szUocJKycPIPP7y02JroUoW08Crg2TYNht1YIENyIW/Bl2kc6AwMWJeMWSO2KPSOejUG5PUeELk3WRzuL+dwdI1/AZQgh55kQFB6RX1CY X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 09d8693e-61ae-4013-d291-08d4ce51c90f X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CY1PR0301MB2122; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB2122;3:8qcG2SR7ihqil3EZ44TGAODnRCnncmE5K5oTo3tUNQtiCDwMpUkEu4iWaj+YRUoQhq+hKlZnvHZ8J5yLVxEtZh5lhFp9CtfsInqVnyUQxk/hDibLQlv+vx8BURJwWPQ74MOmuJ7mtKG3QNW0FgR94fiwhS9HURFdkz5fxIhiwU7fkxSpnL+RUbeM+lR7Wya+K4DcMRuItY63JzBW/YGdp+wZjT/NckYgr701wr2TuZATxf9IFpDj6dTLb+8UKDe1FE5KzpPBsfpmCdOLzNEJFsGPyz+3nGTu0IJfNtE/2XSYdsA6vBt0PLaN5Yt8/xfj+2YLcQesWpjLCUEnllqVz55ztAYhBmD2qDM9fwhbf0ekd05OZ3AXrAodwBxHnyHHUTtp02IlKCvkVmb9vmpg4cbhxcDQYjgv3ut1LBPYb2mGPQYd4hImp5s8XnNHClI7iVRWWQ/ch7F9LTs5e9Ihu55ia0dMQi0lkKc+kGGqjPFjFooLWrtVO8KFg+Hg0dQJ/x5NkQdacL90f5rmzYKPfmSxGSRY6DWkvtSl8jqQcg/fbvbO29bqbTh1UlDwB+2mtzbUNUtWDq3NKrMk0v40CZC1+mjpK74mgdHB3H+rdkQOeJIgASgyZuZt9JfH44ugasgKRpDpKCqs2D43gYbe7v5UV4xEFEylqqp/4WfP0uXGYArGW+UIJlKf0MuT3+JrtjS6q44tG5G9aiZIkqdhrBbbS71b6h6rT3E0IjjJUHWYKncg5BxgVI0VkKnt2mcHplAkjQqkrh3sI4bHXXWd2nLkJHuPJd84CBczDB/gdxNldkSgoGLE2SKqlDs/dJSjXkm4BJeIUAH8DR21bVADzkle/eZZT+FsRkim502/SC8= X-MS-TrafficTypeDiagnostic: CY1PR0301MB2122: X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB2122;25:xJA3siwswAwJGe8hY4JiIaNEJa6UDWs3KG6VK9s4NnaTbxdK4gj2WqsAAeMel0mZqHPLUgt5RCeGxqJMsvvtiDLARtjPh1tjNTciQ5AapSW8w+xNVcmW5YmNoT5xirvRIk41aSTRPzty8uwR31Zr9SuP0Iw3HRnpApe77OhGuzU2dMHL89+gffE5jcLvvXF+yB+uUcrU1k6lmN8POy/rYehRtLnBki49XOQPiNK2FGLMiFcHygPqDjTXJ6fR+E9LgAkzKQdhlXGSdfp7B+DDnaV9s3mmebuBZd1gFMoiXVEYEXzFNRWik/0zYAr0Y696rfN6ASwgqWQJbxJvNF5ZA6aYNDkMJaw9XqCR6Swa8QLKKG84bEy/0zRFqdaLbTZUCtQl7a7v8uPMZrr1aDCxIbsdZYtQcd2/nsFnsxDO+2ySPQ5RE2A2UwUtS/7YBjESeR9FHos7Jzph4I0bAAmHOEZESrnr09Q2pYVvQVn7womVBZFUP6A2zwdyVUfisOSm6g+toqwbUod23U4iZJnoiwPp/K9DELKnQIrc8Heiw7MUHhkO+WVWo8DwPZ/DlmM1y/toZhdwcllwYZQkpnJaYgRoktbHdezAurKvdJSINwtk9cj8jyEzIMffgQImC1udCzJIAnESc6U0Wvx7DVoPXnhjB4nlVoEJRs26vN9ccBzaY84n8lld4pdX8cDXEOtwpwGP0V4mXNEMROkmtpmgtEc71RADL1dX+KITaapOecOJSa5wzZ2m5N2ePli8Xcfr3J5XILACJmt1tJLm+OnG5o8osvFedlJqjgJNGATYXao6cEynZ7GSvRTOXpCwJmfVHIPXunuGBB6q6YbmLBbmrJDmLzSbcoJITWReKnaLE6oD12/Dv6A2/5tYY8zs5/hN7xuZH1/nMUY4NL06TkL1L8vAE1hWXETiOTfBqyJSPkY= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB2122;31:wjb+7QkC6nGtx/FQJ82b13DRJTL6M2NMKgzyKrswSjgN+srRmXroHDD0Umufkzk223oyddtTv3Yb4O0cIz4Y1f8zw/+xVI+wPwaN5IyTmSVu6v2sNvvfaE8y/pl30fSLM27EZc+DSBLLlrXAk3V91oiUi06L6glFukQZ/nIv7BOg+jHko1wyUan64VYcgiyWfQfwK0RaQTQYNIgYysSOhNokI/ACdIJFaKDFR4P3AItFq4SfO6XwMgt+wNToqQ8Mn3G18eiCHztJ4a2NXTgmGWFo7A5eOtnWnCNlaEWZeBJXkfF/UU76EbSRXeSH+NHCtKPUR4/BY01y8ThvSD1ZpwxZyA2ke5JdLoLoJSukyU+/fY65YDTSjqalqpwjiRTfAQf9G8NRpyrLJC6VfFe4GeUPINLu79VxDETr8Q7BAqJ5zNMjNLBuPFTlU+kgDvEfyC4MbSGjAMmCAfNX2Dj1TApagnyI4FwjRy8uPogmq8VWx3bn4RVtomjA8yExFxK20nKbuTUs270f5TWM2LuD47SFZsMfJJ2k9+XwPyplLRcH8O6ZVmPeD/unw2E0xW+RwkeqP/QO1ix50vgPIspJdizGEUpu6u4WUTm4vszrw3uIQig3L7LL0Ey3u9JHHO6bG/CUChywvno1fOEpaNjzJRVN+i0i5XnQyRmBRlAECYvdM03VfswIakaXtAGElRB2EjPLtR9TUOwY1BtmuzvvRQ== X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(48057245064654)(148574349560750)(148744244958124)(247924648384137); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(8121501046)(2017060910075)(13016025)(5005006)(13018025)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6096035)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123556025)(20161123561025)(20161123565025)(20161123563025)(20161123559100)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY1PR0301MB2122;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY1PR0301MB2122; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB2122;4:DvomCQJyN9HSedQUS+MxXDNa0wUJA1N8j9/qx5zl?= =?us-ascii?Q?/EDljA7GMKKGDQ+2G0ByUiuAhNN13I1BEm1Doqaad+OHXZzlUGVvx2GriP3b?= =?us-ascii?Q?j5MBQIb3dDxeqpExvAYNA4mn2o/9SptNDgFoJuLSAKj4HV5FGl9Uq6cQ2rAp?= =?us-ascii?Q?6dfLlh9k0Pskj3hMHXvZ7Z2KV+VHbrm7dMOOCq67jqvFq1iej528nDeLusGH?= =?us-ascii?Q?PW7F3CgpocA/bM6TvqUCQVFs2qMucv/zH284nKgaEIV88BzCUQacpb/P5V7c?= =?us-ascii?Q?2Z08p2tKUYfw+4/svkSfTJEF1P5aZA0U6dXOvB7M22rin1y8aQ1zFaG9GV7q?= =?us-ascii?Q?rOkvtuT9AY3dpUhTFf6qtiv2CaOlwJ0tgE1enqs28m2rtS3xzEY4htAY9HR5?= =?us-ascii?Q?Rwqt00TlTBSbR9CZl1OqH44r2O5q6UeBPvMlZ4+eB8mqjO8N/kIImg8KZ2Zt?= =?us-ascii?Q?0F6+UTaVbjyLvqkzBQxp9SM24fG+c2B4rvpXIo52XR/8vhPAs0dQUeQNpfXx?= =?us-ascii?Q?tg1wJ118+Lw3PHKlp4leMcNf2Gnn2sptg1ezH00oRq5ZCEeCIu4C6tk7fdwv?= =?us-ascii?Q?PpPSLHi8ig5/s6eZgNjSGGo7EX5hjdBNj+HFgUWpxmYi3aOs0xpbgbJcv31N?= =?us-ascii?Q?GqH8DHjEioCG2UXmAwA8OFSvB2y23xChbE16yD/5nrQRs93wX8jBFX3HJNs+?= =?us-ascii?Q?b/TJPWZ5xtnRxS6SRKhASZlnkxs9M747wIeEAibf6UDvk/Poqbloej/Hz5pn?= =?us-ascii?Q?p/9RwUoUXGdiNNsREerHqb9dPdbjLB3dv5l8iFwDAXlkVE9bSZuBeEYCOf6v?= =?us-ascii?Q?fEQD/qFgadx1kC0bGCe7JbxnktZrcAAXW9XlxqHnJRDhqV2oo5RNRfNKR9Yf?= =?us-ascii?Q?iPr0VYtkgxdp+AHCrR78OVzhPehTGfDAhxzevsqMKWyz0UKsusQZxSU5OM7e?= =?us-ascii?Q?w+ScJISplOAfkhc7GmFl45/x+OWdwfVwYtO4vlKwGFsVN5RgxKyK/b1M1YnM?= =?us-ascii?Q?QIg6FUe50iLgRX3qbJeP/dhrq1PSJ8pAHwMPdWUmnN/QignNKx+MKZLNCPSp?= =?us-ascii?Q?tRdvXubPOB7vXHdBDtD8X6xevMGDLi68KSRRTtMzTQ0ojO0oxU4o14C1xW06?= =?us-ascii?Q?Qx0OLlO4pMMr0lcVXXw+D9JGjN6pWUBC2Jr7IfffVWPjXGhqwir1JNm+eP9e?= =?us-ascii?Q?b1Ho5DvDhYjg7jMavaaNXvmr0h2g4iaV5xg+yk/BVjQb0E+zYw9EUABkYqBe?= =?us-ascii?Q?wz7iyExM/bjknXGBPdXEyp/iVWYiGmZH+EWkAtMI00MUwHwMRCoNjUCBMNk6?= =?us-ascii?Q?dGyf5hvRdHejmkfT8Vp+qpW/RNiaFc3iKSlAY5NP/eF37Qg+kjmGMo1yWmYA?= =?us-ascii?Q?Utjk2AvXaLyb+OMdTYnM90rmcaJaeHyN1XeRbkPsmAKtkmdPJiUgR5UluROW?= =?us-ascii?Q?QZlwO7cE+TBSLHrQd8MP5NbjKf/3Ko0=3D?= X-Forefront-PRVS: 0373D94D15 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB2122;23:svYYCtEQ91m8/nOjnKRKwiaEzNyogsIMc+lTWBN?= =?us-ascii?Q?4hP7CHU2Sp5XuIRVXpXoVrNGaEfn2ICA8aNShcdNt+2n7GXcm1XpjnP3L8Qv?= =?us-ascii?Q?niEgSUSIoFGfU7Mm6dBCS4NzXtyShXmweo0JEe7tsBBagIWggbJB9ljvLly8?= =?us-ascii?Q?uixx0a79z/D7TzCVbmGgURpHzL/pbb+Y+jM7Iu5nihlM/lT13spwBDFClYtI?= =?us-ascii?Q?5IxEoXA7AZw6pgj9lL+zgicSvQ8AIJL+xNVBTSEO8PUGSVGY9XzXjSSYq2RP?= =?us-ascii?Q?dcLMmMWNhm6NE8zmVvOTK/L0paaqzYgL4XMyKWC9zli+zcTgk5hBn02evc4G?= =?us-ascii?Q?4imrFlPJPHoBJlrOXScUDLzYV2z3N+AM+cXQt03iuqH6hPGQDChQJ/7k/KLz?= =?us-ascii?Q?wl+4rxkFT0wRA6Q+Ng4lRdgJSXXkNtXK4nchEcqUlNrRzgoaSjJfbLKPSOWs?= =?us-ascii?Q?QkD0J8caxzkuN5w/Ixb1QIdw3HGvI/KPVOvHxkNKJz5T+C8RGSBlzZyHga1X?= =?us-ascii?Q?6wllIyqieVls0cMf3rby7gUrTFjMtNAkIQ1A8Ybi4YsACmPhT33uu45P0ul7?= =?us-ascii?Q?OuQcLEsiOwuQay59c66hzROOPlfvLCjRyB75AH5nAuQtq0WD2uh+ABmFJRoh?= =?us-ascii?Q?vDa39Ss3R0cRWyPGwHjfxGovFPTnqNxCHq7+gKuJ+GYsug53nGUeM0Vt4/B2?= =?us-ascii?Q?jrvyw1ld8C8P8E1sDAGbKNfh6l/tPFjCFPdi5T5qraODm6hH3ejwQiOkqen9?= =?us-ascii?Q?YJi09Nc/UZU5qve588OC4xPWBQrODRiwxt/11Yww34AyWJG/4KYHNF8qFxTL?= =?us-ascii?Q?ioglxA9tDdJEl3ivg50h1JOdjt19z/HWXQ8fmh3jQMtN76V4QE3DS4RKXC9d?= =?us-ascii?Q?INlfQvHq1N/bqD8FexL7Q4cC1BNlR1PQFeWpWKidIg5PgPL8BZYIcx8u+PwH?= =?us-ascii?Q?RWw2y3IQXHKjhY/n8qNWIpyHZkq6lZxidWKYjzNgXO+KNAXah/MJ20ovOHeJ?= =?us-ascii?Q?4RvMFf4yWbA1iA8+9Z2HTP1g7pTneqzumfjulBeZgiUoRQaIAn6EVngUXjNA?= =?us-ascii?Q?jrPsB2Rj7dNIgtMKU5R/lU1DVfIqixnBKXL/pknf6VJqDCwKLYPXx2ClPXRW?= =?us-ascii?Q?Bk9tnE3MsCO92EBZo5HyDH2q8p5cECwq5XhSpbu1uyXPLE8LFhIqN+2+PZdp?= =?us-ascii?Q?Nvo3v0BDKhXuSxDmxSSYhS6EEIFVIFh5K8FFaY925F7bnB5MdK7gFdZQBOAf?= =?us-ascii?Q?0H/PzvhM/ickP2+fG0If8y5Xj7sVVSKmiYP0/IjNp3tZnF5ZP91TdmrLylrj?= =?us-ascii?Q?KNLnKu3kkLE+SaAfxSMumLacJFM5UwJcca/Q3gEnfcqwUqx5dCZjPJbSky5b?= =?us-ascii?Q?A5XGXoo/coMMZmf1+7q0pgwqkOqV1k5GHrk9HwwIBD++i2c+U2W+R8echIei?= =?us-ascii?Q?vGte+Ru70GgtKcZbgjvmfcHvhfHZIcyN7D8A3FLqy0P2qg4l5KvTc4exdmGb?= =?us-ascii?Q?kAkgDe6EMJ+kOFy7Jgu2qn+VUudhaFhgD1Vgkz4jU6SiM3TUzwpU1P6h4IAu?= =?us-ascii?Q?VEJEWSeLBsDw1fv64AHEaw1X79IMz1Wr3WsL78K5rOxE/J5f5FTViL++gH8X?= =?us-ascii?Q?eujzb+8SBT7nobYmwXVP81GHf3qHI7+xuzecYaol6Ja3YDqWbw2TEEonTRgS?= =?us-ascii?Q?2DeRFVhOaCX891hlEtowdYIWo4iynZVHYaXle1ajMx9zqV/t0ET9hnUJXpHm?= =?us-ascii?Q?rV7s05bfp?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB2122;6:0g5/P7TFOYrtUEZsokVWgDVheNEaf0SVkfpLaC/l?= =?us-ascii?Q?eWpgx1Rv9j/metXEALhXdOnsYdLFO+byyT+n3D6YImmN/+he2rsXRr4f7kcG?= =?us-ascii?Q?/Lupq705PsTk1WymfYoRVZZqS3diZljbhNy2sgfYFiwWNZKiPch+VZ4OOPuY?= =?us-ascii?Q?GafNPGisyX+nnv8Smz1szOgo/tZUdISdrmoRy+kInixkP0aFtIf2GoGuzmlL?= =?us-ascii?Q?uBO7cDjVoH2y3oRwDRozPjbIho//InZHaUoywqknNJ6ORT9bgesX9SvLvSoe?= =?us-ascii?Q?tcyc3PpUrkbOysEn7WTk5hE+CkLcsnXxJNwiqfjG1WpcJbw6XfyppE7Zn7Ve?= =?us-ascii?Q?NbRrEf4dx8WPreYZiUMDVrj8B1ZAjaVl7PuX6NdYlBmAFEUzGe3HtH1LKRH7?= =?us-ascii?Q?9U3yUVb3UYsp5YhMXRJnL5CQgFQfUSbA5SRjv8SCw3698Gdqx+Z2LHNqgy97?= =?us-ascii?Q?MQSSUPjUoRAlidM6w4v3O2SIFdnV3McPOg0/gXJDXrz3X+FE+8UVbJ/DHUDe?= =?us-ascii?Q?FmZN8m5vR/SLLrrwujDHGRKjxLKs1rzNOSDRZXsmf5rXqeqyQ++xChjNOjp8?= =?us-ascii?Q?sqg+UNLGlFN8QOP7mXYmsM3sgRjNLlyv64U64ustewHe9B9B7ZT/v7+tKF3Z?= =?us-ascii?Q?W7xjVVfF+mtOAjgN9buGGdxhVaT9VrHAuxqAQT/ZEDqYSS7lmrngd8CP1w8u?= =?us-ascii?Q?615Uzvku4NHPFo/S+lMSgVImCbvviThD0AdsqKNHR2d2mXXgP9wnq6u17wTk?= =?us-ascii?Q?3FWMA8S83OimeXbx97pWmbEfno8VYsgmyicJvwebfg/Km6w4L7taEMerOPhk?= =?us-ascii?Q?b6yANVCva6g/bKu0O4FCqEsw7VKfNcQapkRE+ysWueBhuKqqyxeU3/XXwJ6n?= =?us-ascii?Q?V0Ew+gBDDT5pwlHZ3byz0qychxHJDMr+KNTnC53/HigFifnyvPHg130SRsRj?= =?us-ascii?Q?qVv09kY7UrB/4jSms7ar0q9WRXuoNsYGvbjkZfb2Whws/UNTWxuHpB9Ny9TU?= =?us-ascii?Q?05Y=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB2122;5:kega9wm0YjIAIA8zPlgK6FNcb05d3MuUKH4LgOwmKJY4Vp0WdXtlrivNZPZTAzOn8EIjMAq/o+LxDZYvxob9xWb2PUW+RlmMklAKjax2mK1MpXITmUn/oaVHPKbCFwPXUh4BUts3cEUijkR1iL2OJ1mgBIfNnvXbJgGxqvLVOM70N+/nXi9DM1KKCKrzNsW0ZdIdVXFw4utYx+oRHYzj0ulw/aqW1kqmiyplsQzfh0bT/4xMU3YmrIZmcTjiR5+VCFpSs6wCuExTuqO4H0mdVo05RnH95/oDe4A8eFLHNCHT6mDczPwcWS9gIPYqsrfFZjGMrY9zKFwah64rhy6kvfH6KsZTdjrjlj5IAWwwUChnfVhOL+RlG+8Ja2MCpF5AdQKdKjRRaF7zvd5+0SVS8pOX5rGIOlvvjvyX5MswQxBRPHvF7YXpPbcoTOM33NKa6yvlwmduQohm12asud1pTxZDa1+OT0D+ZN0hFygRbYmb/ntBQdXJ98YV12s8IdxQkUiTxo7twICmCdHSDKE69Q==;24:UY/IfGQTYv97a6VAuBRTbBNwy7jY8Bzou5/CGmpC9AuMR+c0B5UgsXNwJRnnb6mRq+Jt5SHk02EMpWeH8uO1DPcD7PFrtkvIfpsgw77ixCw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB2122;7:9z7Y+rpmtuVytozxdDnqif5VolMrvwbzSqxQrUUdl4j3bmzAcZBXZ/Z2emdey4g7Mw631Qm5T5UOxb5YNtHLsMqhp9jDNm++UifmTw6EiPr1KtH6OmmldxPuq+221A+JcQNC3y673pNqr0rEWjXVhZroRWDrWNSD3QuPdkkD1LuXXIOVzYG7EgPDao8i9HcXFNP+WziGMTaGJSd6nry4o+FkW8wQg/lXDz4qxs8MOsaOjIZ3HeNcqWHWzD5kUTmBRumcI1Qsme5P0dwEsdXxz9Fv+dfPiOOv++jRL4wVRVntYng0jXtY2hZxpRNu2ke4Huhrs14/yBKzLUt4JY7ke1PH5WYu37JzD0QQiDvj20yzQ9Ql5x+K1wo+4sNvipeXbGy1OCFPk794XaGevJwzvdibzZzdYh0sR4e+uhUS498fOY8K6Gw1xYQGE74mOxPLbJsXVubauwdIDpkxPQhWgJAQvc0BTN0fAgRdP4EEAv0uqLACmUVfvD0e+AxosP6ZKbVKoGpYT+A5WGKYcwjFLY6PaPNBv0lzXwrL+1Eo5xWHz3+IVA3uCvANAMKA3to1Jd70xgPkWYW/Y3Dra5Ku/GNnXrutIaXq/9JVYBiH7/cyXls7oDBVhmBSylfvqwfNGD2uk2ifXXB6MS8V6gixHVHd/g96MpJK7GbiG1fICTIbxyDDPjf+kcR8nC+bkRqHvbNv7XThCxH+XV9VbNbpKOfjWvkhZglYdTCO4eZkwUPct81TzCyUT58c1oXn4+z1gtGh8dctp8rZBzXwkR+jYMkT6HPpSJGFHPnMhNip7QU= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2017 02:56:42.4984 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB2122 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3582 Lines: 74 On Tue, Jul 18, 2017 at 07:06:05PM +0200, Rafael J. Wysocki wrote: > On Tue, Jul 18, 2017 at 6:29 AM, Peter Chen wrote: > > On Mon, Jul 17, 2017 at 03:39:07PM +0200, Rafael J. Wysocki wrote: > >> > Sorry, I should describe more. > >> > > >> > Let's take USB bus as an example, when the new USB device is at the > >> > host port, the device structure at device model is not created until > >> > it is discoverable by the USB bus. If this new USB device needs to be > >> > powered on before can be discoverable by the bus, the device structure > >> > will be not created without powering on operation. The code usb_alloc_dev > >> > (drivers/usb/core/usb.c) is only called for discoverable device. > >> > > >> > Unlike the other bus, eg, platform bus, it creates device structure > >> > according to DT node. The USB bus was designed for hot plug model, the > >> > device structure is for discoverable device. In recent years, we begin > >> > to have some hard-wired USB device, Eg, onboard USB-hub, onboard USB 4G > >> > Modem, etc at the market. It needs some board level power operation before > >> > it can be found by the USB bus. This patch set is designed primarily for > >> > fix this kind of problem. You will see at at pwrseq_generic.c, we use DT > >> > version clock API of_clk_get and DT version gpio API of_get_named_gpio_flags > >> > instead of device structure version, like devm_clk_get and > >> > devm_gpiod_get_optional. > >> > > >> > MMC system has similar use case, it creates power sequence platform > >> > device for this issue, but all those power stuffs (clock, gpio, etc) > >> > may not be suitable as a dedicated virtual device at DT, they are belonged > >> > to one physical device, so this patch set is created to see if this issue > >> > can be fixed better. > >> > >> OK, thanks for the explanation. > >> > >> The above needs to be part of your problem statement. > > > > Ok, I will add it to cover letter. > > > >> > > >> > The bus will power up all device nodes in this bus according to DT > >> > information, the device structure has not created at this time. > >> > >> OK > >> > >> I still think that the information on power resources depended on by devices > >> should be used for power management as well as for the initial power-up. > >> > >> The most straightforward way to arrange for that would be to make it possible > >> to find the DT node matching the device after the device has been discovered > >> and struct device created for it, say by USB. That would require adding some > >> more information on the device to the DT node, probably. > > > > After the device is created, the device node structure is under struct > > device, say dev->of_node. The most difficulty for this issue is the > > device creation is dynamic and is after the physical device is > > discovered by the bus, the initial power-up is needed before the device > > can be discovered by the bus. > > So you power up all devices on the bus using the information from > of_nodes upfront. > I think your mean call pm_device_power_up(struct device *dev) for bus level device (eg, USB HUB for USB), yeah, I can do that. But we still have below problem: Where we can put the kinds of power sequence implementation (eg, pwrseq_generic.c) and the match mechanism between device node and kinds of power sequence(eg, of_pwrseq_on at core.c)? These stuffs can be shared among subsystems, and is better to use one framework for it. MMC subsystem adds such things at its core folder (drivers/mmc/core/pwrseq*) currently. -- Best Regards, Peter Chen