Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp99210yba; Wed, 17 Apr 2019 20:33:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqwT/54DiIjKEe4uagonEgu+klqWWGxZ8/L/Q6GjpRCcULgHXIBy6s/wzWQlOIwK8/sHb40u X-Received: by 2002:a17:902:9686:: with SMTP id n6mr49973407plp.282.1555558420860; Wed, 17 Apr 2019 20:33:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555558420; cv=none; d=google.com; s=arc-20160816; b=hXFRkxKDGmPe+IqsaFPnX6WtHFdnmDOSTKU1YE7ISUVqSBk0Vyawpw3jDNCQ6G2AxC /mSrlRVzoC7XT7EIKVQ6g55Qxw9Krb84QnPKKbreAfxPRrg1Fiw10DZUSoC0nPF5Qv3D 0NZJysA7rte7kaw2ZwhJ0GV6ZIlMC63mhMoiXG6c7ojdTussKINyJbJhAHimrIUp9QcB aKZaTWQ828ooctMvij/m8CJpdM9Lut+bPHW7qCZuCs5DBei8W4Hxna2qpibIVuR5tDf2 XtVtuIhfXm2DGnVv0GAK2IeDrPpq725vbHJ6z9R1TF2L6Ene2T+Rn8+xRH9xwoF8UEg8 fMng== 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=HHhkIYpC1yG+k6UyKtZV26CwYVtQUTX3Jks5wSk1Te0=; b=PwqQBk6jRxpPEbLwsNYQtpntgxU5eANo+fY7mYsnRWItJAKKA1SavbRnButeIkl77j EhWXEokKUDV63OsVFzwFI4q0amzDka/U1t9Y2X1hM/cOBJ2KBGs7oiKlCL/lSmlDqnZV tBzdovZjZDhRsmcb8ZlC3WYvpFaR37eWLHZNFd+Yrnek9+7mIenFgG66Kvc76nFlJhjN K2T/E0YA3C8VKaoVuznmDaXAcrxOEA7TIX8+mlTcMYJctlIcONg6LrOnV+ndjlwmjJwQ AMy04Ja5ijaUorbzeC8LmBBYlUJ7BSIlnFG+GbaAMxca17fz0F16uZK6DS+crln6lTAS ZgOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector1 header.b=aXmav6lm; 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 m17si1075926pff.130.2019.04.17.20.32.49; Wed, 17 Apr 2019 20:33:40 -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=aXmav6lm; 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 S2387932AbfDRD3Q (ORCPT + 99 others); Wed, 17 Apr 2019 23:29:16 -0400 Received: from mail-eopbgr130083.outbound.protection.outlook.com ([40.107.13.83]:26557 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731985AbfDRD3P (ORCPT ); Wed, 17 Apr 2019 23:29:15 -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=HHhkIYpC1yG+k6UyKtZV26CwYVtQUTX3Jks5wSk1Te0=; b=aXmav6lmz7R4IRNgWpsmoCeHjhHssztf/ntw2Md86SOLi6nQJlB+3WhnJzWhURu+vgsPbSnenvAZj6d0neIFABi2fJmJlqLUmip4b2Sb1mJBABoAS0ZsRiFhQNHB8ejNHqB3ULMj8ZnbCJvKM/tqHm1kw37cxxm58vQRgx7QR/8= Received: from AM6PR04MB6470.eurprd04.prod.outlook.com (20.179.245.79) by AM6PR04MB6454.eurprd04.prod.outlook.com (20.179.245.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.19; Thu, 18 Apr 2019 03:29:09 +0000 Received: from AM6PR04MB6470.eurprd04.prod.outlook.com ([fe80::bc8d:21be:2cd6:f549]) by AM6PR04MB6470.eurprd04.prod.outlook.com ([fe80::bc8d:21be:2cd6:f549%3]) with mapi id 15.20.1813.011; Thu, 18 Apr 2019 03:29:09 +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] ASoC: fsl_esai: Add pm runtime function Thread-Topic: [PATCH] ASoC: fsl_esai: Add pm runtime function Thread-Index: AQHU9ZbiZU/zXTBSIUWbqTWj8Owr4Q== Date: Thu, 18 Apr 2019 03:29:09 +0000 Message-ID: <1555558152-32196-1-git-send-email-shengjiu.wang@nxp.com> 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: HK2PR04CA0067.apcprd04.prod.outlook.com (2603:1096:202:15::11) To AM6PR04MB6470.eurprd04.prod.outlook.com (2603:10a6:20b:f6::15) 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: 6ba0427b-7ad3-453e-daf2-08d6c3ae04be x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600141)(711020)(4605104)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:AM6PR04MB6454; x-ms-traffictypediagnostic: AM6PR04MB6454: x-microsoft-antispam-prvs: x-forefront-prvs: 0011612A55 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(396003)(376002)(346002)(366004)(136003)(39860400002)(189003)(199004)(86362001)(8936002)(53936002)(4326008)(6512007)(50226002)(66066001)(36756003)(478600001)(97736004)(110136005)(71190400001)(71200400001)(14444005)(14454004)(256004)(54906003)(305945005)(25786009)(476003)(81166006)(6436002)(2201001)(68736007)(7736002)(386003)(81156014)(99286004)(6506007)(102836004)(5660300002)(186003)(6486002)(2616005)(6116002)(52116002)(316002)(8676002)(26005)(2501003)(3846002)(2906002)(486006);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR04MB6454;H:AM6PR04MB6470.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: 8tNB371X6dBgoN15ZUbN5mRTEkX77hU7rj02XgRLMCOakpUVTobXKbRXF6x8ZzEBsLteQPdZ7EY2CS5qre4M3+jTios8iZboffG/QbRuJPfj8f8sGJHBT3EsCkazC7GzWtSE3eWztnuze2uGKEz+2y12Hgu9OBQtCMZjTnG3+V3feXxk7Wib1Arccoe3JXL1hMK+HJpMHKQkWBMxJk9tK0nLGxNqbs3YMKD6hllzZ5a84EpCi14Vvyetbw82cZGnyUj1HB6cXxmHuz0GfrPJJGJp6Re1qqeAO5XGMYB6cgsPXacoAsavqYnV8cSU4hHOfrAJkscYlOIDG2SP1UVoZxkmNUrdneqCo9jeLxAErOmiylEl1qTduDAbBLQIxMhNcEfVwSUxRAESKwwgf1RCEsqPSq6bLCtHinthh57W2Bo= 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: 6ba0427b-7ad3-453e-daf2-08d6c3ae04be X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2019 03:29:09.5960 (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: AM6PR04MB6454 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SW4gaW14OCB3aGVuIHN5c3Rlcm0gZW50ZXIgc3VzcGVuZCBzdGF0ZSwgdGhlIHBvd2VyIG9mIHN1 YnN5c3RlbSB3aWxsDQpiZSBvZmYsIHRoZSBjbG9jayBlbmFibGUgc3RhdGUgd2lsbCBiZSBsb3N0 IGFuZCByZWdpc3RlciBjb25maWd1cmF0aW9uDQp3aWxsIGJlIGxvc3QuIFNvIHRoZSBkcml2ZXIg bmVlZCB0byBlbnRlciBydW50aW1lIHN1c3BlbmQgc3RhdGUgaW4NCnN1c3BlbmQuDQoNCldpdGgg dGhpcyBpbXBsZW1lbnRhdGlvbiB0aGUgc3VzcGVuZCBmdW5jdGlvbiBhbG1vc3Qgc2FtZSBhcyBy dW50aW1lDQpzdXNwZW5kIGZ1bmN0aW9uLCBzbyByZW1vdmUgdGhlIHN1c3BlbmQgZnVuY3Rpb24s IGp1c3QgdXNlDQpwbV9ydW50aW1lX2ZvcmNlX3N1c3BlbmQgaW5zdGVhZCwgYW5kIHNhbWUgZm9y IHRoZSByZXN1bWUgZnVuY3Rpb24uDQoNCkFuZCBhbHNvIG5lZWQgdG8gbW92ZSBjbG9jayBlbmFi bGVtZW50IHRvIHJ1bnRpbWUgcmVzdW1lIGFuZCBjbG9jaw0KZGlzYWJsZW1lbnQgdG8gcnVudGlt ZSBzdXNwZW5kLg0KDQpTaWduZWQtb2ZmLWJ5OiBTaGVuZ2ppdSBXYW5nIDxzaGVuZ2ppdS53YW5n QG54cC5jb20+DQotLS0NCiBzb3VuZC9zb2MvZnNsL2ZzbF9lc2FpLmMgfCAxNDEgKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAxIGZpbGUgY2hhbmdlZCwg NzcgaW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9zb3VuZC9z b2MvZnNsL2ZzbF9lc2FpLmMgYi9zb3VuZC9zb2MvZnNsL2ZzbF9lc2FpLmMNCmluZGV4IGJhZDBk ZmVkNmI2OC4uYjFlMjdkYjM3NTJiIDEwMDY0NA0KLS0tIGEvc291bmQvc29jL2ZzbC9mc2xfZXNh aS5jDQorKysgYi9zb3VuZC9zb2MvZnNsL2ZzbF9lc2FpLmMNCkBAIC05LDYgKzksNyBAQA0KICNp bmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCiAjaW5jbHVkZSA8bGludXgvb2ZfaXJxLmg+DQogI2lu Y2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUu aD4NCiAjaW5jbHVkZSA8c291bmQvZG1hZW5naW5lX3BjbS5oPg0KICNpbmNsdWRlIDxzb3VuZC9w Y21fcGFyYW1zLmg+DQogDQpAQCAtNDY2LDMwICs0NjcsNiBAQCBzdGF0aWMgaW50IGZzbF9lc2Fp X3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sDQogCQkJICAgIHN0 cnVjdCBzbmRfc29jX2RhaSAqZGFpKQ0KIHsNCiAJc3RydWN0IGZzbF9lc2FpICplc2FpX3ByaXYg PSBzbmRfc29jX2RhaV9nZXRfZHJ2ZGF0YShkYWkpOw0KLQlpbnQgcmV0Ow0KLQ0KLQkvKg0KLQkg KiBTb21lIHBsYXRmb3JtcyBtaWdodCB1c2UgdGhlIHNhbWUgYml0IHRvIGdhdGUgYWxsIHRocmVl IG9yIHR3byBvZg0KLQkgKiBjbG9ja3MsIHNvIGtlZXAgYWxsIGNsb2NrcyBvcGVuL2Nsb3NlIGF0 IHRoZSBzYW1lIHRpbWUgZm9yIHNhZmV0eQ0KLQkgKi8NCi0JcmV0ID0gY2xrX3ByZXBhcmVfZW5h YmxlKGVzYWlfcHJpdi0+Y29yZWNsayk7DQotCWlmIChyZXQpDQotCQlyZXR1cm4gcmV0Ow0KLQlp ZiAoIUlTX0VSUihlc2FpX3ByaXYtPnNwYmFjbGspKSB7DQotCQlyZXQgPSBjbGtfcHJlcGFyZV9l bmFibGUoZXNhaV9wcml2LT5zcGJhY2xrKTsNCi0JCWlmIChyZXQpDQotCQkJZ290byBlcnJfc3Bi YWNsazsNCi0JfQ0KLQlpZiAoIUlTX0VSUihlc2FpX3ByaXYtPmV4dGFsY2xrKSkgew0KLQkJcmV0 ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGVzYWlfcHJpdi0+ZXh0YWxjbGspOw0KLQkJaWYgKHJldCkN Ci0JCQlnb3RvIGVycl9leHRhbGNrOw0KLQl9DQotCWlmICghSVNfRVJSKGVzYWlfcHJpdi0+ZnN5 c2NsaykpIHsNCi0JCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShlc2FpX3ByaXYtPmZzeXNjbGsp Ow0KLQkJaWYgKHJldCkNCi0JCQlnb3RvIGVycl9mc3lzY2xrOw0KLQl9DQogDQogCWlmICghZGFp LT5hY3RpdmUpIHsNCiAJCS8qIFNldCBzeW5jaHJvbm91cyBtb2RlICovDQpAQCAtNTA2LDE2ICs0 ODMsNiBAQCBzdGF0aWMgaW50IGZzbF9lc2FpX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3Ry ZWFtICpzdWJzdHJlYW0sDQogDQogCXJldHVybiAwOw0KIA0KLWVycl9mc3lzY2xrOg0KLQlpZiAo IUlTX0VSUihlc2FpX3ByaXYtPmV4dGFsY2xrKSkNCi0JCWNsa19kaXNhYmxlX3VucHJlcGFyZShl c2FpX3ByaXYtPmV4dGFsY2xrKTsNCi1lcnJfZXh0YWxjazoNCi0JaWYgKCFJU19FUlIoZXNhaV9w cml2LT5zcGJhY2xrKSkNCi0JCWNsa19kaXNhYmxlX3VucHJlcGFyZShlc2FpX3ByaXYtPnNwYmFj bGspOw0KLWVycl9zcGJhY2xrOg0KLQljbGtfZGlzYWJsZV91bnByZXBhcmUoZXNhaV9wcml2LT5j b3JlY2xrKTsNCi0NCi0JcmV0dXJuIHJldDsNCiB9DQogDQogc3RhdGljIGludCBmc2xfZXNhaV9o d19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sDQpAQCAtNTc2LDIw ICs1NDMsNiBAQCBzdGF0aWMgaW50IGZzbF9lc2FpX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9z dWJzdHJlYW0gKnN1YnN0cmVhbSwNCiAJcmV0dXJuIDA7DQogfQ0KIA0KLXN0YXRpYyB2b2lkIGZz bF9lc2FpX3NodXRkb3duKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLA0KLQkJ CSAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQ0KLXsNCi0Jc3RydWN0IGZzbF9lc2FpICpl c2FpX3ByaXYgPSBzbmRfc29jX2RhaV9nZXRfZHJ2ZGF0YShkYWkpOw0KLQ0KLQlpZiAoIUlTX0VS Uihlc2FpX3ByaXYtPmZzeXNjbGspKQ0KLQkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVzYWlfcHJp di0+ZnN5c2Nsayk7DQotCWlmICghSVNfRVJSKGVzYWlfcHJpdi0+ZXh0YWxjbGspKQ0KLQkJY2xr X2Rpc2FibGVfdW5wcmVwYXJlKGVzYWlfcHJpdi0+ZXh0YWxjbGspOw0KLQlpZiAoIUlTX0VSUihl c2FpX3ByaXYtPnNwYmFjbGspKQ0KLQkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVzYWlfcHJpdi0+ c3BiYWNsayk7DQotCWNsa19kaXNhYmxlX3VucHJlcGFyZShlc2FpX3ByaXYtPmNvcmVjbGspOw0K LX0NCi0NCiBzdGF0aWMgaW50IGZzbF9lc2FpX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3Ry ZWFtICpzdWJzdHJlYW0sIGludCBjbWQsDQogCQkJICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFp KQ0KIHsNCkBAIC02NTgsNyArNjExLDYgQEAgc3RhdGljIGludCBmc2xfZXNhaV90cmlnZ2VyKHN0 cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kLA0KIA0KIHN0YXRpYyBj b25zdCBzdHJ1Y3Qgc25kX3NvY19kYWlfb3BzIGZzbF9lc2FpX2RhaV9vcHMgPSB7DQogCS5zdGFy dHVwID0gZnNsX2VzYWlfc3RhcnR1cCwNCi0JLnNodXRkb3duID0gZnNsX2VzYWlfc2h1dGRvd24s DQogCS50cmlnZ2VyID0gZnNsX2VzYWlfdHJpZ2dlciwNCiAJLmh3X3BhcmFtcyA9IGZzbF9lc2Fp X2h3X3BhcmFtcywNCiAJLnNldF9zeXNjbGsgPSBmc2xfZXNhaV9zZXRfZGFpX3N5c2NsaywNCkBA IC05NDcsNiArODk5LDEwIEBAIHN0YXRpYyBpbnQgZnNsX2VzYWlfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikNCiAJCXJldHVybiByZXQ7DQogCX0NCiANCisJcG1fcnVudGltZV9l bmFibGUoJnBkZXYtPmRldik7DQorDQorCXJlZ2NhY2hlX2NhY2hlX29ubHkoZXNhaV9wcml2LT5y ZWdtYXAsIHRydWUpOw0KKw0KIAlyZXQgPSBpbXhfcGNtX2RtYV9pbml0KHBkZXYsIElNWF9FU0FJ X0RNQUJVRl9TSVpFKTsNCiAJaWYgKHJldCkNCiAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxl ZCB0byBpbml0IGlteCBwY20gZG1hOiAlZFxuIiwgcmV0KTsNCkBAIC05NTQsNiArOTEwLDEzIEBA IHN0YXRpYyBpbnQgZnNsX2VzYWlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikN CiAJcmV0dXJuIHJldDsNCiB9DQogDQorc3RhdGljIGludCBmc2xfZXNhaV9yZW1vdmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ ZGV2KTsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2 aWNlX2lkIGZzbF9lc2FpX2R0X2lkc1tdID0gew0KIAl7IC5jb21wYXRpYmxlID0gImZzbCxpbXgz NS1lc2FpIiwgfSwNCiAJeyAuY29tcGF0aWJsZSA9ICJmc2wsdmY2MTAtZXNhaSIsIH0sDQpAQCAt OTYxLDIzICs5MjQsMzcgQEAgc3RhdGljIGludCBmc2xfZXNhaV9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQ0KIH07DQogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZnNsX2VzYWlf ZHRfaWRzKTsNCiANCi0jaWZkZWYgQ09ORklHX1BNX1NMRUVQDQotc3RhdGljIGludCBmc2xfZXNh aV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikNCi17DQotCXN0cnVjdCBmc2xfZXNhaSAqZXNh aSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KLQ0KLQlyZWdjYWNoZV9jYWNoZV9vbmx5KGVzYWkt PnJlZ21hcCwgdHJ1ZSk7DQotCXJlZ2NhY2hlX21hcmtfZGlydHkoZXNhaS0+cmVnbWFwKTsNCi0N Ci0JcmV0dXJuIDA7DQotfQ0KLQ0KLXN0YXRpYyBpbnQgZnNsX2VzYWlfcmVzdW1lKHN0cnVjdCBk ZXZpY2UgKmRldikNCisjaWZkZWYgQ09ORklHX1BNDQorc3RhdGljIGludCBmc2xfZXNhaV9ydW50 aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQogew0KIAlzdHJ1Y3QgZnNsX2VzYWkgKmVz YWkgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCiAJaW50IHJldDsNCiANCisJLyoNCisJICogU29t ZSBwbGF0Zm9ybXMgbWlnaHQgdXNlIHRoZSBzYW1lIGJpdCB0byBnYXRlIGFsbCB0aHJlZSBvciB0 d28gb2YNCisJICogY2xvY2tzLCBzbyBrZWVwIGFsbCBjbG9ja3Mgb3Blbi9jbG9zZSBhdCB0aGUg c2FtZSB0aW1lIGZvciBzYWZldHkNCisJICovDQorCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShl c2FpLT5jb3JlY2xrKTsNCisJaWYgKHJldCkNCisJCXJldHVybiByZXQ7DQorCWlmICghSVNfRVJS KGVzYWktPnNwYmFjbGspKSB7DQorCQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZXNhaS0+c3Bi YWNsayk7DQorCQlpZiAocmV0KQ0KKwkJCWdvdG8gZXJyX3NwYmFjbGs7DQorCX0NCisJaWYgKCFJ U19FUlIoZXNhaS0+ZXh0YWxjbGspKSB7DQorCQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZXNh aS0+ZXh0YWxjbGspOw0KKwkJaWYgKHJldCkNCisJCQlnb3RvIGVycl9leHRhbGNsazsNCisJfQ0K KwlpZiAoIUlTX0VSUihlc2FpLT5mc3lzY2xrKSkgew0KKwkJcmV0ID0gY2xrX3ByZXBhcmVfZW5h YmxlKGVzYWktPmZzeXNjbGspOw0KKwkJaWYgKHJldCkNCisJCQlnb3RvIGVycl9mc3lzY2xrOw0K Kwl9DQorDQogCXJlZ2NhY2hlX2NhY2hlX29ubHkoZXNhaS0+cmVnbWFwLCBmYWxzZSk7DQorCXJl Z2NhY2hlX21hcmtfZGlydHkoZXNhaS0+cmVnbWFwKTsNCiANCiAJLyogRklGTyByZXNldCBmb3Ig c2FmZXR5ICovDQogCXJlZ21hcF91cGRhdGVfYml0cyhlc2FpLT5yZWdtYXAsIFJFR19FU0FJX1RG Q1IsDQpAQCAtOTg3LDIyICs5NjQsNTggQEAgc3RhdGljIGludCBmc2xfZXNhaV9yZXN1bWUoc3Ry dWN0IGRldmljZSAqZGV2KQ0KIA0KIAlyZXQgPSByZWdjYWNoZV9zeW5jKGVzYWktPnJlZ21hcCk7 DQogCWlmIChyZXQpDQotCQlyZXR1cm4gcmV0Ow0KKwkJZ290byBlcnJfcmVnY2FjaGVfc3luYzsN CiANCiAJLyogRklGTyByZXNldCBkb25lICovDQogCXJlZ21hcF91cGRhdGVfYml0cyhlc2FpLT5y ZWdtYXAsIFJFR19FU0FJX1RGQ1IsIEVTQUlfeEZDUl94RlIsIDApOw0KIAlyZWdtYXBfdXBkYXRl X2JpdHMoZXNhaS0+cmVnbWFwLCBSRUdfRVNBSV9SRkNSLCBFU0FJX3hGQ1JfeEZSLCAwKTsNCiAN CiAJcmV0dXJuIDA7DQorDQorZXJyX3JlZ2NhY2hlX3N5bmM6DQorCWlmICghSVNfRVJSKGVzYWkt PmZzeXNjbGspKQ0KKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVzYWktPmZzeXNjbGspOw0KK2Vy cl9mc3lzY2xrOg0KKwlpZiAoIUlTX0VSUihlc2FpLT5leHRhbGNsaykpDQorCQljbGtfZGlzYWJs ZV91bnByZXBhcmUoZXNhaS0+ZXh0YWxjbGspOw0KK2Vycl9leHRhbGNsazoNCisJaWYgKCFJU19F UlIoZXNhaS0+c3BiYWNsaykpDQorCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZXNhaS0+c3BiYWNs ayk7DQorZXJyX3NwYmFjbGs6DQorCWNsa19kaXNhYmxlX3VucHJlcGFyZShlc2FpLT5jb3JlY2xr KTsNCisNCisJcmV0dXJuIHJldDsNCit9DQorDQorc3RhdGljIGludCBmc2xfZXNhaV9ydW50aW1l X3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KK3sNCisJc3RydWN0IGZzbF9lc2FpICplc2Fp ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQorDQorCXJlZ2NhY2hlX2NhY2hlX29ubHkoZXNhaS0+ cmVnbWFwLCB0cnVlKTsNCisNCisJaWYgKCFJU19FUlIoZXNhaS0+ZnN5c2NsaykpDQorCQljbGtf ZGlzYWJsZV91bnByZXBhcmUoZXNhaS0+ZnN5c2Nsayk7DQorCWlmICghSVNfRVJSKGVzYWktPmV4 dGFsY2xrKSkNCisJCWNsa19kaXNhYmxlX3VucHJlcGFyZShlc2FpLT5leHRhbGNsayk7DQorCWlm ICghSVNfRVJSKGVzYWktPnNwYmFjbGspKQ0KKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVzYWkt PnNwYmFjbGspOw0KKwljbGtfZGlzYWJsZV91bnByZXBhcmUoZXNhaS0+Y29yZWNsayk7DQorDQor CXJldHVybiAwOw0KIH0NCi0jZW5kaWYgLyogQ09ORklHX1BNX1NMRUVQICovDQorI2VuZGlmIC8q IENPTkZJR19QTSAqLw0KIA0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBmc2xfZXNh aV9wbV9vcHMgPSB7DQotCVNFVF9TWVNURU1fU0xFRVBfUE1fT1BTKGZzbF9lc2FpX3N1c3BlbmQs IGZzbF9lc2FpX3Jlc3VtZSkNCisJU0VUX1JVTlRJTUVfUE1fT1BTKGZzbF9lc2FpX3J1bnRpbWVf c3VzcGVuZCwNCisJCQkgICBmc2xfZXNhaV9ydW50aW1lX3Jlc3VtZSwNCisJCQkgICBOVUxMKQ0K KwlTRVRfU1lTVEVNX1NMRUVQX1BNX09QUyhwbV9ydW50aW1lX2ZvcmNlX3N1c3BlbmQsDQorCQkJ CXBtX3J1bnRpbWVfZm9yY2VfcmVzdW1lKQ0KIH07DQogDQogc3RhdGljIHN0cnVjdCBwbGF0Zm9y bV9kcml2ZXIgZnNsX2VzYWlfZHJpdmVyID0gew0KIAkucHJvYmUgPSBmc2xfZXNhaV9wcm9iZSwN CisJLnJlbW92ZSA9IGZzbF9lc2FpX3JlbW92ZSwNCiAJLmRyaXZlciA9IHsNCiAJCS5uYW1lID0g ImZzbC1lc2FpLWRhaSIsDQogCQkucG0gPSAmZnNsX2VzYWlfcG1fb3BzLA0KLS0gDQoxLjkuMQ0K DQo=