From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9AD2DC433F4 for ; Tue, 28 Aug 2018 08:03:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2A59920893 for ; Tue, 28 Aug 2018 08:03:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="kaAfSpYm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2A59920893 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727451AbeH1Lx0 (ORCPT ); Tue, 28 Aug 2018 07:53:26 -0400 Received: from mail-ve1eur01on0057.outbound.protection.outlook.com ([104.47.1.57]:37408 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726567AbeH1LxX (ORCPT ); Tue, 28 Aug 2018 07:53:23 -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=VfGgJZgj4peLKOyWD7RZ8Y6lm5NAA1pCagWvJjtAYPw=; b=kaAfSpYmyKFYu6kFCiqlS6EtR0D98j3CqNwMS4mw3AR0UPGhdjijiiQuk+GDBSswt0A/7RsodGyOhxCebruHSn/3iL3bl93i4P5AuuSztoEJ8n0T4o+FxBG4cdehNMqJONkon5yorqZ/fGfx5WpMPEKTUdmT0USmu0rBJS79ZNg= Received: from DB3PR0402MB3916.eurprd04.prod.outlook.com (52.134.71.159) by DB3PR0402MB3644.eurprd04.prod.outlook.com (52.134.70.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.15; Tue, 28 Aug 2018 08:02:50 +0000 Received: from DB3PR0402MB3916.eurprd04.prod.outlook.com ([fe80::c0c1:51f1:411f:f13c]) by DB3PR0402MB3916.eurprd04.prod.outlook.com ([fe80::c0c1:51f1:411f:f13c%3]) with mapi id 15.20.1080.015; Tue, 28 Aug 2018 08:02:50 +0000 From: Anson Huang To: Andrey Smirnov CC: Shawn Guo , Sascha Hauer , Sascha Hauer , Fabio Estevam , linux-arm-kernel , linux-kernel , dl-linux-imx Subject: RE: [PATCH 2/2] soc: imx: gpcv2: make pgc driver more generic for other i.MX platforms Thread-Topic: [PATCH 2/2] soc: imx: gpcv2: make pgc driver more generic for other i.MX platforms Thread-Index: AQHULVDoP7ghfyg8qEONLcntksVo9qTUVlCAgACPKcCAAApJgIAAADjA Date: Tue, 28 Aug 2018 08:02:50 +0000 Message-ID: References: <1533537589-7202-1-git-send-email-Anson.Huang@nxp.com> <1533537589-7202-2-git-send-email-Anson.Huang@nxp.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [119.31.174.67] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DB3PR0402MB3644;6:VeKZLwiIbn82i7n20JyDpkkubVW5vEOnZsaSm4WGvaWr9nmPf/5ohpYjKEMXEBJ6oN+stfhFoMmkEGYWwM48vHPZ2ONGYsJ6o20XL519eSwTE2/iotIq1n4VY8Kh3k8Qju4vnZAGXx8XGVcbkPP2Xp0/bVPbmj2D7VnUcRcu6fc1LgJ24dO7D2sUwXzzgwJbVnBRjdswsNpInMAruCSFICC1qynerJUzWNb9dPH0OVh1ss8S08panLdcGqyvVHkuPMnWN8ndrJenqHlLthwhmKTSo5olrmxwT4e2BKcl7BmEX6CazLZiJyJc2MSt7zjQfILPUoRscpT54LzrKTLiyCzTpwSBhGjJhhkAA6zax81ztWUh0T27eDGvtw11N3n/nvYbsxTsKibj2+fXVeaMvvVBc+bfFCMc6Xtn22r8CehhKKeOwynsTBhz58vm/IiwNpxYFUk0WaE309D7S/sK8Q==;5:kW0uvkC0Zz1j8PJsaiiKnxKRu12AIWBQd3HAPYnbIhZOA4UC9ycNU6kRTdwR2AS6Ey3S+9j42NsYTYZ2qZoDS4yRWZHxnbQG0HxWja+nRttx8Od1UC4J2QtLzQ/iop0rWFoS9kQ088jMnv0I+hD3cIefY+L8ZZaW9ir9tRlZPVM=;7:kMVGjFMWIF0f3CY6TLHOtZkn7jsN+rAYnHFuD50bqw4V6B7pN07Wp3uiXLb7iHpBczUejg9tYccFE3bXKUTRAxXENJ1wnWGF3s4IJsSXESK31Pp2VvkAmkkTYjgT3K6aj0RhzRBZ+JAwQW0MgxZO2i3XEugadY2F572DxaSuzTSXMzqVpbvG9mcgXggf0KLPQTh2HpUjepZdT0vmNKkX1RI/9qS4Ji/RrRQ13zOlM2TzIsb2tof3HxgpkCuymRol x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 2a429250-9815-4a71-3292-08d60cbca6ae x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);SRVR:DB3PR0402MB3644; x-ms-traffictypediagnostic: DB3PR0402MB3644: authentication-results: spf=none (sender IP is ) smtp.mailfrom=anson.huang@nxp.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(185117386973197)(85827821059158)(258649278758335); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(823301075)(93006095)(93001095)(3231311)(944501410)(52105095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(201708071742011)(7699016);SRVR:DB3PR0402MB3644;BCL:0;PCL:0;RULEID:;SRVR:DB3PR0402MB3644; x-forefront-prvs: 077884B8B5 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(366004)(346002)(376002)(396003)(136003)(39860400002)(199004)(189003)(13464003)(3846002)(93886005)(53546011)(8936002)(26005)(39060400002)(81166006)(9686003)(5660300001)(102836004)(33656002)(4326008)(186003)(2906002)(55016002)(256004)(6916009)(81156014)(2900100001)(14454004)(6506007)(105586002)(229853002)(6436002)(99286004)(7696005)(97736004)(25786009)(478600001)(106356001)(486006)(7736002)(446003)(74316002)(305945005)(76176011)(68736007)(476003)(6246003)(66066001)(86362001)(11346002)(44832011)(8676002)(6116002)(316002)(54906003)(5250100002)(53936002)(41533002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB3PR0402MB3644;H:DB3PR0402MB3916.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: g84Y/slbiaPC8PqaQIdS08CDjXJoLIJn8//uxH/QtA2N+Iw7khZbId6Bp0XN2riq8pZVuVULCXRaFaiNOq+1Vn/BF36/xZ7R45Rsf2mDcx3UtK9vmqDqzLC1FI6KoKNenrG7+bSzYpzB9GBGu4OBRZsvfqJD/U2JT/zQAAtPShcvNSCdu2edjFL3LzkaNsOOJA6IEmPh9sC5hNV5Jdjxxd7A+MT688YaoT6Scd1Si6z6WZDMS7f0kge57AWvPqos8z41vCwV6ZUbBmo04v+PB/L0vQFxoIjrd3SJuBIdaxkaLaq1QNdbsXk62JJ4AxN+Gq2HH7+6ogC+vs2STwZqwMyxiJuEgzc9bz8DWRlJn1g= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM 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: 2a429250-9815-4a71-3292-08d60cbca6ae X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2018 08:02:50.8122 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0402MB3644 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCkFuc29uIEh1YW5nDQpCZXN0IFJlZ2FyZHMhDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXkgU21pcm5vdiA8YW5kcmV3LnNtaXJub3ZAZ21haWwuY29t Pg0KPiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgMjgsIDIwMTggNDowMSBQTQ0KPiBUbzogQW5zb24g SHVhbmcgPGFuc29uLmh1YW5nQG54cC5jb20+DQo+IENjOiBTaGF3biBHdW8gPHNoYXduZ3VvQGtl cm5lbC5vcmc+OyBTYXNjaGEgSGF1ZXINCj4gPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+OyBTYXNj aGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT47IEZhYmlvDQo+IEVzdGV2YW0gPGZhYmlv LmVzdGV2YW1AbnhwLmNvbT47IGxpbnV4LWFybS1rZXJuZWwNCj4gPGxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZz47IGxpbnV4LWtlcm5lbA0KPiA8bGludXgta2VybmVsQHZnZXIu a2VybmVsLm9yZz47IGRsLWxpbnV4LWlteCA8bGludXgtaW14QG54cC5jb20+DQo+IFN1YmplY3Q6 IFJlOiBbUEFUQ0ggMi8yXSBzb2M6IGlteDogZ3BjdjI6IG1ha2UgcGdjIGRyaXZlciBtb3JlIGdl bmVyaWMgZm9yDQo+IG90aGVyIGkuTVggcGxhdGZvcm1zDQo+IA0KPiBPbiBUdWUsIEF1ZyAyOCwg MjAxOCBhdCAxMjoyOCBBTSBBbnNvbiBIdWFuZyA8YW5zb24uaHVhbmdAbnhwLmNvbT4NCj4gd3Jv dGU6DQo+ID4NCj4gPg0KPiA+DQo+ID4gQW5zb24gSHVhbmcNCj4gPiBCZXN0IFJlZ2FyZHMhDQo+ ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IEFu ZHJleSBTbWlybm92IDxhbmRyZXcuc21pcm5vdkBnbWFpbC5jb20+DQo+ID4gPiBTZW50OiBUdWVz ZGF5LCBBdWd1c3QgMjgsIDIwMTggNjo1MSBBTQ0KPiA+ID4gVG86IEFuc29uIEh1YW5nIDxhbnNv bi5odWFuZ0BueHAuY29tPg0KPiA+ID4gQ2M6IFNoYXduIEd1byA8c2hhd25ndW9Aa2VybmVsLm9y Zz47IFNhc2NoYSBIYXVlcg0KPiA+ID4gPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+OyBTYXNjaGEg SGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT47DQo+ID4gPiBGYWJpbyBFc3RldmFtIDxmYWJp by5lc3RldmFtQG54cC5jb20+OyBsaW51eC1hcm0ta2VybmVsDQo+ID4gPiA8bGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnPjsgbGludXgta2VybmVsDQo+ID4gPiA8bGludXgta2Vy bmVsQHZnZXIua2VybmVsLm9yZz47IGRsLWxpbnV4LWlteCA8bGludXgtaW14QG54cC5jb20+DQo+ ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIDIvMl0gc29jOiBpbXg6IGdwY3YyOiBtYWtlIHBnYyBk cml2ZXIgbW9yZQ0KPiA+ID4gZ2VuZXJpYyBmb3Igb3RoZXIgaS5NWCBwbGF0Zm9ybXMNCj4gPiA+ DQo+ID4gPiBPbiBTdW4sIEF1ZyA1LCAyMDE4IGF0IDExOjQ1IFBNIEFuc29uIEh1YW5nIDxBbnNv bi5IdWFuZ0BueHAuY29tPg0KPiA+ID4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+IGkuTVg4TVEg YW5kIGkuTVg4TU0gc2hhcmUgc2FtZSBncGMgbW9kdWxlIHdpdGggaS5NWDdELCB0aGV5IGNhbg0K PiA+ID4gPiByZXVzZQ0KPiA+ID4gPiBncGN2MiBwZ2MgZHJpdmVyIGZvciBwb3dlciBkb21haW4g Y29udHJvbCwgdGhpcyBwYXRjaCByZW5hbWVzIGFsbA0KPiA+ID4gPiBmdW5jdGlvbnMgYW5kIHN0 cnVjdHVyZSBkZWZpbml0aW9ucyBzdGFydGVkIHdpdGggImlteDciIHRvICJpbXgiLA0KPiA+ID4g PiBhbmQgY2hlY2sgbWFjaGluZSB0eXBlIHRvIHBhc3MgcGxhdGZvcm0gc3BlY2lmaWMgcG93ZXIg ZG9tYWluIGRhdGENCj4gPiA+ID4gZm9yIHBvd2VyIGRvbWFpbiBkcml2ZXIsIHRodXMgbWFrZQ0K PiA+ID4gPiBncGN2MiBwZ2MgZHJpdmVyIG1vcmUgZ2VuZXJpYyBmb3IgaS5NWCBwbGF0Zm9ybXMu DQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gSnVzdCBmb3IgdGhlIHNha2Ugb2YNCj4gPiA+DQo+ID4g Pg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBbnNvbiBIdWFuZyA8QW5zb24uSHVhbmdAbnhwLmNv bT4NCj4gPiA+ID4gLS0tDQo+ID4gPiA+ICBkcml2ZXJzL3NvYy9pbXgvZ3BjdjIuYyB8IDY4DQo+ ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMo LSkNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL2lteC9ncGN2Mi5j IGIvZHJpdmVycy9zb2MvaW14L2dwY3YyLmMNCj4gPiA+ID4gaW5kZXgNCj4gPiA+ID4gMGUzMTQ2 NS4uMGUzM2NiNSAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvZHJpdmVycy9zb2MvaW14L2dwY3YyLmMN Cj4gPiA+ID4gKysrIGIvZHJpdmVycy9zb2MvaW14L2dwY3YyLmMNCj4gPiA+ID4gQEAgLTUzLDcg KzUzLDcgQEANCj4gPiA+ID4NCj4gPiA+ID4gICNkZWZpbmUgR1BDX1BHQ19DVFJMX1BDUiAgICAg ICAgICAgICAgIEJJVCgwKQ0KPiA+ID4gPg0KPiA+ID4gPiAtc3RydWN0IGlteDdfcGdjX2RvbWFp biB7DQo+ID4gPiA+ICtzdHJ1Y3QgaW14X3BnY19kb21haW4gew0KPiA+ID4gPiAgICAgICAgIHN0 cnVjdCBnZW5lcmljX3BtX2RvbWFpbiBnZW5wZDsNCj4gPiA+ID4gICAgICAgICBzdHJ1Y3QgcmVn bWFwICpyZWdtYXA7DQo+ID4gPiA+ICAgICAgICAgc3RydWN0IHJlZ3VsYXRvciAqcmVndWxhdG9y OyBAQCAtNjksMTEgKzY5LDExIEBAIHN0cnVjdA0KPiA+ID4gPiBpbXg3X3BnY19kb21haW4gew0K PiA+ID4gPiAgICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldjsNCj4gPiA+ID4gIH07DQo+ID4gPiA+ DQo+ID4gPiA+IC1zdGF0aWMgaW50IGlteDdfZ3BjX3B1X3BnY19zd19weHhfcmVxKHN0cnVjdCBn ZW5lcmljX3BtX2RvbWFpbg0KPiA+ID4gPiAqZ2VucGQsDQo+ID4gPiA+ICtzdGF0aWMgaW50IGlt eF9ncGNfcHVfcGdjX3N3X3B4eF9yZXEoc3RydWN0IGdlbmVyaWNfcG1fZG9tYWluDQo+ID4gPiA+ ICsqZ2VucGQsDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbCBvbikgIHsNCj4gPiA+ID4gLSAgICAgICBzdHJ1Y3QgaW14N19wZ2NfZG9tYWluICpkb21h aW4gPSBjb250YWluZXJfb2YoZ2VucGQsDQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdA0KPiA+ID4gaW14N19wZ2NfZG9t YWluLA0KPiA+ID4gPiArICAgICAgIHN0cnVjdCBpbXhfcGdjX2RvbWFpbiAqZG9tYWluID0gY29u dGFpbmVyX29mKGdlbnBkLA0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QNCj4gPiA+ID4gKyBpbXhfcGdjX2RvbWFpbiwN Cj4gPiA+ID4NCj4gZ2VucGQpOw0KPiA+ID4gPiAgICAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQg PSBvbiA/DQo+ID4gPiA+ICAgICAgICAgICAgICAgICBHUENfUFVfUEdDX1NXX1BVUF9SRVEgOg0K PiA+ID4gR1BDX1BVX1BHQ19TV19QRE5fUkVROyBAQA0KPiA+ID4gPiAtMTUwLDE3ICsxNTAsMTcg QEAgc3RhdGljIGludCBpbXg3X2dwY19wdV9wZ2Nfc3dfcHh4X3JlcShzdHJ1Y3QNCj4gPiA+IGdl bmVyaWNfcG1fZG9tYWluICpnZW5wZCwNCj4gPiA+ID4gICAgICAgICByZXR1cm4gcmV0Ow0KPiA+ ID4gPiAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtc3RhdGljIGludCBpbXg3X2dwY19wdV9wZ2Nfc3df cHVwX3JlcShzdHJ1Y3QgZ2VuZXJpY19wbV9kb21haW4NCj4gPiA+ID4gKmdlbnBkKQ0KPiA+ID4g PiArc3RhdGljIGludCBpbXhfZ3BjX3B1X3BnY19zd19wdXBfcmVxKHN0cnVjdCBnZW5lcmljX3Bt X2RvbWFpbg0KPiA+ID4gPiArKmdlbnBkKQ0KPiA+ID4gPiAgew0KPiA+ID4gPiAtICAgICAgIHJl dHVybiBpbXg3X2dwY19wdV9wZ2Nfc3dfcHh4X3JlcShnZW5wZCwgdHJ1ZSk7DQo+ID4gPiA+ICsg ICAgICAgcmV0dXJuIGlteF9ncGNfcHVfcGdjX3N3X3B4eF9yZXEoZ2VucGQsIHRydWUpOw0KPiA+ ID4gPiAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtc3RhdGljIGludCBpbXg3X2dwY19wdV9wZ2Nfc3df cGRuX3JlcShzdHJ1Y3QgZ2VuZXJpY19wbV9kb21haW4NCj4gPiA+ID4gKmdlbnBkKQ0KPiA+ID4g PiArc3RhdGljIGludCBpbXhfZ3BjX3B1X3BnY19zd19wZG5fcmVxKHN0cnVjdCBnZW5lcmljX3Bt X2RvbWFpbg0KPiA+ID4gPiArKmdlbnBkKQ0KPiA+ID4gPiAgew0KPiA+ID4gPiAtICAgICAgIHJl dHVybiBpbXg3X2dwY19wdV9wZ2Nfc3dfcHh4X3JlcShnZW5wZCwgZmFsc2UpOw0KPiA+ID4gPiAr ICAgICAgIHJldHVybiBpbXhfZ3BjX3B1X3BnY19zd19weHhfcmVxKGdlbnBkLCBmYWxzZSk7DQo+ ID4gPiA+ICB9DQo+ID4gPiA+DQo+ID4gPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGlteDdfcGdj X2RvbWFpbiBpbXg3X3BnY19kb21haW5zW10gPSB7DQo+ID4gPiA+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IGlteF9wZ2NfZG9tYWluIGlteDdfcGdjX2RvbWFpbnNbXSA9IHsNCj4gPiA+ID4gICAgICAg ICBbSU1YN19QT1dFUl9ET01BSU5fTUlQSV9QSFldID0gew0KPiA+ID4gPiAgICAgICAgICAgICAg ICAgLmdlbnBkID0gew0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAubmFtZSAgICAg ID0gIm1pcGktcGh5IiwNCj4gPiA+ID4gQEAgLTE5OCw5ICsxOTgsOSBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGlteDdfcGdjX2RvbWFpbg0KPiA+ID4gaW14N19wZ2NfZG9tYWluc1tdID0gew0KPiA+ ID4gPiAgICAgICAgIH0sDQo+ID4gPiA+ICB9Ow0KPiA+ID4gPg0KPiA+ID4gPiAtc3RhdGljIGlu dCBpbXg3X3BnY19kb21haW5fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4g PiA+ID4gK3N0YXRpYyBpbnQgaW14X3BnY19kb21haW5fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikNCj4gPiA+ID4gIHsNCj4gPiA+ID4gLSAgICAgICBzdHJ1Y3QgaW14N19wZ2Nf ZG9tYWluICpkb21haW4gPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsNCj4gPiA+ID4gKyAgICAg ICBzdHJ1Y3QgaW14X3BnY19kb21haW4gKmRvbWFpbiA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRh Ow0KPiA+ID4gPiAgICAgICAgIGludCByZXQ7DQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgICAgZG9t YWluLT5kZXYgPSAmcGRldi0+ZGV2Ow0KPiA+ID4gPiBAQCAtMjMzLDkgKzIzMyw5IEBAIHN0YXRp YyBpbnQgaW14N19wZ2NfZG9tYWluX3Byb2JlKHN0cnVjdA0KPiA+ID4gcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQ0KPiA+ID4gPiAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gPiA+ICB9DQo+ID4gPiA+ DQo+ID4gPiA+IC1zdGF0aWMgaW50IGlteDdfcGdjX2RvbWFpbl9yZW1vdmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikNCj4gPiA+ID4gK3N0YXRpYyBpbnQgaW14X3BnY19kb21haW5fcmVt b3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gPiA+ICB7DQo+ID4gPiA+IC0g ICAgICAgc3RydWN0IGlteDdfcGdjX2RvbWFpbiAqZG9tYWluID0gcGRldi0+ZGV2LnBsYXRmb3Jt X2RhdGE7DQo+ID4gPiA+ICsgICAgICAgc3RydWN0IGlteF9wZ2NfZG9tYWluICpkb21haW4gPSBw ZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsNCj4gPiA+ID4NCj4gPiA+ID4gICAgICAgICBvZl9nZW5w ZF9kZWxfcHJvdmlkZXIoZG9tYWluLT5kZXYtPm9mX25vZGUpOw0KPiA+ID4gPiAgICAgICAgIHBt X2dlbnBkX3JlbW92ZSgmZG9tYWluLT5nZW5wZCk7IEBAIC0yNDMsMjMgKzI0MywyNA0KPiBAQA0K PiA+ID4gc3RhdGljDQo+ID4gPiA+IGludCBpbXg3X3BnY19kb21haW5fcmVtb3ZlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gPiA+ICAgICAgICAgcmV0dXJuIDA7DQo+ID4gPiA+ ICB9DQo+ID4gPiA+DQo+ID4gPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IHBsYXRmb3JtX2Rldmlj ZV9pZCBpbXg3X3BnY19kb21haW5faWRbXSA9IHsNCj4gPiA+ID4gLSAgICAgICB7ICJpbXg3LXBn Yy1kb21haW4iLCB9LA0KPiA+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2VfaWQgaW14X3BnY19kb21haW5faWRbXSA9IHsNCj4gPiA+ID4gKyAgICAgICB7ICJpbXgtcGdj LWRvbWFpbiIsIH0sDQo+ID4gPiA+ICAgICAgICAgeyB9LA0KPiA+ID4gPiAgfTsNCj4gPiA+ID4N Cj4gPiA+ID4gLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGlteDdfcGdjX2RvbWFpbl9k cml2ZXIgPSB7DQo+ID4gPiA+ICtzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBpbXhfcGdj X2RvbWFpbl9kcml2ZXIgPSB7DQo+ID4gPiA+ICAgICAgICAgLmRyaXZlciA9IHsNCj4gPiA+ID4g LSAgICAgICAgICAgICAgIC5uYW1lID0gImlteDctcGdjIiwNCj4gPiA+ID4gKyAgICAgICAgICAg ICAgIC5uYW1lID0gImlteC1wZ2MiLA0KPiA+ID4gPiAgICAgICAgIH0sDQo+ID4gPiA+IC0gICAg ICAgLnByb2JlICAgID0gaW14N19wZ2NfZG9tYWluX3Byb2JlLA0KPiA+ID4gPiAtICAgICAgIC5y ZW1vdmUgICA9IGlteDdfcGdjX2RvbWFpbl9yZW1vdmUsDQo+ID4gPiA+IC0gICAgICAgLmlkX3Rh YmxlID0gaW14N19wZ2NfZG9tYWluX2lkLA0KPiA+ID4gPiArICAgICAgIC5wcm9iZSAgICA9IGlt eF9wZ2NfZG9tYWluX3Byb2JlLA0KPiA+ID4gPiArICAgICAgIC5yZW1vdmUgICA9IGlteF9wZ2Nf ZG9tYWluX3JlbW92ZSwNCj4gPiA+ID4gKyAgICAgICAuaWRfdGFibGUgPSBpbXhfcGdjX2RvbWFp bl9pZCwNCj4gPiA+ID4gIH07DQo+ID4gPiA+IC1idWlsdGluX3BsYXRmb3JtX2RyaXZlcihpbXg3 X3BnY19kb21haW5fZHJpdmVyKQ0KPiA+ID4gPiArYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoaW14 X3BnY19kb21haW5fZHJpdmVyKQ0KPiA+ID4gPg0KPiA+ID4gPiAgc3RhdGljIGludCBpbXhfZ3Bj djJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikgIHsNCj4gPiA+ID4gKyAgICAg ICBzdGF0aWMgY29uc3Qgc3RydWN0IGlteF9wZ2NfZG9tYWluICppbXhfcGdjX2RvbWFpbnM7DQo+ ID4gPiA+ICAgICAgICAgc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfcmFuZ2UgeWVzX3Jhbmdl c1tdID0gew0KPiA+ID4gPiAgICAgICAgICAgICAgICAgcmVnbWFwX3JlZ19yYW5nZShHUENfTFBD Ul9BX0NPUkVfQlNDLA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH UENfTTRfUFVfUEROX0ZMRyksIEBADQo+ID4gPiAtMjg3LDYgKzI4OCw3DQo+ID4gPiA+IEBAIHN0 YXRpYyBpbnQgaW14X2dwY3YyX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ ID4gPiA+ICAgICAgICAgc3RydWN0IHJlZ21hcCAqcmVnbWFwOw0KPiA+ID4gPiAgICAgICAgIHN0 cnVjdCByZXNvdXJjZSAqcmVzOw0KPiA+ID4gPiAgICAgICAgIHZvaWQgX19pb21lbSAqYmFzZTsN Cj4gPiA+ID4gKyAgICAgICBpbnQgcGdjX21heF9pbmRleDsNCj4gPiA+ID4gICAgICAgICBpbnQg cmV0Ow0KPiA+ID4gPg0KPiA+ID4gPiAgICAgICAgIHBnY19ucCA9IG9mX2dldF9jaGlsZF9ieV9u YW1lKGRldi0+b2Zfbm9kZSwgInBnYyIpOyBAQA0KPiA+ID4gPiAtMzA3LDkNCj4gPiA+ID4gKzMw OSwxOSBAQCBzdGF0aWMgaW50IGlteF9ncGN2Ml9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl DQo+ID4gPiA+ICsqcGRldikNCj4gPiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ ID4gPiA+ICAgICAgICAgfQ0KPiA+ID4gPg0KPiA+ID4gPiArICAgICAgIGlmIChvZl9tYWNoaW5l X2lzX2NvbXBhdGlibGUoImZzbCxpbXg3ZCIpKSB7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICBw Z2NfbWF4X2luZGV4ID0gQVJSQVlfU0laRShpbXg3X3BnY19kb21haW5zKTsNCj4gPiA+ID4gKyAg ICAgICAgICAgICAgIGlteF9wZ2NfZG9tYWlucyA9IGlteDdfcGdjX2RvbWFpbnM7DQo+ID4gPiA+ ICsgICAgICAgfQ0KPiA+ID4NCj4gPiA+IElzIHRoZXJlIGFueSByZWFzb24gdG8gZG8gdGhpcyBl eHBsaWNpdCBjYWxsIHRvDQo+ID4gPiBvZl9tYWNoaW5lX2lzX2NvbXBhdGlibGUoKSBhcyBvcHBv c2VkIHRvIHBhc3NpbmcgbmVjZXNzYXJ5IGRhdGEgdmlhDQo+ID4gPiAuZGF0YSBpbiBpbXhfZ3Bj djJfZHRfaWRzW10/IFRoZSBsYXR0ZXIgc2VlbXMgbGlrZSBhIG1vcmUNCj4gPiA+IHN0cmFpZ2h0 Zm9yd2FyZCB3YXkgb2YgcGFzc2luZyB2YXJpYW50IHNwZWNpZmljIGRyaXZlciBpbmZvDQo+ID4N Cj4gPiBUaGUgcmVhc29uIG9mIE5PVCB1c2luZyAuZGF0YSBpcyB0aGF0IGN1cnJlbnRseSBncGN2 MiBkcml2ZXIgdXNlcyBhDQo+ID4gc3RydWN0dXJlIGFycmF5IG9mIGlteDdfcGdjX2RvbWFpbnNb XSB3aGljaCBoYXMgbm8gZml4ZWQgbGVuZ3RoLCB0aGUNCj4gPiAuZGF0YSBjYW4gT05MWSBwYXNz IHRoZSBwb2ludGVyIG9mIHRoZSBzdGFydGluZyBhZGRyZXNzIG9mDQo+ID4gaW14N19wZ2NfZG9t YWluc1tdLCBhbmQgd2UgbmVlZCB0byBrbm93IHRoZSBhcnJheSBzaXplIG9mDQo+ID4gaW14N19w Z2NfZG9tYWlucywgaG93IGNhbiB3ZSBrbm93IGl0IGlmIHdlIE9OTFkgZ290IHRoZSBzdGFydGlu ZyBhZGRyZXNzDQo+IG9mIHRoaXMgYXJyYXkgcGFzc2VkIGZyb20gLmRhdGEuIFBsZWFzZSBhZHZp c2UsIHRoYW5rcy4NCj4gPg0KPiANCj4gVW5sZXNzIEkgYW0gbWlzc2luZyBzb21ldGhpbmcsIHlv dSBzaG91bGQgYmUgYWJsZSB0byBkbyBzb21ldGhpbmcgbGlrZToNCj4gDQo+IHN0cnVjdCBpbXhf cGdjX2RvbWFpbl9kYXRhIHsNCj4gICAgIHN0cnVjdCBpbXhfcGdjX2RvbWFpbiAqZG9tYWluczsN Cj4gICAgIHNpemVfdCBkb21haW5zX251bTsNCj4gfTsNCj4gDQo+IGNvbnN0IHN0cnVjdCBpbXhf cGdjX2RvbWFpbl9kYXRhIGlteDdfcGdjX2RvbWFpbl9kYXRhID0gew0KPiAgICAgLmRvbWFpbnMg PSBpbXg3X3BnY19kb21haW5zLA0KPiAgICAgLmRvbWFpbnNfbnVtID0gQVJSQVlfU0laRShpbXg3 X3BnY19kb21haW5zKSwgfTsNCj4gDQo+IGFuZCB0aGVuIGp1c3QgcGFzcyBpbXg3X3BnY19kb21h aW5fZGF0YSB2aWEgLmRhdGEuIFRoYXQncyBhIHByZXR0eSBjb21tb24NCj4gaWRpb20gaW4ga2Vy bmVsIGRyaXZlci4NCj4gDQo+IFRoYW5rcywNCj4gQW5kcmV5IFNtaXJub3YNCiANClRoYW5rcyBB bmRyZXkuIEkganVzdCB0aG91Z2h0IHdlIGNhbiBhdm9pZCBhbm90aGVyIHdhcnAgZm9yIHRoZSBz dHJ1Y3R1cmUsIGlmDQp3ZSBjYW4gTk9ULCBJIHdpbGwgYWRkIGEgd3JhcCBpbiBWMiBwYXRjaCBz ZXQgYXMgeW91IHN1Z2dlc3RlZCwgdGhhbmtzLg0KDQpBbnNvbi4NCg0KDQo=