From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Turquette Subject: Re: [PATCH v4 1/4] clk: add support for Rockchip gate clocks Date: Thu, 20 Jun 2013 16:29:03 -0700 Message-ID: <20130620232903.9136.70323@quantum> References: <201306131658.36584.heiko@sntech.de> <201306131659.40802.heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <201306131659.40802.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: =?utf-8?q?Heiko_St=C3=BCbner?= , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" Cc: Grant Likely , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Rob Herring List-Id: devicetree@vger.kernel.org UXVvdGluZyBIZWlrbyBTdMO8Ym5lciAoMjAxMy0wNi0xMyAwNzo1OTo0MCkKPiBUaGlzIGFkZHMg YmFzaWMgc3VwcG9ydCBmb3IgZ2F0ZS1jbG9ja3Mgb24gUm9ja2NoaXAgU29Dcy4KPiBUaGVyZSBh cmUgMTYgZ2F0ZXMgaW4gZWFjaCByZWdpc3RlciBhbmQgdXNlIHRoZSBISVdPUkRfTUFTSwo+IG1l Y2hhbmlzbSBmb3IgY2hhbmdpbmcgZ2F0ZSBzZXR0aW5ncy4KPiAKPiBUaGUgZ2F0ZSByZWdpc3Rl cnMgZm9ybSBhIGNvbnRpbnVvcyBibG9jayB3aGljaCBtYWtlcyB0aGUgZHQgbm9kZQo+IHN0cnVj dHVyZSBhIG1hdHRlciBvZiB0YXN0ZSwgYXMgZWl0aGVyIGFsbCAxNjAgZ2F0ZXMgY2FuIGJlIHB1 dCBpbnRvCj4gb25lIGdhdGUgY2xvY2sgc3Bhbm5pbmcgYWxsIHJlZ2lzdGVycyBvciB0aGV5IGNh biBiZSBkaXZpZGVkIGludG8KPiB0aGUgMTAgaW5kaXZpZHVhbCBnYXRlcyBjb250YWluaW5nIDE2 IGNsb2NrcyBlYWNoLgo+IFRoZSBjb2RlIHN1cHBvcnRzIGJvdGggYXBwcm9hY2hlcy4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBIZWlrbyBTdHVlYm5lciA8aGVpa29Ac250ZWNoLmRlPgoKSSd2ZSB0YWtl biB0aGlzIHBhdGNoIGludG8gY2xrLW5leHQgZm9yIDMuMTEuIFBlcmhhcHMgaW4gdGhlIGZ1dHVy ZSB0aGUKZ2F0ZS1jbG9jayBiaW5kaW5nIGNhbiBiZSBlbmhhbmNlZCB0byBhbGxvdyBmb3IgdGhp cyBraW5kIG9mIGNsb2NrCmdsb2JiaW5nIGFuZCB0aGlzIGRyaXZlciBjYW4gZGlzYXBwZWFyIGVu dGlyZWx5LgoKUmVnYXJkcywKTWlrZQoKPiAtLS0KPiAgLi4uL2RldmljZXRyZWUvYmluZGluZ3Mv Y2xvY2svcm9ja2NoaXAudHh0ICAgICAgICAgfCAgIDc0ICsrKysrKysrKysrKysrKwo+ICBkcml2 ZXJzL2Nsay9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwo+ ICBkcml2ZXJzL2Nsay9yb2NrY2hpcC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICB8ICAg IDUgKysKPiAgZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xrLXJvY2tjaGlwLmMgICAgICAgICAgICAg ICAgfCAgIDk0ICsrKysrKysrKysrKysrKysrKysrCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTc0IGlu c2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9jbG9jay9yb2NrY2hpcC50eHQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvY2xrL3JvY2tjaGlwL01ha2VmaWxlCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Ns ay9yb2NrY2hpcC9jbGstcm9ja2NoaXAuYwo+IAo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9u L2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svcm9ja2NoaXAudHh0IGIvRG9jdW1lbnRhdGlvbi9k ZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL3JvY2tjaGlwLnR4dAo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4gaW5kZXggMDAwMDAwMC4uYTg5MWM4Mgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svcm9ja2NoaXAudHh0Cj4gQEAgLTAs MCArMSw3NCBAQAo+ICtEZXZpY2UgVHJlZSBDbG9jayBiaW5kaW5ncyBmb3IgYXJjaC1yb2NrY2hp cAo+ICsKPiArVGhpcyBiaW5kaW5nIHVzZXMgdGhlIGNvbW1vbiBjbG9jayBiaW5kaW5nWzFdLgo+ ICsKPiArWzFdIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9jbG9jay1i aW5kaW5ncy50eHQKPiArCj4gKz09IEdhdGUgY2xvY2tzID09Cj4gKwo+ICtUaGUgZ2F0ZSByZWdp c3RlcnMgZm9ybSBhIGNvbnRpbnVvcyBibG9jayB3aGljaCBtYWtlcyB0aGUgZHQgbm9kZQo+ICtz dHJ1Y3R1cmUgYSBtYXR0ZXIgb2YgdGFzdGUsIGFzIGVpdGhlciBhbGwgZ2F0ZXMgY2FuIGJlIHB1 dCBpbnRvCj4gK29uZSBnYXRlIGNsb2NrIHNwYW5uaW5nIGFsbCByZWdpc3RlcnMgb3IgdGhleSBj YW4gYmUgZGl2aWRlZCBpbnRvCj4gK3RoZSAxMCBpbmRpdmlkdWFsIGdhdGVzIGNvbnRhaW5pbmcg MTYgY2xvY2tzIGVhY2guCj4gK1RoZSBjb2RlIHN1cHBvcnRzIGJvdGggYXBwcm9hY2hlcy4KPiAr Cj4gK1JlcXVpcmVkIHByb3BlcnRpZXM6Cj4gKy0gY29tcGF0aWJsZSA6ICJyb2NrY2hpcCxyazI5 MjgtZ2F0ZS1jbGsiCj4gKy0gcmVnIDogc2hhbGwgYmUgdGhlIGNvbnRyb2wgcmVnaXN0ZXIgYWRk cmVzcyhlcykgZm9yIHRoZSBjbG9jay4KPiArLSAjY2xvY2stY2VsbHMgOiBmcm9tIGNvbW1vbiBj bG9jayBiaW5kaW5nOyBzaGFsbCBiZSBzZXQgdG8gMQo+ICstIGNsb2NrLW91dHB1dC1uYW1lcyA6 IHRoZSBjb3JyZXNwb25kaW5nIGdhdGUgbmFtZXMgdGhhdCB0aGUgY2xvY2sgY29udHJvbHMKPiAr LSBjbG9ja3MgOiBzaG91bGQgY29udGFpbiB0aGUgcGFyZW50IGNsb2NrIGZvciBlYWNoIGluZGl2 aWR1YWwgZ2F0ZSwKPiArICB0aGVyZWZvcmUgdGhlIG51bWJlciBvZiBjbG9ja3MgZWxlbWVudHMg c2hvdWxkIG1hdGNoIHRoZSBudW1iZXIgb2YKPiArICBjbG9jay1vdXRwdXQtbmFtZXMKPiArCj4g K0V4YW1wbGUgdXNpbmcgbXVsdGlwbGUgZ2F0ZSBjbG9ja3M6Cj4gKwo+ICsgICAgICAgICAgICAg ICBjbGtfZ2F0ZXMwOiBnYXRlLWNsa0AyMDAwMDBkMCB7Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxyazI5MjgtZ2F0ZS1jbGsiOwo+ICsgICAgICAgICAg ICAgICAgICAgICAgIHJlZyA9IDwweDIwMDAwMGQwIDB4ND47Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgY2xvY2tzID0gPCZkdW1teT4sIDwmZHVtbXk+LAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PiwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPCZkdW1teT4sIDwmZHVtbXk+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPCZkdW1teT4sIDwmZHVtbXk+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwmZHVtbXk+LCA8JmR1bW15PjsKPiArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgY2xvY2st b3V0cHV0LW5hbWVzID0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2Nv cmVfcGVyaXBoIiwgImdhdGVfY3B1X2dwbGwiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImdhdGVfZGRycGh5IiwgImdhdGVfYWNsa19jcHUiLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImdhdGVfaGNsa19jcHUiLCAiZ2F0ZV9wY2xrX2NwdSIsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9hdGNsa19jcHUiLCAiZ2F0ZV9pMnMwIiwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2kyczBfZnJhYyIsICJnYXRl X2kyczEiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfaTJzMV9mcmFj IiwgImdhdGVfaTJzMiIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9p MnMyX2ZyYWMiLCAiZ2F0ZV9zcGRpZiIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZ2F0ZV9zcGRpZl9mcmFjIiwgImdhdGVfdGVzdGNsayI7Cj4gKwo+ICsgICAgICAgICAgICAg ICAgICAgICAgICNjbG9jay1jZWxscyA9IDwxPjsKPiArICAgICAgICAgICAgICAgfTsKPiArCj4g KyAgICAgICAgICAgICAgIGNsa19nYXRlczE6IGdhdGUtY2xrQDIwMDAwMGQ0IHsKPiArICAgICAg ICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMjkyOC1nYXRlLWNsayI7 Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MjAwMDAwZDQgMHg0PjsKPiArICAg ICAgICAgICAgICAgICAgICAgICBjbG9ja3MgPSA8JnhpbjI0bT4sIDwmeGluMjRtPiwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JnhpbjI0bT4sIDwmZHVtbXk+LAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JnhpbjI0bT4sCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZ4aW4yNG0+LCA8JmR1bW15PiwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8JnhpbjI0bT4sIDwmZHVtbXk+LAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwmeGluMjRtPiwgPCZkdW1teT4sCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPCZ4aW4yNG0+LCA8JmR1bW15PiwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8JnhpbjI0bT4sIDwmZHVtbXk+Owo+ICsKPiArICAgICAg ICAgICAgICAgICAgICAgICBjbG9jay1vdXRwdXQtbmFtZXMgPQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImdhdGVfdGltZXIwIiwgImdhdGVfdGltZXIxIiwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJnYXRlX3RpbWVyMiIsICJnYXRlX2p0YWciLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfYWNsa19sY2RjMV9zcmMiLCAiZ2F0ZV9v dGdwaHkwIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX290Z3BoeTEi LCAiZ2F0ZV9kZHJfZ3BsbCIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0 ZV91YXJ0MCIsICJnYXRlX2ZyYWNfdWFydDAiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImdhdGVfdWFydDEiLCAiZ2F0ZV9mcmFjX3VhcnQxIiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJnYXRlX3VhcnQyIiwgImdhdGVfZnJhY191YXJ0MiIsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV91YXJ0MyIsICJnYXRlX2ZyYWNfdWFydDMi Owo+ICsKPiArICAgICAgICAgICAgICAgICAgICAgICAjY2xvY2stY2VsbHMgPSA8MT47Cj4gKyAg ICAgICAgICAgICAgIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL01ha2VmaWxlIGIvZHJp dmVycy9jbGsvTWFrZWZpbGUKPiBpbmRleCBmNTFiNTJiLi4yZTJlOTU3IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvY2xrL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9jbGsvTWFrZWZpbGUKPiBAQCAt MjUsNiArMjUsNyBAQCBpZmVxICgkKENPTkZJR19DT01NT05fQ0xLKSwgeSkKPiAgb2JqLSQoQ09O RklHX0FSQ0hfTU1QKSAgICAgICAgICs9IG1tcC8KPiAgZW5kaWYKPiAgb2JqLSQoQ09ORklHX01B Q0hfTE9PTkdTT04xKSAgICs9IGNsay1sczF4Lm8KPiArb2JqLSQoQ09ORklHX0FSQ0hfUk9DS0NI SVApICAgICs9IHJvY2tjaGlwLwo+ICBvYmotJChDT05GSUdfQVJDSF9TVU5YSSkgICAgICAgKz0g c3VueGkvCj4gIG9iai0kKENPTkZJR19BUkNIX1U4NTAwKSAgICAgICArPSB1eDUwMC8KPiAgb2Jq LSQoQ09ORklHX0FSQ0hfVlQ4NTAwKSAgICAgICs9IGNsay12dDg1MDAubwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2Nsay9yb2NrY2hpcC9NYWtlZmlsZSBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL01h a2VmaWxlCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi44ZDNhZWZhCj4g LS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL01ha2VmaWxlCj4gQEAg LTAsMCArMSw1IEBACj4gKyMKPiArIyBSb2NrY2hpcCBDbG9jayBzcGVjaWZpYyBNYWtlZmlsZQo+ ICsjCj4gKwo+ICtvYmoteSAgKz0gY2xrLXJvY2tjaGlwLm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jbGsvcm9ja2NoaXAvY2xrLXJvY2tjaGlwLmMgYi9kcml2ZXJzL2Nsay9yb2NrY2hpcC9jbGst cm9ja2NoaXAuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZmY5OTBj NAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2Nsay9yb2NrY2hpcC9jbGstcm9ja2No aXAuYwo+IEBAIC0wLDAgKzEsOTQgQEAKPiArLyoKPiArICogQ29weXJpZ2h0IChjKSAyMDEzIE11 bmRvUmVhZGVyIFMuTC4KPiArICogQXV0aG9yOiBIZWlrbyBTdHVlYm5lciA8aGVpa29Ac250ZWNo LmRlPgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQo+ICsgKiB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl LCBvcgo+ICsgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ICsgKgo+ICsg KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxsaW51eC9j bGstcHJvdmlkZXIuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2Nsa2Rldi5oPgo+ICsjaW5jbHVkZSA8 bGludXgvb2YuaD4KPiArI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4KPiArCj4gK3N0YXRp YyBERUZJTkVfU1BJTkxPQ0soY2xrX2xvY2spOwo+ICsKPiArLyoKPiArICogR2F0ZSBjbG9ja3MK PiArICovCj4gKwo+ICtzdGF0aWMgdm9pZCBfX2luaXQgcmsyOTI4X2dhdGVfY2xrX2luaXQoc3Ry dWN0IGRldmljZV9ub2RlICpub2RlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdm9pZCAqZGF0YSkKPiArewo+ICsgICAgICAgc3RydWN0IGNsa19vbmVjZWxsX2Rh dGEgKmNsa19kYXRhOwo+ICsgICAgICAgY29uc3QgY2hhciAqY2xrX3BhcmVudDsKPiArICAgICAg IGNvbnN0IGNoYXIgKmNsa19uYW1lOwo+ICsgICAgICAgdm9pZCBfX2lvbWVtICpyZWc7Cj4gKyAg ICAgICB2b2lkIF9faW9tZW0gKnJlZ19pZHg7Cj4gKyAgICAgICBpbnQgZmxhZ3M7Cj4gKyAgICAg ICBpbnQgcXR5Owo+ICsgICAgICAgaW50IHJlZ19iaXQ7Cj4gKyAgICAgICBpbnQgY2xrZmxhZ3Mg PSBDTEtfU0VUX1JBVEVfUEFSRU5UOwo+ICsgICAgICAgaW50IGk7Cj4gKwo+ICsgICAgICAgcXR5 ID0gb2ZfcHJvcGVydHlfY291bnRfc3RyaW5ncyhub2RlLCAiY2xvY2stb3V0cHV0LW5hbWVzIik7 Cj4gKyAgICAgICBpZiAocXR5IDwgMCkgewo+ICsgICAgICAgICAgICAgICBwcl9lcnIoIiVzOiBl cnJvciBpbiBjbG9jay1vdXRwdXQtbmFtZXMgJWRcbiIsIF9fZnVuY19fLCBxdHkpOwo+ICsgICAg ICAgICAgICAgICByZXR1cm47Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgaWYgKHF0eSA9PSAw KSB7Cj4gKyAgICAgICAgICAgICAgIHByX2luZm8oIiVzOiBub3RoaW5nIHRvIGRvXG4iLCBfX2Z1 bmNfXyk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybjsKPiArICAgICAgIH0KPiArCj4gKyAgICAg ICByZWcgPSBvZl9pb21hcChub2RlLCAwKTsKPiArCj4gKyAgICAgICBjbGtfZGF0YSA9IGt6YWxs b2Moc2l6ZW9mKHN0cnVjdCBjbGtfb25lY2VsbF9kYXRhKSwgR0ZQX0tFUk5FTCk7Cj4gKyAgICAg ICBpZiAoIWNsa19kYXRhKQo+ICsgICAgICAgICAgICAgICByZXR1cm47Cj4gKwo+ICsgICAgICAg Y2xrX2RhdGEtPmNsa3MgPSBremFsbG9jKHF0eSAqIHNpemVvZihzdHJ1Y3QgY2xrICopLCBHRlBf S0VSTkVMKTsKPiArICAgICAgIGlmICghY2xrX2RhdGEtPmNsa3MpIHsKPiArICAgICAgICAgICAg ICAga2ZyZWUoY2xrX2RhdGEpOwo+ICsgICAgICAgICAgICAgICByZXR1cm47Cj4gKyAgICAgICB9 Cj4gKwo+ICsgICAgICAgZmxhZ3MgPSBDTEtfR0FURV9ISVdPUkRfTUFTSyB8IENMS19HQVRFX1NF VF9UT19ESVNBQkxFOwo+ICsKPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBxdHk7IGkrKykgewo+ ICsgICAgICAgICAgICAgICBvZl9wcm9wZXJ0eV9yZWFkX3N0cmluZ19pbmRleChub2RlLCAiY2xv Y2stb3V0cHV0LW5hbWVzIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaSwgJmNsa19uYW1lKTsKPiArCj4gKyAgICAgICAgICAgICAgIC8qIGlnbm9yZSBl bXB0eSBzbG90cyAqLwo+ICsgICAgICAgICAgICAgICBpZiAoIXN0cmNtcCgicmVzZXJ2ZWQiLCBj bGtfbmFtZSkpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4gKwo+ICsgICAg ICAgICAgICAgICBjbGtfcGFyZW50ID0gb2ZfY2xrX2dldF9wYXJlbnRfbmFtZShub2RlLCBpKTsK PiArCj4gKyAgICAgICAgICAgICAgIC8qIGtlZXAgYWxsIGdhdGVzIHVudG91Y2hlZCBmb3Igbm93 ICovCj4gKyAgICAgICAgICAgICAgIGNsa2ZsYWdzIHw9IENMS19JR05PUkVfVU5VU0VEOwo+ICsK PiArICAgICAgICAgICAgICAgcmVnX2lkeCA9IHJlZyArICg0ICogKGkgLyAxNikpOwo+ICsgICAg ICAgICAgICAgICByZWdfYml0ID0gKGkgJSAxNik7Cj4gKwo+ICsgICAgICAgICAgICAgICBjbGtf ZGF0YS0+Y2xrc1tpXSA9IGNsa19yZWdpc3Rlcl9nYXRlKE5VTEwsIGNsa19uYW1lLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsa19wYXJl bnQsIGNsa2ZsYWdzLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlZ19pZHgsIHJlZ19iaXQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNsa19sb2NrKTsKPiArICAgICAg ICAgICAgICAgV0FSTl9PTihJU19FUlIoY2xrX2RhdGEtPmNsa3NbaV0pKTsKPiArICAgICAgIH0K PiArCj4gKyAgICAgICBjbGtfZGF0YS0+Y2xrX251bSA9IHF0eTsKPiArCj4gKyAgICAgICBvZl9j bGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsK PiArfQo+ICtDTEtfT0ZfREVDTEFSRShyazI5MjhfZ2F0ZSwgInJvY2tjaGlwLHJrMjkyOC1nYXRl LWNsayIsIHJrMjkyOF9nYXRlX2Nsa19pbml0KTsKPiAtLSAKPiAxLjcuMTAuNApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkZXZpY2V0cmVlLWRpc2N1c3Mg bWFpbGluZyBsaXN0CmRldmljZXRyZWUtZGlzY3Vzc0BsaXN0cy5vemxhYnMub3JnCmh0dHBzOi8v bGlzdHMub3psYWJzLm9yZy9saXN0aW5mby9kZXZpY2V0cmVlLWRpc2N1c3MK