From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peng Fan Subject: RE: [PATCH v2] clk: imx8mm: Switch to platform driver Date: Tue, 17 Mar 2020 03:56:20 +0000 Message-ID: References: <1562682003-20951-1-git-send-email-abel.vesa@nxp.com> <2df024c3-ab46-4e33-f961-5ef994aea145@kontron.de> <9dae8bb7-b1da-28b5-a6e9-42102a5c3be3@kontron.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Linux Kernel Mailing List , "linux-spi@vger.kernel.org" , dl-linux-imx , "linux-clk@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" To: Schrempf Frieder , Abel Vesa , Mike Turquette , Stephen Boyd , Shawn Guo , Sascha Hauer , Fabio Estevam , Anson Huang , Jacky Bai Return-path: In-Reply-To: <9dae8bb7-b1da-28b5-a6e9-42102a5c3be3@kontron.de> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-spi.vger.kernel.org PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBjbGs6IGlteDhtbTogU3dpdGNoIHRvIHBsYXRmb3Jt IGRyaXZlcg0KPiANCj4gT24gMDYuMDIuMjAgMTE6MzcsIEZyaWVkZXIgU2NocmVtcGYgd3JvdGU6 DQo+ID4gT24gMDYuMDIuMjAgMTE6MzQsIFNjaHJlbXBmIEZyaWVkZXIgd3JvdGU6DQo+ID4+IEhp LA0KPiA+Pg0KPiA+PiBPbiAwOS4wNy4xOSAxNjoyMCwgQWJlbCBWZXNhIHdyb3RlOg0KPiA+Pj4g VGhlcmUgaXMgbm8gc3Ryb25nIHJlYXNvbiBmb3IgdGhpcyB0byB1c2UgQ0xLX09GX0RFQ0xBUkUg aW5zdGVhZCBvZg0KPiA+Pj4gYmVpbmcgYSBwbGF0Zm9ybSBkcml2ZXIuIFBsdXMsIHRoaXMgd2ls bCBub3cgYmUgYWxpZ25lZCB3aXRoIHRoZQ0KPiA+Pj4gb3RoZXIgaS5NWDhNIGNsb2NrIGRyaXZl cnMgd2hpY2ggYXJlIHBsYXRmb3JtIGRyaXZlcnMuDQo+ID4+Pg0KPiA+Pj4gSW4gb3JkZXIgdG8g bWFrZSB0aGUgY2xvY2sgcHJvdmlkZXIgYSBwbGF0Zm9ybSBkcml2ZXIgYWxsIHRoZSBkYXRhDQo+ ID4+PiBhbmQgY29kZSBuZWVkcyB0byBiZSBvdXRzaWRlIG9mIC5pbml0IHNlY3Rpb24uDQo+ID4+ Pg0KPiA+Pj4gU2lnbmVkLW9mZi1ieTogQWJlbCBWZXNhIDxhYmVsLnZlc2FAbnhwLmNvbT4NCj4g Pj4+IEFja2VkLWJ5OiBTdGVwaGVuIEJveWQgPHNib3lkQGtlcm5lbC5vcmc+DQo+ID4+DQo+ID4+ IFRoaXMgaGFzIGJlZW4gdXBzdHJlYW0gZm9yIHF1aXRlIHNvbWUgdGltZSBub3csIGJ1dCBzb21l aG93IEkgaGF2ZSBhbg0KPiA+PiBpc3N1ZSB3aXRoIFNQSSBvbiB0aGUgaS5NWDhNTSB0aGF0IGdl dHMgcmVzb2x2ZWQgd2hlbiBJIHJldmVydCB0aGlzDQo+ID4+IHBhdGNoLg0KPiA+Pg0KPiA+PiBX aGVuIEkgdHJ5IHRvIHByb2JlIGFuIFNQSSBOT1IgZmxhc2ggd2l0aCBsYXRlc3QgNS40IG9yIGV2 ZW4gNS41Og0KPiA+Pg0KPiA+PiDCoMKgwqDCoHNwaV9pbXggMzA4MjAwMDAuc3BpOiBkbWEgc2V0 dXAgZXJyb3IgLTE5LCB1c2UgcGlvDQo+ID4+IMKgwqDCoMKgc3BpLW5vciBzcGkwLjA6IHVucmVj b2duaXplZCBKRURFQyBpZCBieXRlczogMDAgMDAgMDAgMDAgMDAgMDANCj4gPj4gwqDCoMKgwqBz cGlfaW14IDMwODIwMDAwLnNwaTogcHJvYmVkDQo+ID4+DQo+ID4+IFdoZW4gSSByZXZlcnQgdGhp cyBwYXRjaDoNCj4gPj4NCj4gPj4gwqDCoMKgwqBzcGlfaW14IDMwODIwMDAwLnNwaTogZG1hIHNl dHVwIGVycm9yIC0xOSwgdXNlIHBpbw0KPiA+PiDCoMKgwqDCoHNwaS1ub3Igc3BpMC4wOiBteDI1 cjE2MzVmICgyMDQ4IEtieXRlcykNCj4gPj4gwqDCoMKgwqBzcGlfaW14IDMwODIwMDAwLnNwaTog cHJvYmVkDQo+ID4+DQo+ID4+IFBsZWFzZSBub3RlLCB0aGF0IGluIGJvdGggY2FzZXMgSSBoYXZl IGRpc2FibGVkIERNQSwgYXMgdGhpcyBjYXVzZXMNCj4gPj4gZXZlbiBtb3JlIHRyb3VibGUgKHNl ZSBbMV0pLiBCdXQgZXZlbiB3aXRoIERNQSBlbmFibGVkIGFuZCBpZ25vcmluZw0KPiA+PiB0aGUg RE1BIGVycm9ycywgdGhlIGlzc3VlIGRlc2NyaWJlZCBhYm92ZSBvY2N1cnMuDQo+ID4+DQo+ID4+ IERvZXMgc29tZW9uZSBoYXZlIGFuIGlkZWEgd2hhdCdzIHdyb25nPw0KPiA+PiBBbSBJIHRoZSBv bmx5IHVzZXIgb2YgU1BJIG9uIGkuTVg4TU0gYXMgdGhpcyBpc3N1ZSBzZWVtcyB0byBleGlzdA0K PiA+PiB1cHN0cmVhbSBzaW5jZSB2NS40LXJjMT8NCj4gDQo+IFRoaXMgaXNzdWUgc3RpbGwgcGVy c2lzdHMgaW4gdjUuNi1yYzYuIENhbiBzb21lb25lIHBsZWFzZSBoYXZlIGEgbG9vaz8NCg0KV291 bGQgeW91IHBvc3QgeW91ciBmdWxsIGJvb3QgbG9nIHNvbWV3aGVyZT8NCg0KV2l0aCBzdWNjZXNz L2ZhaWwgY2FzZSwgYXJlIHRoZXJlIGFueSBkaWZmZXJlbmNlcyBpbiBzcGkgY29udHJvbGxlciBy ZWdpc3RlcnM/DQpJIHN1cHBvc2Ugbm8uDQoNCkRpZCB5b3UgbWVhc3VyZSB0aGUgc2lnbmFsIHNh eWluZyBkYXRhIGluIHdoZW4gY3MgaXMgbG93Pw0KDQpBbnl3YXkgaXQgaXMgYSBiaXQgd2lyZWQg c2luY2UgdGhpcyBwYXRjaCBqdXN0IGRlbGF5ZWQgdGhlIHByb2JlIGZvciBhIHdoaWxlLg0KDQpS ZWdhcmRzLA0KUGVuZy4NCg0KPiANCj4gVGhhbmtzLA0KPiBGcmllZGVyDQo+IA0KPiA+DQo+ID4g U29ycnkgZm9yZ290IHRoZSBsaW5rOg0KPiA+DQo+ID4gWzFdOg0KPiA+IGh0dHBzOi8vZXVyMDEu c2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmxvcmUN Cj4gPiAua2VybmVsLm9yZyUyRnBhdGNod29yayUyRnBhdGNoJTJGMTA4NjQ1OSUyRiZhbXA7ZGF0 YT0wMiU3QzAxJQ0KPiA3Q3BlbmcuZg0KPiA+DQo+IGFuJTQwbnhwLmNvbSU3QzIzMTc3NjUzNTcx NDRjNGI4YTdlMDhkN2M5YWQyZTdlJTdDNjg2ZWExZDNiYzINCj4gYjRjNmZhOTJjDQo+ID4NCj4g ZDk5YzVjMzAxNjM1JTdDMCU3QzAlN0M2MzcxOTk2MTc5Njc2ODU5ODMmYW1wO3NkYXRhPXAyelRn WnBoNg0KPiAlMkY2VUxiJTINCj4gPiBGOEFDSnY0eDAlMkJvdjA5WnRMTGJ2b2FkaHNSaUk4JTNE JmFtcDtyZXNlcnZlZD0wDQo+ID4NCj4gPj4NCj4gPj4+IC0tLQ0KPiA+Pj4NCj4gPj4+IENoYW5n ZXMgc2luY2UgdjE6DQo+ID4+PiDCoMKgICogU3dpdGNoZWQgdG8gcGxhdGZvcm0gZHJpdmVyIG1l bW9yeSBtYXBwaW5nIEFQSQ0KPiA+Pj4gwqDCoCAqIFJlbW92ZWQgZXh0cmEgbmV3bGluZQ0KPiA+ Pj4gwqDCoCAqIEFkZGVkIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIGNoYW5nZSBpcyBkb25l DQo+ID4+PiDCoMKgwqDCoCBpbiB0aGUgY29tbWl0IG1lc3NhZ2UNCj4gPj4+DQo+ID4+PiDCoMKg IGRyaXZlcnMvY2xrL2lteC9jbGstaW14OG1tLmMgfCA1Nw0KPiA+Pj4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0NCj4gPj4+IMKgwqAgMSBmaWxlIGNoYW5nZWQs IDM2IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQ0KPiA+Pj4NCj4gPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2Nsay9pbXgvY2xrLWlteDhtbS5jDQo+ID4+PiBiL2RyaXZlcnMvY2xrL2lt eC9jbGstaW14OG1tLmMgaW5kZXggNmI4ZTc1ZC4uN2E4ZTcxMyAxMDA2NDQNCj4gPj4+IC0tLSBh L2RyaXZlcnMvY2xrL2lteC9jbGstaW14OG1tLmMNCj4gPj4+ICsrKyBiL2RyaXZlcnMvY2xrL2lt eC9jbGstaW14OG1tLmMNCj4gPj4+IEBAIC02OCw0MyArNjgsNDMgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBpbXhfcGxsMTR4eF9yYXRlX3RhYmxlDQo+ID4+PiBpbXg4bW1fZHJhbXBsbF90YmxbXSA9 IHsNCj4gPj4+IMKgwqDCoMKgwqDCoCBQTExfMTQ0M1hfUkFURSg2NTAwMDAwMDBVLCAzMjUsIDMs IDIsIDApLA0KPiA+Pj4gwqDCoCB9Ow0KPiA+Pj4gLXN0YXRpYyBzdHJ1Y3QgaW14X3BsbDE0eHhf Y2xrIGlteDhtbV9hdWRpb19wbGwgX19pbml0ZGF0YSA9IHsNCj4gPj4+ICtzdGF0aWMgc3RydWN0 IGlteF9wbGwxNHh4X2NsayBpbXg4bW1fYXVkaW9fcGxsID0gew0KPiA+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgwqAgLnR5cGUgPSBQTExfMTQ0M1gsDQo+ID4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAu cmF0ZV90YWJsZSA9IGlteDhtbV9hdWRpb3BsbF90YmwsDQo+ID4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoCAucmF0ZV9jb3VudCA9IEFSUkFZX1NJWkUoaW14OG1tX2F1ZGlvcGxsX3RibCksDQo+ID4+ PiDCoMKgIH07DQo+ID4+PiAtc3RhdGljIHN0cnVjdCBpbXhfcGxsMTR4eF9jbGsgaW14OG1tX3Zp ZGVvX3BsbCBfX2luaXRkYXRhID0gew0KPiA+Pj4gK3N0YXRpYyBzdHJ1Y3QgaW14X3BsbDE0eHhf Y2xrIGlteDhtbV92aWRlb19wbGwgPSB7DQo+ID4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAudHlw ZSA9IFBMTF8xNDQzWCwNCj4gPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yYXRlX3RhYmxlID0g aW14OG1tX3ZpZGVvcGxsX3RibCwNCj4gPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yYXRlX2Nv dW50ID0gQVJSQVlfU0laRShpbXg4bW1fdmlkZW9wbGxfdGJsKSwNCj4gPj4+IMKgwqAgfTsNCj4g Pj4+IC1zdGF0aWMgc3RydWN0IGlteF9wbGwxNHh4X2NsayBpbXg4bW1fZHJhbV9wbGwgX19pbml0 ZGF0YSA9IHsNCj4gPj4+ICtzdGF0aWMgc3RydWN0IGlteF9wbGwxNHh4X2NsayBpbXg4bW1fZHJh bV9wbGwgPSB7DQo+ID4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAudHlwZSA9IFBMTF8xNDQzWCwN Cj4gPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yYXRlX3RhYmxlID0gaW14OG1tX2RyYW1wbGxf dGJsLA0KPiA+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJhdGVfY291bnQgPSBBUlJBWV9TSVpF KGlteDhtbV9kcmFtcGxsX3RibCksDQo+ID4+PiDCoMKgIH07DQo+ID4+PiAtc3RhdGljIHN0cnVj dCBpbXhfcGxsMTR4eF9jbGsgaW14OG1tX2FybV9wbGwgX19pbml0ZGF0YSA9IHsNCj4gPj4+ICtz dGF0aWMgc3RydWN0IGlteF9wbGwxNHh4X2NsayBpbXg4bW1fYXJtX3BsbCA9IHsNCj4gPj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgIC50eXBlID0gUExMXzE0MTZYLA0KPiA+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgwqAgLnJhdGVfdGFibGUgPSBpbXg4bW1fcGxsMTQxNnhfdGJsLA0KPiA+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqAgLnJhdGVfY291bnQgPSBBUlJBWV9TSVpFKGlteDhtbV9wbGwxNDE2eF90 YmwpLA0KPiA+Pj4gwqDCoCB9Ow0KPiA+Pj4gLXN0YXRpYyBzdHJ1Y3QgaW14X3BsbDE0eHhfY2xr IGlteDhtbV9ncHVfcGxsIF9faW5pdGRhdGEgPSB7DQo+ID4+PiArc3RhdGljIHN0cnVjdCBpbXhf cGxsMTR4eF9jbGsgaW14OG1tX2dwdV9wbGwgPSB7DQo+ID4+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oCAudHlwZSA9IFBMTF8xNDE2WCwNCj4gPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yYXRlX3Rh YmxlID0gaW14OG1tX3BsbDE0MTZ4X3RibCwNCj4gPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5y YXRlX2NvdW50ID0gQVJSQVlfU0laRShpbXg4bW1fcGxsMTQxNnhfdGJsKSwNCj4gPj4+IMKgwqAg fTsNCj4gPj4+IC1zdGF0aWMgc3RydWN0IGlteF9wbGwxNHh4X2NsayBpbXg4bW1fdnB1X3BsbCBf X2luaXRkYXRhID0gew0KPiA+Pj4gK3N0YXRpYyBzdHJ1Y3QgaW14X3BsbDE0eHhfY2xrIGlteDht bV92cHVfcGxsID0gew0KPiA+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnR5cGUgPSBQTExfMTQx NlgsDQo+ID4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmF0ZV90YWJsZSA9IGlteDhtbV9wbGwx NDE2eF90YmwsDQo+ID4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmF0ZV9jb3VudCA9IEFSUkFZ X1NJWkUoaW14OG1tX3BsbDE0MTZ4X3RibCksDQo+ID4+PiDCoMKgIH07DQo+ID4+PiAtc3RhdGlj IHN0cnVjdCBpbXhfcGxsMTR4eF9jbGsgaW14OG1tX3N5c19wbGwgX19pbml0ZGF0YSA9IHsNCj4g Pj4+ICtzdGF0aWMgc3RydWN0IGlteF9wbGwxNHh4X2NsayBpbXg4bW1fc3lzX3BsbCA9IHsNCj4g Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIC50eXBlID0gUExMXzE0MTZYLA0KPiA+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqAgLnJhdGVfdGFibGUgPSBpbXg4bW1fcGxsMTQxNnhfdGJsLA0KPiA+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJhdGVfY291bnQgPSBBUlJBWV9TSVpFKGlteDhtbV9wbGwx NDE2eF90YmwpLCBAQA0KPiAtMzc0LDcNCj4gPj4+ICszNzQsNyBAQCBzdGF0aWMgY29uc3QgY2hh ciAqaW14OG1tX2Nsa28xX3NlbHNbXSA9IHsib3NjXzI0bSIsDQo+ID4+PiAic3lzX3BsbDFfODAw bSIsICJvc2NfMjdtIiwNCj4gPj4+IMKgwqAgc3RhdGljIHN0cnVjdCBjbGsgKmNsa3NbSU1YOE1N X0NMS19FTkRdOw0KPiA+Pj4gwqDCoCBzdGF0aWMgc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgY2xr X2RhdGE7IC1zdGF0aWMgc3RydWN0IGNsayAqKg0KPiA+Pj4gY29uc3QgdWFydF9jbGtzW10gX19p bml0Y29uc3QgPSB7DQo+ID4+PiArc3RhdGljIHN0cnVjdCBjbGsgKiogY29uc3QgdWFydF9jbGtz W10gPSB7DQo+ID4+PiDCoMKgwqDCoMKgwqAgJmNsa3NbSU1YOE1NX0NMS19VQVJUMV9ST09UXSwN Cj4gPj4+IMKgwqDCoMKgwqDCoCAmY2xrc1tJTVg4TU1fQ0xLX1VBUlQyX1JPT1RdLA0KPiA+Pj4g wqDCoMKgwqDCoMKgICZjbGtzW0lNWDhNTV9DTEtfVUFSVDNfUk9PVF0sIEBAIC0zODIsMTkgKzM4 MiwyMA0KPiBAQCBzdGF0aWMNCj4gPj4+IHN0cnVjdCBjbGsgKiogY29uc3QgdWFydF9jbGtzW10g X19pbml0Y29uc3QgPSB7DQo+ID4+PiDCoMKgwqDCoMKgwqAgTlVMTA0KPiA+Pj4gwqDCoCB9Ow0K PiA+Pj4gLXN0YXRpYyBpbnQgX19pbml0IGlteDhtbV9jbG9ja3NfaW5pdChzdHJ1Y3QgZGV2aWNl X25vZGUgKmNjbV9ub2RlKQ0KPiA+Pj4gK3N0YXRpYyBpbnQgaW14OG1tX2Nsb2Nrc19wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+Pj4gwqDCoCB7DQo+ID4+PiAtwqDCoMKg IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnA7DQo+ID4+PiArwqDCoMKgIHN0cnVjdCBkZXZpY2UgKmRl diA9ICZwZGV2LT5kZXY7DQo+ID4+PiArwqDCoMKgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBk ZXYtPm9mX25vZGU7DQo+ID4+PiDCoMKgwqDCoMKgwqAgdm9pZCBfX2lvbWVtICpiYXNlOw0KPiA+ Pj4gwqDCoMKgwqDCoMKgIGludCByZXQ7DQo+ID4+PiDCoMKgwqDCoMKgwqAgY2xrc1tJTVg4TU1f Q0xLX0RVTU1ZXSA9IGlteF9jbGtfZml4ZWQoImR1bW15IiwgMCk7DQo+ID4+PiAtwqDCoMKgIGNs a3NbSU1YOE1NX0NMS18yNE1dID0gb2ZfY2xrX2dldF9ieV9uYW1lKGNjbV9ub2RlLA0KPiAib3Nj XzI0bSIpOw0KPiA+Pj4gLcKgwqDCoCBjbGtzW0lNWDhNTV9DTEtfMzJLXSA9IG9mX2Nsa19nZXRf YnlfbmFtZShjY21fbm9kZSwNCj4gIm9zY18zMmsiKTsNCj4gPj4+IC3CoMKgwqAgY2xrc1tJTVg4 TU1fQ0xLX0VYVDFdID0gb2ZfY2xrX2dldF9ieV9uYW1lKGNjbV9ub2RlLA0KPiA+Pj4gImNsa19l eHQxIik7DQo+ID4+PiAtwqDCoMKgIGNsa3NbSU1YOE1NX0NMS19FWFQyXSA9IG9mX2Nsa19nZXRf YnlfbmFtZShjY21fbm9kZSwNCj4gPj4+ICJjbGtfZXh0MiIpOw0KPiA+Pj4gLcKgwqDCoCBjbGtz W0lNWDhNTV9DTEtfRVhUM10gPSBvZl9jbGtfZ2V0X2J5X25hbWUoY2NtX25vZGUsDQo+ID4+PiAi Y2xrX2V4dDMiKTsNCj4gPj4+IC3CoMKgwqAgY2xrc1tJTVg4TU1fQ0xLX0VYVDRdID0gb2ZfY2xr X2dldF9ieV9uYW1lKGNjbV9ub2RlLA0KPiA+Pj4gImNsa19leHQ0Iik7DQo+ID4+PiArwqDCoMKg IGNsa3NbSU1YOE1NX0NMS18yNE1dID0gb2ZfY2xrX2dldF9ieV9uYW1lKG5wLCAib3NjXzI0bSIp Ow0KPiA+Pj4gK8KgwqDCoCBjbGtzW0lNWDhNTV9DTEtfMzJLXSA9IG9mX2Nsa19nZXRfYnlfbmFt ZShucCwgIm9zY18zMmsiKTsNCj4gPj4+ICvCoMKgwqAgY2xrc1tJTVg4TU1fQ0xLX0VYVDFdID0g b2ZfY2xrX2dldF9ieV9uYW1lKG5wLCAiY2xrX2V4dDEiKTsNCj4gPj4+ICvCoMKgwqAgY2xrc1tJ TVg4TU1fQ0xLX0VYVDJdID0gb2ZfY2xrX2dldF9ieV9uYW1lKG5wLCAiY2xrX2V4dDIiKTsNCj4g Pj4+ICvCoMKgwqAgY2xrc1tJTVg4TU1fQ0xLX0VYVDNdID0gb2ZfY2xrX2dldF9ieV9uYW1lKG5w LCAiY2xrX2V4dDMiKTsNCj4gPj4+ICvCoMKgwqAgY2xrc1tJTVg4TU1fQ0xLX0VYVDRdID0gb2Zf Y2xrX2dldF9ieV9uYW1lKG5wLCAiY2xrX2V4dDQiKTsNCj4gPj4+IMKgwqDCoMKgwqDCoCBucCA9 IG9mX2ZpbmRfY29tcGF0aWJsZV9ub2RlKE5VTEwsIE5VTEwsDQo+ID4+PiAiZnNsLGlteDhtbS1h bmF0b3AiKTsNCj4gPj4+IMKgwqDCoMKgwqDCoCBiYXNlID0gb2ZfaW9tYXAobnAsIDApOw0KPiA+ Pj4gQEAgLTQ4MCwxMCArNDgxLDEwIEBAIHN0YXRpYyBpbnQgX19pbml0IGlteDhtbV9jbG9ja3Nf aW5pdChzdHJ1Y3QNCj4gPj4+IGRldmljZV9ub2RlICpjY21fbm9kZSkNCj4gPj4+IMKgwqDCoMKg wqDCoCBjbGtzW0lNWDhNTV9TWVNfUExMMl81MDBNXSA9DQo+ID4+PiBpbXhfY2xrX2ZpeGVkX2Zh Y3Rvcigic3lzX3BsbDJfNTAwbSIsICJzeXNfcGxsMl9vdXQiLCAxLCAyKTsNCj4gPj4+IMKgwqDC oMKgwqDCoCBjbGtzW0lNWDhNTV9TWVNfUExMMl8xMDAwTV0gPQ0KPiA+Pj4gaW14X2Nsa19maXhl ZF9mYWN0b3IoInN5c19wbGwyXzEwMDBtIiwgInN5c19wbGwyX291dCIsIDEsIDEpOw0KPiA+Pj4g LcKgwqDCoCBucCA9IGNjbV9ub2RlOw0KPiA+Pj4gLcKgwqDCoCBiYXNlID0gb2ZfaW9tYXAobnAs IDApOw0KPiA+Pj4gLcKgwqDCoCBpZiAoV0FSTl9PTighYmFzZSkpDQo+ID4+PiAtwqDCoMKgwqDC oMKgwqAgcmV0dXJuIC1FTk9NRU07DQo+ID4+PiArwqDCoMKgIG5wID0gZGV2LT5vZl9ub2RlOw0K PiA+Pj4gK8KgwqDCoCBiYXNlID0gZGV2bV9wbGF0Zm9ybV9pb3JlbWFwX3Jlc291cmNlKHBkZXYs IDApOw0KPiA+Pj4gK8KgwqDCoCBpZiAoV0FSTl9PTihJU19FUlIoYmFzZSkpKQ0KPiA+Pj4gK8Kg wqDCoMKgwqDCoMKgIHJldHVybiBQVFJfRVJSKGJhc2UpOw0KPiA+Pj4gwqDCoMKgwqDCoMKgIC8q IENvcmUgU2xpY2UgKi8NCj4gPj4+IMKgwqDCoMKgwqDCoCBjbGtzW0lNWDhNTV9DTEtfQTUzX1NS Q10gPQ0KPiBpbXhfY2xrX211eDIoImFybV9hNTNfc3JjIiwgYmFzZSArDQo+ID4+PiAweDgwMDAs IDI0LCAzLCBpbXg4bW1fYTUzX3NlbHMsIEFSUkFZX1NJWkUoaW14OG1tX2E1M19zZWxzKSk7IEBA DQo+ID4+PiAtNjgyLDQgKzY4MywxOCBAQCBzdGF0aWMgaW50IF9faW5pdCBpbXg4bW1fY2xvY2tz X2luaXQoc3RydWN0DQo+ID4+PiBkZXZpY2Vfbm9kZSAqY2NtX25vZGUpDQo+ID4+PiDCoMKgwqDC oMKgwqAgcmV0dXJuIDA7DQo+ID4+PiDCoMKgIH0NCj4gPj4+IC1DTEtfT0ZfREVDTEFSRV9EUklW RVIoaW14OG1tLCAiZnNsLGlteDhtbS1jY20iLA0KPiA+Pj4gaW14OG1tX2Nsb2Nrc19pbml0KTsN Cj4gPj4+ICsNCj4gPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBpbXg4bW1f Y2xrX29mX21hdGNoW10gPSB7DQo+ID4+PiArwqDCoMKgIHsgLmNvbXBhdGlibGUgPSAiZnNsLGlt eDhtbS1jY20iIH0sDQo+ID4+PiArwqDCoMKgIHsgLyogU2VudGluZWwgKi8gfSwNCj4gPj4+ICt9 Ow0KPiA+Pj4gK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGlteDhtbV9jbGtfb2ZfbWF0Y2gpOw0K PiA+Pj4gKw0KPiA+Pj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGlteDhtbV9jbGtf ZHJpdmVyID0gew0KPiA+Pj4gK8KgwqDCoCAucHJvYmUgPSBpbXg4bW1fY2xvY2tzX3Byb2JlLA0K PiA+Pj4gK8KgwqDCoCAuZHJpdmVyID0gew0KPiA+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0g ImlteDhtbS1jY20iLA0KPiA+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vZl9tYXRjaF90YWJsZSA9IG9m X21hdGNoX3B0cihpbXg4bW1fY2xrX29mX21hdGNoKSwNCj4gPj4+ICvCoMKgwqAgfSwNCj4gPj4+ ICt9Ow0KPiA+Pj4gK21vZHVsZV9wbGF0Zm9ybV9kcml2ZXIoaW14OG1tX2Nsa19kcml2ZXIpOw0K PiA+Pj4NCj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gPj4gbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QNCj4gPj4gbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnDQo+ID4+IGh0dHBzOi8vZXVyMDEuc2FmZWxpbmtzLnBy b3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwJTNBJTJGJTJGbGlzdA0KPiA+Pg0KPiBzLmlu ZnJhZGVhZC5vcmclMkZtYWlsbWFuJTJGbGlzdGluZm8lMkZsaW51eC1hcm0ta2VybmVsJmFtcDtk YXRhPTAyJTcNCj4gPj4NCj4gQzAxJTdDcGVuZy5mYW4lNDBueHAuY29tJTdDMjMxNzc2NTM1NzE0 NGM0YjhhN2UwOGQ3YzlhZDJlN2UlNw0KPiBDNjg2ZWExZA0KPiA+Pg0KPiAzYmMyYjRjNmZhOTJj ZDk5YzVjMzAxNjM1JTdDMCU3QzAlN0M2MzcxOTk2MTc5Njc2ODU5ODMmYW1wO3NkDQo+IGF0YT1Q bVJpDQo+ID4+DQo+IEdzSktjbU41OU1wV1dRV29BJTJCV281clg3WExvYWlDaFY1JTJGT0d2Vkkl M0QmYW1wO3Jlc2Vydg0KPiBlZD0wDQo+ID4+DQo=