Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2268805yba; Sat, 27 Apr 2019 19:29:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqxX55R+cRLwtZL2EUlpVndUb2aiy4n+zqQ5ylftf82x+Jw7ben6euegwyD7iJzdAMV8et2+ X-Received: by 2002:a63:2ad3:: with SMTP id q202mr33920552pgq.423.1556418560790; Sat, 27 Apr 2019 19:29:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556418560; cv=none; d=google.com; s=arc-20160816; b=y0mHEF1V6hxRzppHb0DhcyLQjTdEVhANV/LswCXowz1AtZVfVioBxIGK/W5Sv4+2nR wwsQpdGe18Wmr+fjkt2AekArRkqPVbP455LbKrd3cjab0mzbYIcOBShkPuq9RkCQH9wO yBKHKwvi/Hi1xtdCsco9MlRJeuJVG/k6cGBbcazN21cY4gJ1FYZlhbSYoLcIY6oMIkAm 6h3VisJCPJzz1baoI1keJ5tA4rQZBQcQsel64YPAv/BwCC+im84RrRqIWZehyZLg2BsE 7SIeW3QkgJX74CV4yHkLqEtg7zDRNaewaLU0wAcAtcF7XzAgvh/vr8ghPpeBAbfe5ixk Hysw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=Ajg3y0U6774TmGJ5Tbqd6OtVbVgqMwZUNYvR+s1VHBw=; b=lNSVtKX/cnf2QqRPWefVFLE6c7mkB9zZVSnOzHWYFsxOWoflT5yWDcaQGlPAJ6vqHV aqD3iYppiARhefwcHZGbSGudSQwnXCMKscxzgHfWFowsfXRF8Kum/Qny0ynvyukZeXhN uRHRWRnz6BYLFnqbOgHBEzDt0MX5aXCazuPyoCIPxLCbCaFtg2Ao/TNQZwC0X9BIY9ao rKRTTKifhayX1wszuyHTx2D76HJZkq18twly1mPs+yOghMJ5CrHTOQaBC9zzKWbmabhN CKK19RjWyg+nfAQlQWcqKXEx61xBw83/PHnQ6Al+jpceXhM+Z7bSdjGx2txnCc1GEotG EcNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector1 header.b=J3XjuV1M; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q4si27353226pgv.474.2019.04.27.19.29.05; Sat, 27 Apr 2019 19:29:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector1 header.b=J3XjuV1M; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726337AbfD1CZD (ORCPT + 99 others); Sat, 27 Apr 2019 22:25:03 -0400 Received: from mail-eopbgr140051.outbound.protection.outlook.com ([40.107.14.51]:14309 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725953AbfD1CZD (ORCPT ); Sat, 27 Apr 2019 22:25:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ajg3y0U6774TmGJ5Tbqd6OtVbVgqMwZUNYvR+s1VHBw=; b=J3XjuV1MUaDSGfPtQuXgELeD2VlRAuRs9cXkmzgNQh1kXz/x6doHoXezUL3jIOponk3fQBSTCEU9DiBt6uMzQ4fse8aSikd5TlHQ/p1g0YVQwCHUrmf0L3wsXrIcL4QFfDeskCFvF2orwigObH47QPMcGGYA/zJLOiRHd+dtkZM= Received: from VE1PR04MB6479.eurprd04.prod.outlook.com (20.179.233.80) by VE1PR04MB6527.eurprd04.prod.outlook.com (20.179.233.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.15; Sun, 28 Apr 2019 02:24:54 +0000 Received: from VE1PR04MB6479.eurprd04.prod.outlook.com ([fe80::6c03:86ad:729d:e311]) by VE1PR04MB6479.eurprd04.prod.outlook.com ([fe80::6c03:86ad:729d:e311%7]) with mapi id 15.20.1835.016; Sun, 28 Apr 2019 02:24:54 +0000 From: "S.j. Wang" To: "timur@kernel.org" , "nicoleotsuka@gmail.com" , "Xiubo.Lee@gmail.com" , "festevam@gmail.com" , "broonie@kernel.org" , "alsa-devel@alsa-project.org" CC: "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Subject: [PATCH V4] ASoC: fsl_esai: Add pm runtime function Thread-Topic: [PATCH V4] ASoC: fsl_esai: Add pm runtime function Thread-Index: AQHU/WmQi9S3A4SFvU+3BSdrbwsfSA== Date: Sun, 28 Apr 2019 02:24:54 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 1.9.1 x-clientproxiedby: HK2PR02CA0167.apcprd02.prod.outlook.com (2603:1096:201:1f::27) To VE1PR04MB6479.eurprd04.prod.outlook.com (2603:10a6:803:11e::16) authentication-results: spf=none (sender IP is ) smtp.mailfrom=shengjiu.wang@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [119.31.174.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6cc79b67-dc05-474d-7d54-08d6cb80b2e0 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:VE1PR04MB6527; x-ms-traffictypediagnostic: VE1PR04MB6527: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:305; x-forefront-prvs: 0021920B5A x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(396003)(346002)(136003)(366004)(376002)(39860400002)(189003)(199004)(7736002)(99286004)(71190400001)(86362001)(14454004)(68736007)(6486002)(118296001)(478600001)(110136005)(36756003)(486006)(81166006)(54906003)(8676002)(2201001)(71200400001)(476003)(3846002)(6116002)(2616005)(8936002)(81156014)(5660300002)(25786009)(4326008)(50226002)(102836004)(386003)(64756008)(186003)(14444005)(256004)(66476007)(6506007)(66446008)(73956011)(6512007)(66066001)(66556008)(66946007)(26005)(305945005)(2906002)(2501003)(53936002)(97736004)(52116002)(6436002)(316002);DIR:OUT;SFP:1101;SCL:1;SRVR:VE1PR04MB6527;H:VE1PR04MB6479.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: PK8+2jz+hd3iR7tu2+h4O48waeonntYliKsgNgh5hO3dtwIkjUwwdfh0N2d/AE0aF3Iq6c/w2LlksZLRrGE+Lj5c4fhZ3JDRz5CZbzzyuD5qh8BoVBJku7p8iGXB7HA4sSDBFc87aIN6Q2KGhh5JmCOhHANaPSpGL4pSjcV8/VPHM4ky9Y/GGuUFVHo+12fUORoPCd0JMCr93jTN6vJ4wQvATZE9gG4Rn+BGylcygIhySRpIapsduBkCkkOLndU7V5oO6ChfqK8h0KqGZgqxGHEsB/He9Vw00KvX3naqH03EEg7vP/TKOr1n0GD6CfKKVWnXmjGU+voPJHO6xCo2WjxlwdTpv9qprtnZAsi6i6K5XTCMRBT9hUHXU6LQ2AA7Kt3cNfvhR8DVc3/QyYlq+pTWjBdGpO2l61O5zLbPE+s= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc79b67-dc05-474d-7d54-08d6cb80b2e0 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2019 02:24:54.1686 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6527 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIHBtIHJ1bnRpbWUgc3VwcG9ydCBhbmQgbW92ZSBjbG9jayBoYW5kbGluZyB0aGVyZS4NCkNs b3NlIHRoZSBjbG9ja3MgYXQgc3VzcGVuZCB0byByZWR1Y2UgdGhlIHBvd2VyIGNvbnN1bXB0aW9u Lg0KDQpmc2xfZXNhaV9zdXNwZW5kIGlzIHJlcGxhY2VkIGJ5IHBtX3J1bnRpbWVfZm9yY2Vfc3Vz cGVuZC4NCmZzbF9lc2FpX3Jlc3VtZSBpcyByZXBsYWNlZCBieSBwbV9ydW50aW1lX2ZvcmNlX3Jl c3VtZS4NCg0KU2lnbmVkLW9mZi1ieTogU2hlbmdqaXUgV2FuZyA8c2hlbmdqaXUud2FuZ0BueHAu Y29tPg0KQWNrZWQtYnk6IE5pY29saW4gQ2hlbiA8bmljb2xlb3RzdWthQGdtYWlsLmNvbT4NCi0t LQ0KQ2hhbmdlcyBpbiB2NA0KLXJlc2VuZCBiYXNlIG9uIGZvci01LjINCg0KQ2hhbmdlcyBpbiB2 Mw0KLXJlZmluZSB0aGUgY29tbWl0IGNvbW1lbnRzLg0KLWFkZCBhY2tlZC1ieQ0KDQpDaGFuZ2Vz IGluIHYyDQotcmVmaW5lIHRoZSBjb21taXQgY29tbWVudHMuDQotbW92ZSByZWdjYWNoZV9tYXJr X2RpcnR5IHRvIHJ1bnRpbWUgc3VzcGVuZC4NCg0KIHNvdW5kL3NvYy9mc2wvZnNsX2VzYWkuYyB8 IDE0MSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIDEg ZmlsZSBjaGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL3NvdW5kL3NvYy9mc2wvZnNsX2VzYWkuYyBiL3NvdW5kL3NvYy9mc2wvZnNsX2VzYWku Yw0KaW5kZXggYmFkMGRmZWQ2YjY4Li4xMGQyMjEwYzkxZWYgMTAwNjQ0DQotLS0gYS9zb3VuZC9z b2MvZnNsL2ZzbF9lc2FpLmMNCisrKyBiL3NvdW5kL3NvYy9mc2wvZnNsX2VzYWkuYw0KQEAgLTks NiArOSw3IEBADQogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KICNpbmNsdWRlIDxsaW51eC9v Zl9pcnEuaD4NCiAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4NCisjaW5jbHVkZSA8bGlu dXgvcG1fcnVudGltZS5oPg0KICNpbmNsdWRlIDxzb3VuZC9kbWFlbmdpbmVfcGNtLmg+DQogI2lu Y2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4NCiANCkBAIC00NjYsMzAgKzQ2Nyw2IEBAIHN0YXRp YyBpbnQgZnNsX2VzYWlfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVh bSwNCiAJCQkgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpDQogew0KIAlzdHJ1Y3QgZnNsX2Vz YWkgKmVzYWlfcHJpdiA9IHNuZF9zb2NfZGFpX2dldF9kcnZkYXRhKGRhaSk7DQotCWludCByZXQ7 DQotDQotCS8qDQotCSAqIFNvbWUgcGxhdGZvcm1zIG1pZ2h0IHVzZSB0aGUgc2FtZSBiaXQgdG8g Z2F0ZSBhbGwgdGhyZWUgb3IgdHdvIG9mDQotCSAqIGNsb2Nrcywgc28ga2VlcCBhbGwgY2xvY2tz IG9wZW4vY2xvc2UgYXQgdGhlIHNhbWUgdGltZSBmb3Igc2FmZXR5DQotCSAqLw0KLQlyZXQgPSBj bGtfcHJlcGFyZV9lbmFibGUoZXNhaV9wcml2LT5jb3JlY2xrKTsNCi0JaWYgKHJldCkNCi0JCXJl dHVybiByZXQ7DQotCWlmICghSVNfRVJSKGVzYWlfcHJpdi0+c3BiYWNsaykpIHsNCi0JCXJldCA9 IGNsa19wcmVwYXJlX2VuYWJsZShlc2FpX3ByaXYtPnNwYmFjbGspOw0KLQkJaWYgKHJldCkNCi0J CQlnb3RvIGVycl9zcGJhY2xrOw0KLQl9DQotCWlmICghSVNfRVJSKGVzYWlfcHJpdi0+ZXh0YWxj bGspKSB7DQotCQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZXNhaV9wcml2LT5leHRhbGNsayk7 DQotCQlpZiAocmV0KQ0KLQkJCWdvdG8gZXJyX2V4dGFsY2s7DQotCX0NCi0JaWYgKCFJU19FUlIo ZXNhaV9wcml2LT5mc3lzY2xrKSkgew0KLQkJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGVzYWlf cHJpdi0+ZnN5c2Nsayk7DQotCQlpZiAocmV0KQ0KLQkJCWdvdG8gZXJyX2ZzeXNjbGs7DQotCX0N CiANCiAJaWYgKCFkYWktPmFjdGl2ZSkgew0KIAkJLyogU2V0IHN5bmNocm9ub3VzIG1vZGUgKi8N CkBAIC01MDYsMTYgKzQ4Myw2IEBAIHN0YXRpYyBpbnQgZnNsX2VzYWlfc3RhcnR1cChzdHJ1Y3Qg c25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwNCiANCiAJcmV0dXJuIDA7DQogDQotZXJyX2Zz eXNjbGs6DQotCWlmICghSVNfRVJSKGVzYWlfcHJpdi0+ZXh0YWxjbGspKQ0KLQkJY2xrX2Rpc2Fi bGVfdW5wcmVwYXJlKGVzYWlfcHJpdi0+ZXh0YWxjbGspOw0KLWVycl9leHRhbGNrOg0KLQlpZiAo IUlTX0VSUihlc2FpX3ByaXYtPnNwYmFjbGspKQ0KLQkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVz YWlfcHJpdi0+c3BiYWNsayk7DQotZXJyX3NwYmFjbGs6DQotCWNsa19kaXNhYmxlX3VucHJlcGFy ZShlc2FpX3ByaXYtPmNvcmVjbGspOw0KLQ0KLQlyZXR1cm4gcmV0Ow0KIH0NCiANCiBzdGF0aWMg aW50IGZzbF9lc2FpX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVh bSwNCkBAIC01NzYsMjAgKzU0Myw2IEBAIHN0YXRpYyBpbnQgZnNsX2VzYWlfaHdfcGFyYW1zKHN0 cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLA0KIAlyZXR1cm4gMDsNCiB9DQogDQot c3RhdGljIHZvaWQgZnNsX2VzYWlfc2h1dGRvd24oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpz dWJzdHJlYW0sDQotCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpDQotew0KLQlzdHJ1 Y3QgZnNsX2VzYWkgKmVzYWlfcHJpdiA9IHNuZF9zb2NfZGFpX2dldF9kcnZkYXRhKGRhaSk7DQot DQotCWlmICghSVNfRVJSKGVzYWlfcHJpdi0+ZnN5c2NsaykpDQotCQljbGtfZGlzYWJsZV91bnBy ZXBhcmUoZXNhaV9wcml2LT5mc3lzY2xrKTsNCi0JaWYgKCFJU19FUlIoZXNhaV9wcml2LT5leHRh bGNsaykpDQotCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZXNhaV9wcml2LT5leHRhbGNsayk7DQot CWlmICghSVNfRVJSKGVzYWlfcHJpdi0+c3BiYWNsaykpDQotCQljbGtfZGlzYWJsZV91bnByZXBh cmUoZXNhaV9wcml2LT5zcGJhY2xrKTsNCi0JY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVzYWlfcHJp di0+Y29yZWNsayk7DQotfQ0KLQ0KIHN0YXRpYyBpbnQgZnNsX2VzYWlfdHJpZ2dlcihzdHJ1Y3Qg c25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCwNCiAJCQkgICAgc3RydWN0IHNu ZF9zb2NfZGFpICpkYWkpDQogew0KQEAgLTY1OCw3ICs2MTEsNiBAQCBzdGF0aWMgaW50IGZzbF9l c2FpX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQs DQogDQogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhaV9vcHMgZnNsX2VzYWlfZGFpX29w cyA9IHsNCiAJLnN0YXJ0dXAgPSBmc2xfZXNhaV9zdGFydHVwLA0KLQkuc2h1dGRvd24gPSBmc2xf ZXNhaV9zaHV0ZG93biwNCiAJLnRyaWdnZXIgPSBmc2xfZXNhaV90cmlnZ2VyLA0KIAkuaHdfcGFy YW1zID0gZnNsX2VzYWlfaHdfcGFyYW1zLA0KIAkuc2V0X3N5c2NsayA9IGZzbF9lc2FpX3NldF9k YWlfc3lzY2xrLA0KQEAgLTk0Nyw2ICs4OTksMTAgQEAgc3RhdGljIGludCBmc2xfZXNhaV9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KIAkJcmV0dXJuIHJldDsNCiAJfQ0KIA0K KwlwbV9ydW50aW1lX2VuYWJsZSgmcGRldi0+ZGV2KTsNCisNCisJcmVnY2FjaGVfY2FjaGVfb25s eShlc2FpX3ByaXYtPnJlZ21hcCwgdHJ1ZSk7DQorDQogCXJldCA9IGlteF9wY21fZG1hX2luaXQo cGRldiwgSU1YX0VTQUlfRE1BQlVGX1NJWkUpOw0KIAlpZiAocmV0KQ0KIAkJZGV2X2VycigmcGRl di0+ZGV2LCAiZmFpbGVkIHRvIGluaXQgaW14IHBjbSBkbWE6ICVkXG4iLCByZXQpOw0KQEAgLTk1 NCw2ICs5MTAsMTMgQEAgc3RhdGljIGludCBmc2xfZXNhaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQ0KIAlyZXR1cm4gcmV0Ow0KIH0NCiANCitzdGF0aWMgaW50IGZzbF9lc2Fp X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJcG1fcnVudGltZV9k aXNhYmxlKCZwZGV2LT5kZXYpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQogc3RhdGljIGNvbnN0 IHN0cnVjdCBvZl9kZXZpY2VfaWQgZnNsX2VzYWlfZHRfaWRzW10gPSB7DQogCXsgLmNvbXBhdGli bGUgPSAiZnNsLGlteDM1LWVzYWkiLCB9LA0KIAl7IC5jb21wYXRpYmxlID0gImZzbCx2ZjYxMC1l c2FpIiwgfSwNCkBAIC05NjEsMjIgKzkyNCwzNSBAQCBzdGF0aWMgaW50IGZzbF9lc2FpX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogfTsNCiBNT0RVTEVfREVWSUNFX1RBQkxF KG9mLCBmc2xfZXNhaV9kdF9pZHMpOw0KIA0KLSNpZmRlZiBDT05GSUdfUE1fU0xFRVANCi1zdGF0 aWMgaW50IGZzbF9lc2FpX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KLXsNCi0Jc3RydWN0 IGZzbF9lc2FpICplc2FpID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQotDQotCXJlZ2NhY2hlX2Nh Y2hlX29ubHkoZXNhaS0+cmVnbWFwLCB0cnVlKTsNCi0JcmVnY2FjaGVfbWFya19kaXJ0eShlc2Fp LT5yZWdtYXApOw0KLQ0KLQlyZXR1cm4gMDsNCi19DQotDQotc3RhdGljIGludCBmc2xfZXNhaV9y ZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQ0KKyNpZmRlZiBDT05GSUdfUE0NCitzdGF0aWMgaW50 IGZzbF9lc2FpX3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikNCiB7DQogCXN0cnVj dCBmc2xfZXNhaSAqZXNhaSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KIAlpbnQgcmV0Ow0KIA0K KwkvKg0KKwkgKiBTb21lIHBsYXRmb3JtcyBtaWdodCB1c2UgdGhlIHNhbWUgYml0IHRvIGdhdGUg YWxsIHRocmVlIG9yIHR3byBvZg0KKwkgKiBjbG9ja3MsIHNvIGtlZXAgYWxsIGNsb2NrcyBvcGVu L2Nsb3NlIGF0IHRoZSBzYW1lIHRpbWUgZm9yIHNhZmV0eQ0KKwkgKi8NCisJcmV0ID0gY2xrX3By ZXBhcmVfZW5hYmxlKGVzYWktPmNvcmVjbGspOw0KKwlpZiAocmV0KQ0KKwkJcmV0dXJuIHJldDsN CisJaWYgKCFJU19FUlIoZXNhaS0+c3BiYWNsaykpIHsNCisJCXJldCA9IGNsa19wcmVwYXJlX2Vu YWJsZShlc2FpLT5zcGJhY2xrKTsNCisJCWlmIChyZXQpDQorCQkJZ290byBlcnJfc3BiYWNsazsN CisJfQ0KKwlpZiAoIUlTX0VSUihlc2FpLT5leHRhbGNsaykpIHsNCisJCXJldCA9IGNsa19wcmVw YXJlX2VuYWJsZShlc2FpLT5leHRhbGNsayk7DQorCQlpZiAocmV0KQ0KKwkJCWdvdG8gZXJyX2V4 dGFsY2xrOw0KKwl9DQorCWlmICghSVNfRVJSKGVzYWktPmZzeXNjbGspKSB7DQorCQlyZXQgPSBj bGtfcHJlcGFyZV9lbmFibGUoZXNhaS0+ZnN5c2Nsayk7DQorCQlpZiAocmV0KQ0KKwkJCWdvdG8g ZXJyX2ZzeXNjbGs7DQorCX0NCisNCiAJcmVnY2FjaGVfY2FjaGVfb25seShlc2FpLT5yZWdtYXAs IGZhbHNlKTsNCiANCiAJLyogRklGTyByZXNldCBmb3Igc2FmZXR5ICovDQpAQCAtOTg3LDIyICs5 NjMsNTkgQEAgc3RhdGljIGludCBmc2xfZXNhaV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQ0K IA0KIAlyZXQgPSByZWdjYWNoZV9zeW5jKGVzYWktPnJlZ21hcCk7DQogCWlmIChyZXQpDQotCQly ZXR1cm4gcmV0Ow0KKwkJZ290byBlcnJfcmVnY2FjaGVfc3luYzsNCiANCiAJLyogRklGTyByZXNl dCBkb25lICovDQogCXJlZ21hcF91cGRhdGVfYml0cyhlc2FpLT5yZWdtYXAsIFJFR19FU0FJX1RG Q1IsIEVTQUlfeEZDUl94RlIsIDApOw0KIAlyZWdtYXBfdXBkYXRlX2JpdHMoZXNhaS0+cmVnbWFw LCBSRUdfRVNBSV9SRkNSLCBFU0FJX3hGQ1JfeEZSLCAwKTsNCiANCiAJcmV0dXJuIDA7DQorDQor ZXJyX3JlZ2NhY2hlX3N5bmM6DQorCWlmICghSVNfRVJSKGVzYWktPmZzeXNjbGspKQ0KKwkJY2xr X2Rpc2FibGVfdW5wcmVwYXJlKGVzYWktPmZzeXNjbGspOw0KK2Vycl9mc3lzY2xrOg0KKwlpZiAo IUlTX0VSUihlc2FpLT5leHRhbGNsaykpDQorCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZXNhaS0+ ZXh0YWxjbGspOw0KK2Vycl9leHRhbGNsazoNCisJaWYgKCFJU19FUlIoZXNhaS0+c3BiYWNsaykp DQorCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZXNhaS0+c3BiYWNsayk7DQorZXJyX3NwYmFjbGs6 DQorCWNsa19kaXNhYmxlX3VucHJlcGFyZShlc2FpLT5jb3JlY2xrKTsNCisNCisJcmV0dXJuIHJl dDsNCiB9DQotI2VuZGlmIC8qIENPTkZJR19QTV9TTEVFUCAqLw0KKw0KK3N0YXRpYyBpbnQgZnNs X2VzYWlfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikNCit7DQorCXN0cnVjdCBm c2xfZXNhaSAqZXNhaSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KKw0KKwlyZWdjYWNoZV9jYWNo ZV9vbmx5KGVzYWktPnJlZ21hcCwgdHJ1ZSk7DQorCXJlZ2NhY2hlX21hcmtfZGlydHkoZXNhaS0+ cmVnbWFwKTsNCisNCisJaWYgKCFJU19FUlIoZXNhaS0+ZnN5c2NsaykpDQorCQljbGtfZGlzYWJs ZV91bnByZXBhcmUoZXNhaS0+ZnN5c2Nsayk7DQorCWlmICghSVNfRVJSKGVzYWktPmV4dGFsY2xr KSkNCisJCWNsa19kaXNhYmxlX3VucHJlcGFyZShlc2FpLT5leHRhbGNsayk7DQorCWlmICghSVNf RVJSKGVzYWktPnNwYmFjbGspKQ0KKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVzYWktPnNwYmFj bGspOw0KKwljbGtfZGlzYWJsZV91bnByZXBhcmUoZXNhaS0+Y29yZWNsayk7DQorDQorCXJldHVy biAwOw0KK30NCisjZW5kaWYgLyogQ09ORklHX1BNICovDQogDQogc3RhdGljIGNvbnN0IHN0cnVj dCBkZXZfcG1fb3BzIGZzbF9lc2FpX3BtX29wcyA9IHsNCi0JU0VUX1NZU1RFTV9TTEVFUF9QTV9P UFMoZnNsX2VzYWlfc3VzcGVuZCwgZnNsX2VzYWlfcmVzdW1lKQ0KKwlTRVRfUlVOVElNRV9QTV9P UFMoZnNsX2VzYWlfcnVudGltZV9zdXNwZW5kLA0KKwkJCSAgIGZzbF9lc2FpX3J1bnRpbWVfcmVz dW1lLA0KKwkJCSAgIE5VTEwpDQorCVNFVF9TWVNURU1fU0xFRVBfUE1fT1BTKHBtX3J1bnRpbWVf Zm9yY2Vfc3VzcGVuZCwNCisJCQkJcG1fcnVudGltZV9mb3JjZV9yZXN1bWUpDQogfTsNCiANCiBz dGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBmc2xfZXNhaV9kcml2ZXIgPSB7DQogCS5wcm9i ZSA9IGZzbF9lc2FpX3Byb2JlLA0KKwkucmVtb3ZlID0gZnNsX2VzYWlfcmVtb3ZlLA0KIAkuZHJp dmVyID0gew0KIAkJLm5hbWUgPSAiZnNsLWVzYWktZGFpIiwNCiAJCS5wbSA9ICZmc2xfZXNhaV9w bV9vcHMsDQotLSANCjEuOS4xDQoNCg==