From mboxrd@z Thu Jan 1 00:00:00 1970 From: JinGoo Han Date: Thu, 23 Jun 2011 01:09:39 +0000 Subject: Re: Re: [PATCH V5 5/5] ARM: EXYNOS4: Add platform data for EXYNOS4 Message-Id: <4275348.139611308791378008.JavaMail.weblogic@epml08> List-Id: References: <1308724904-31521-1-git-send-email-jg1.han@samsung.com> In-Reply-To: <1308724904-31521-1-git-send-email-jg1.han@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1254" Content-Transfer-Encoding: base64 To: ANAND KUMAR N , Marek Szyprowski Cc: JinGoo Han , Kukjin Kim , Paul Mundt , "linux-samsung-soc@vger.kernel.org" , "linux-fbdev@vger.kernel.org" , Jong-Hun Han , THOMAS P ABRAHAM , Sylwester Nawrocki , Kyungmin Park , In-Ki Dae , ARM Linux , Ben Dooks SGksIEFuYW5kLgo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogbGludXgtc2Ft c3VuZy1zb2Mtb3duZXJAdmdlci5rZXJuZWwub3JnIFttYWlsdG86bGludXgtc2Ftc3VuZy1zb2Mt Cj4gb3duZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYgT2YgQW5hbmQgS3VtYXIgTgo+IFNl bnQ6IFdlZG5lc2RheSwgSnVuZSAyMiwgMjAxMSAxMDoyNSBQTQo+IFRvOiBNYXJlayBTenlwcm93 c2tpCj4gQ2M6IEppbmdvbyBIYW47IEt1a2ppbiBLaW07IFBhdWwgTXVuZHQ7IGxpbnV4LXNhbXN1 bmctc29jQHZnZXIua2VybmVsLm9yZzsKPiBsaW51eC1mYmRldkB2Z2VyLmtlcm5lbC5vcmc7IEpv bmdodW4gSGFuOyBUaG9tYXMgQWJyYWhhbTsgU3lsd2VzdGVyCj4gTmF3cm9ja2k7IEt5dW5nbWlu IFBhcms7IElua2kgRGFlOyBBUk0gTGludXg7IEJlbiBEb29rcwo+IFN1YmplY3Q6IFJlOiBbUEFU Q0ggVjUgNS81XSBBUk06IEVYWU5PUzQ6IEFkZCBwbGF0Zm9ybSBkYXRhIGZvciBFWFlOT1M0Cj4g RklNRCBhbmQgTFRFNDgwV1YgcGxhdGZvcm0tbGNkCj4gCj4gSGkgTWFyZWsvSmluZ29vLAo+IAo+ IE9uIFdlZCwgSnVuIDIyLCAyMDExIGF0IDM6MTcgUE0sIE1hcmVrIFN6eXByb3dza2kKPiA8bS5z enlwcm93c2tpQHNhbXN1bmcuY29tPiB3cm90ZToKPiA+IEhlbGxvLAo+ID4KPiA+IE9uIFdlZG5l c2RheSwgSnVuZSAyMiwgMjAxMSA4OjQyIEFNIEppbmdvbyBIYW4gd3JvdGU6Cj4gPgo+ID4+IEZy b206IEpvbmdodW4gSGFuIDxqb25naHVuLmhhbkBzYW1zdW5nLmNvbT4KPiAoc25pcHBlZCkKPiBJ bnN0ZWFkIG9mIGhhcmRjb2RpbmcgdGhlIHBhcmVudCBjbG9jayBpbiBwbGF0Zm9ybS9ib290bG9h ZGVyIGNvZGUgLGlzCj4gaXQgbm90IHBvc3NpYmxlIHRvIHNlbGVjdC9zZXQgdGhlCj4gcGFyZW50 IGNsb2NrIGJhc2VkIG9uIHRoZSBwaXhlbCBjbGsocGxhdCBkYXRhKSBoYXZpbmcgdGhlIGxlYXN0 IGRlbHRhCj4gd2l0aCB0aGUgOSBzcmMgY2xrcy53aXRoIHRoaXMgY2hhbmdlIEkgaGF2ZSBjaGVj a2VkIGl0IGZvciBXQTEwMVMuCj4gVGhlc2UgYXJlIHRoZSBjaGFuZ2VzIEkgYW0gcHJvcG9zaW5n Li4KPiAKPiBhcmNoL2FybS9tYWNoLWV4eW5vczQvY2xvY2suYwo+ICtzdHJ1Y3QgY2xrICpjbGtz ZXRfc2Nsa19maW1kMF9saXN0W10gPSB7Cj4gKyAgICAgICAgWzBdID0gJmNsa19zY2xrX3h4dGks Cj4gKyAgICAgICAgWzFdID0gJmNsa19zY2xrX3h1c2J4dGksCj4gKyAgICAgICAgWzJdID0gJmNs a19zY2xrX2hkbWkyN20sCj4gKyAgICAgICAgWzNdID0gJmNsa19zY2xrX3VzYnBoeTAsCj4gKyAg ICAgICAgWzRdID0gJmNsa19zY2xrX3VzYnBoeTEsCj4gKyAgICAgICAgWzVdID0gJmNsa19zY2xr X2hkbWlwaHksCj4gKyAgICAgICAgWzZdID0gJmNsa19tb3V0X21wbGwuY2xrLAo+ICsgICAgICAg IFs3XSA9ICZjbGtfbW91dF9lcGxsLmNsaywKPiArICAgICAgICBbOF0gPSAmY2xrX3NjbGtfdnBs bC5jbGssCj4gK307CgpBcyBTeWx3ZXN0ZXIgTmF3cm9ja2kgbWVudGlvbmVkLCB0aGVyZSB3b3Vs ZCBiZSBjcml0ZXJpYSB0aGF0IHNob3VsZCBiZSBjb25zaWRlcmVkCnN1Y2ggYXMgY29udGludW91 cyBjbG9jayBhdmFpbGFiaWxpdHkgb3IgZnJlcXVlbmN5IHN0YWJpbGl0eS4gCkZvciBpbnN0YW5j ZSwgd2hlbiBFUExMICdbN10gPSAmY2xrX21vdXRfZXBsbC5jbGssJyBpcyBzZWxlY3RlZCwgdGhl cmUgaXMgcG9zaWJpbGl0eQp0aGF0IEVQTEwgZnJlcXVlbmN5IHdpbGwgYmUgY2hhbmdlZCBieSBv dGhlciBkZXZpY2VzLgpIb3dldmVyLCBFeHlub3M0IEZJTUQgY2FuIHVzZSBhIHJhbmdlIG9mIGNs b2NrcyBhcyBzb3VyY2UgY2xvY2ssICdtb3V0X21wbGwnIGlzCm1vc3QgdXNlZnVsICBhbmQgY2Fu IGNvdmVyIGFsbW9zdCBMQ0QgcGl4ZWwgY2xvY2ssIGJlY2F1c2UgJ21vdXRfbXBsbCcgaXMgODAw IE1IegphbmQgbWF4IGZyZXF1ZW5jeSBvZiAnc2Nsa19maW1kJyBjYW4gYmUgc2V0IGFzIDgwME1I ei4KCkhvd2V2ZXIsIG90aGVyIGNsb2NrcyBhcmUgdmVyeSBsb3cuIEZvciBleGFtcGxlLCBIRE1J IFBIWSwgVlBMTCBhcmUgNTRNSHosIApVU0IgUEhZIGlzIDQ4TUh6LiAKCj4gYXJjaC9hcm0vbWFj aC1leHlub3M0L21hY2gtc21ka3YzMTAuYwo+ICtzdGF0aWMgaW50IGZpbWRfczNjX2NvbnNpZGVy X2Nsb2NrKHN0cnVjdCBkZXZpY2UgKnNmYixpbnQgc3JjCj4gLHVuc2lnbmVkIGludCB3YW50ZWQp Cj4gK3sKPiArICAgICAgICB1bnNpZ25lZCBsb25nIHJhdGUgPSAwOwo+ICsgICAgICAgIGludCBk aXYgPTE7Cj4gKyAgICAgICAgc3RydWN0IGNsayAqbW91dF9tcGxsID0gTlVMTDsKPiArCj4gKyAg ICAgICAgaWYoY2xrc2V0X3NjbGtfZmltZDBfbGlzdFtzcmNdKXsKPiArICAgICAgICBtb3V0X21w bGwgPSBjbGtfZ2V0KHNmYixjbGtzZXRfc2Nsa19maW1kMF9saXN0W3NyY10tPm5hbWUpOwo+ICsg ICAgICAgIGlmIChJU19FUlIobW91dF9tcGxsKSkgewo+ICsgICAgICAgICAgICAgICBkZXZfZXJy KHNmYiwgImZhaWxlZCB0byBjbGtfZ2V0Cj4gJXNcbiIsY2xrc2V0X3NjbGtfZmltZDBfbGlzdFtz cmNdLT5uYW1lKTsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIHJhdGUgPSBjbGtfZ2V0X3Jh dGUobW91dF9tcGxsKTsKPiArCj4gKyAgICAgICAgZm9yIChkaXYgPSAxOyBkaXYgPCAyNTY7IGRp diAqPSAyKSB7Cj4gKyAgICAgICAgICAgICAgICBpZiAoKHJhdGUgLyBkaXYpIDw9IHdhbnRlZCkK PiArICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgfQo+ICsKPiArCj4g KyAgICAgICB9Cj4gKyAgICAgICAgcmV0dXJuICh3YW50ZWQgLSAocmF0ZSAvIGRpdikpOwo+ICt9 Cj4gKwo+ICtpbnQgZXh5bm9zNF9maW1kMF9maW5kX2Nsb2NrKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYsc3RydWN0IGNsawo+ICoqbGNkX2Nsayx1bnNpZ25lZCBpbnQgY2xvY2socGl4ZWwg Y2xvY2sgbmVlZGVkIGZvciB0aGUgbGNkKSkKPiArewo+ICsgICAgICAgIGludCBiZXN0ID0gMDsK PiArICAgICAgICBpbnQgZGVsdGEgPSAwOwo+ICsgICAgICAgIGludCBiZXN0X3NyYyA9IDA7Cj4g KyAgICAgICAgaW50IHNyYzsKPiArICAgICAgICBzdHJ1Y3QgY2xrICpiZXN0X2Nsa19zcmMgPSBO VUxMOwo+ICsgICAgICAgc3RydWN0IGNsayAqY2xrICA9IE5VTEw7Cj4gKwo+ICsgICAgICAgaWYg KGNsb2NrID0gMCkKPiArICAgICAgICAgICAgICAgIHJldHVybiAwOwo+ICsKPiArICAgICAgICBm b3IgKHNyYyA9IDA7IHNyYyA8IE1BWF9OVU1fQ0xLUyA7c3JjKyspIHsKPiArICAgICAgICAgICAg ICAgIGRlbHRhID0gZmltZF9zM2NfY29uc2lkZXJfY2xvY2soJnBkZXYtPmRldixzcmMsY2xvY2sp Owo+ICsgICAgICAgICAgICAgICAgaWYgKGRlbHRhIDwgYmVzdCkgewo+ICsgICAgICAgICAgICAg ICAgICAgICAgICBiZXN0ID0gZGVsdGE7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGJlc3Rf c3JjID0gc3JjOwo+ICsgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgICAgIGNs ayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInNjbGtfZmltZCIpOwo+ICsgICAgICAgIGlmIChJU19F UlIoY2xrKSkgewo+ICsgICAgICAgICAgICAgICBkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQg dG8gZ2V0IHNjbGsgZm9yIGZpbWRcbiIpOwo+ICsgICAgICAgICAgICAgICBnb3RvIGVycl9jbGsy Owo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIGJlc3RfY2xrX3NyYyA+IGNsa19nZXQoJnBkZXYt PmRldixjbGtzZXRfc2Nsa19maW1kMF9saXN0W2Jlc3Rfc3JjXS0+bmFtZSk7Cj4gKyAgICAgICBp ZiAoSVNfRVJSKGJlc3RfY2xrX3NyYykpIHsKPiArICAgICAgICAgICAgICAgZGV2X2VycigmcGRl di0+ZGV2LCAiZmFpbGVkIHRvIGdldCBiZXN0X3NyY1xuIik7Cj4gKyAgICAgICAgICAgICAgIGdv dG8gZXJyX2NsazE7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBjbGtfc2V0X3BhcmVudChjbGssYmVz dF9jbGtfc3JjKTsKPiArICAgICAgICpsY2RfY2xrID0gY2xrOwo+ICsgICAgICAgIGNsa19wdXQo YmVzdF9jbGtfc3JjKTsKPiArICAgICAgICBjbGtfZW5hYmxlKGNsayk7Cj4gKyAgICAgICAgZGV2 X2RiZygmcGRldi0+ZGV2LCAic2V0IGZpbWQgc2NsayByYXRlIHRvICVkXG4iLCBjbG9jayk7Cj4g Kwo+ICtlcnJfY2xrMToKPiArICAgICAgIGNsa19wdXQoYmVzdF9jbGtfc3JjKTsKPiArZXJyX2Ns azI6Cj4gKyAgICAgICBjbGtfcHV0KGNsayk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIC1FSU5WQUw7 Cj4gK30KPiBJIGhhdmUgYmFzZWQgdGhlc2UgcGF0Y2hlcyBvbiB0aGUgdjEgdmVyc2lvbiBvZiB0 aGlzIHBhdGNoLkkgY2FuIGJhc2UKPiB0aGVzZSBjaGFuZ2VzCj4gb24geW91ciBsYXRlc3QgY2hh bmdlcyh2NikgYW5kIHNlbmQgYXMgYSBwYXRjaC4KPiAKPiA+PiArc3RhdGljIGludCBfX2luaXQg c21ka2MyMTBfZmltZDBfc2V0dXBfY2xvY2sodm9pZCkKPiA+PiArewo+ID4+ICsgICAgIHN0cnVj dCBjbGsgKnNjbGsgPSBOVUxMOwo+ID4+ICsgICAgIHN0cnVjdCBjbGsgKm1vdXRfbXBsbCA9IE5V TEw7Cj4gPj4gKwo+ID4+ICsgICAgIHUzMiByYXRlID0gMDsKPiA+PiArCj4gPj4gKyAgICAgc2Ns ayA9IGNsa19nZXQoJnM1cF9kZXZpY2VfZmltZDAuZGV2LCAic2Nsa19maW1kIik7Cj4gPj4gKyAg ICAgaWYgKElTX0VSUihzY2xrKSkgewo+ID4+ICsgICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJS ICJmYWlsZWQgdG8gZ2V0IHNjbGsgZm9yIGZpbWRcbiIpOwo+ID4+ICsgICAgICAgICAgICAgZ290 byBlcnJfY2xrMjsKPiA+PiArICAgICB9Cj4gPj4gKwo+ID4+ICsgICAgIG1vdXRfbXBsbCA9IGNs a19nZXQoTlVMTCwgIm1vdXRfbXBsbCIpOwo+ID4+ICsgICAgIGlmIChJU19FUlIobW91dF9tcGxs KSkgewo+ID4+ICsgICAgICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gZ2V0IG1v dXRfbXBsbFxuIik7Cj4gPj4gKyAgICAgICAgICAgICBnb3RvIGVycl9jbGsxOwo+ID4+ICsgICAg IH0KPiA+PiArCj4gPj4gKyAgICAgY2xrX3NldF9wYXJlbnQoc2NsaywgbW91dF9tcGxsKTsKPiA+ PiArICAgICBpZiAoIXJhdGUpCj4gPj4gKyAgICAgICAgICAgICByYXRlID0gMTM0MDAwMDAwOwo+ ID4+ICsKPiA+PiArICAgICBjbGtfc2V0X3JhdGUoc2NsaywgcmF0ZSk7Cj4gPj4gKwo+ID4+ICsg ICAgIGNsa19wdXQoc2Nsayk7Cj4gPj4gKyAgICAgY2xrX3B1dChtb3V0X21wbGwpOwo+ID4+ICsK PiA+PiArICAgICByZXR1cm4gMDsKPiA+PiArCj4gPj4gK2Vycl9jbGsxOgo+ID4+ICsgICAgIGNs a19wdXQobW91dF9tcGxsKTsKPiA+PiArZXJyX2NsazI6Cj4gPj4gKyAgICAgY2xrX3B1dChzY2xr KTsKPiA+PiArCj4gPj4gKyAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPj4gK30KPiA+PiArCj4gPgo+ ID4gSSdtIG5vdCBzdXJlIGlmIG1hY2gtc21kayouYyBpcyB0aGUgcmlnaHQgcGxhY2UgZm9yIHRo ZSBhYm92ZSBjb2RlLgo+ID4gSU1ITyBhbGwgdGhlIGNvZGUgdGhhdCBjb25maWd1cmVzIHZlcnkg bG93IGxldmVsLCBib2FyZCBzcGVjaWZpYwo+IHBhcmFtZXRlcnMKPiA+IChsaWtlIGNsb2NrcyBh bmQgdGhlaXIgcmVsYXRpb25zKSBzaG91bGQgYmUgcGVyZm9ybWVkIGluIGJvb3QgbG9hcmRlci4K PiA+Cj4gCj4gSSBmZWVsIHB1c2hpbmcgdGhlIGNsb2NrIGVuYWJsaW5nIGludG8gdGhlIGJvb3Rs b2FkZXIsd2lsbCBjcmVhdGUgYW4KPiB1bm5lY2Nlc2FyeSBkZXBlbmRjeSBmb3IgdGhlIGxjZCBv biB0aGUgdS1ib290Lgo+IAo+ID4gKHNuaXBwZWQpCj4gPgo+ID4gQmVzdCByZWdhcmRzCj4gPiAt LQo+ID4gTWFyZWsgU3p5cHJvd3NraQo+ID4gU2Ftc3VuZyBQb2xhbmQgUiZEIENlbnRlcgo+ID4K PiA+Cj4gPgo+IHJlZ2FyZHMKPiBhbmFuZAo+IC0tCj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlz IGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXNhbXN1bmctCj4gc29jIiBp bgo+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCj4g TW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8t aQoK//Tounsubscribefromthislisv/sendthelinf/unsubscribelinux/fbdev/inthebody ofamessagetomajordomo/vger/kernel/orgMoremajordomoinfoathttp///vger/kernel/o rg/majordomo/info/htCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: JinGoo Han Subject: Re: Re: [PATCH V5 5/5] ARM: EXYNOS4: Add platform data for EXYNOS4 FIMD and LTE480WV platform-lcd Date: Thu, 23 Jun 2011 01:09:38 +0000 (GMT) Message-ID: <4275348.139611308791378008.JavaMail.weblogic@epml08> Reply-To: jg1.han@samsung.com Mime-Version: 1.0 Content-Type: text/plain; charset=euc-kr Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.samsung.com ([203.254.224.25]:11650 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754341Ab1FWBJk (ORCPT ); Wed, 22 Jun 2011 21:09:40 -0400 Received: from epcpsbge6.samsung.com (mailout2.samsung.com [203.254.224.25]) by mailout2.samsung.com (Oracle Communications Messaging Exchange Server 7u4-19.01 64bit (built Sep 7 2010)) with ESMTP id <0LN7002R5XVSBRI0@mailout2.samsung.com> for linux-samsung-soc@vger.kernel.org; Thu, 23 Jun 2011 10:09:38 +0900 (KST) MIME-version: 1.0 Sender: linux-samsung-soc-owner@vger.kernel.org List-Id: linux-samsung-soc@vger.kernel.org To: ANAND KUMAR N , Marek Szyprowski Cc: JinGoo Han , Kukjin Kim , Paul Mundt , "linux-samsung-soc@vger.kernel.org" , "linux-fbdev@vger.kernel.org" , Jong-Hun Han , THOMAS P ABRAHAM , Sylwester Nawrocki , Kyungmin Park , In-Ki Dae , ARM Linux , Ben Dooks SGksIEFuYW5kLg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBsaW51eC1z YW1zdW5nLXNvYy1vd25lckB2Z2VyLmtlcm5lbC5vcmcgW21haWx0bzpsaW51eC1zYW1zdW5nLXNv Yy0NCj4gb3duZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYgT2YgQW5hbmQgS3VtYXIgTg0K PiBTZW50OiBXZWRuZXNkYXksIEp1bmUgMjIsIDIwMTEgMTA6MjUgUE0NCj4gVG86IE1hcmVrIFN6 eXByb3dza2kNCj4gQ2M6IEppbmdvbyBIYW47IEt1a2ppbiBLaW07IFBhdWwgTXVuZHQ7IGxpbnV4 LXNhbXN1bmctc29jQHZnZXIua2VybmVsLm9yZzsNCj4gbGludXgtZmJkZXZAdmdlci5rZXJuZWwu b3JnOyBKb25naHVuIEhhbjsgVGhvbWFzIEFicmFoYW07IFN5bHdlc3Rlcg0KPiBOYXdyb2NraTsg S3l1bmdtaW4gUGFyazsgSW5raSBEYWU7IEFSTSBMaW51eDsgQmVuIERvb2tzDQo+IFN1YmplY3Q6 IFJlOiBbUEFUQ0ggVjUgNS81XSBBUk06IEVYWU5PUzQ6IEFkZCBwbGF0Zm9ybSBkYXRhIGZvciBF WFlOT1M0DQo+IEZJTUQgYW5kIExURTQ4MFdWIHBsYXRmb3JtLWxjZA0KPiANCj4gSGkgTWFyZWsv SmluZ29vLA0KPiANCj4gT24gV2VkLCBKdW4gMjIsIDIwMTEgYXQgMzoxNyBQTSwgTWFyZWsgU3p5 cHJvd3NraQ0KPiA8bS5zenlwcm93c2tpQHNhbXN1bmcuY29tPiB3cm90ZToNCj4gPiBIZWxsbywN Cj4gPg0KPiA+IE9uIFdlZG5lc2RheSwgSnVuZSAyMiwgMjAxMSA4OjQyIEFNIEppbmdvbyBIYW4g d3JvdGU6DQo+ID4NCj4gPj4gRnJvbTogSm9uZ2h1biBIYW4gPGpvbmdodW4uaGFuQHNhbXN1bmcu Y29tPg0KPiAoc25pcHBlZCkNCj4gSW5zdGVhZCBvZiBoYXJkY29kaW5nIHRoZSBwYXJlbnQgY2xv Y2sgaW4gcGxhdGZvcm0vYm9vdGxvYWRlciBjb2RlICxpcw0KPiBpdCBub3QgcG9zc2libGUgdG8g c2VsZWN0L3NldCB0aGUNCj4gcGFyZW50IGNsb2NrIGJhc2VkIG9uIHRoZSBwaXhlbCBjbGsocGxh dCBkYXRhKSBoYXZpbmcgdGhlIGxlYXN0IGRlbHRhDQo+IHdpdGggdGhlIDkgc3JjIGNsa3Mud2l0 aCB0aGlzIGNoYW5nZSBJIGhhdmUgY2hlY2tlZCBpdCBmb3IgV0ExMDFTLg0KPiBUaGVzZSBhcmUg dGhlIGNoYW5nZXMgSSBhbSBwcm9wb3NpbmcuLg0KPiANCj4gYXJjaC9hcm0vbWFjaC1leHlub3M0 L2Nsb2NrLmMNCj4gK3N0cnVjdCBjbGsgKmNsa3NldF9zY2xrX2ZpbWQwX2xpc3RbXSA9IHsNCj4g KyAgICAgICAgWzBdID0gJmNsa19zY2xrX3h4dGksDQo+ICsgICAgICAgIFsxXSA9ICZjbGtfc2Ns a194dXNieHRpLA0KPiArICAgICAgICBbMl0gPSAmY2xrX3NjbGtfaGRtaTI3bSwNCj4gKyAgICAg ICAgWzNdID0gJmNsa19zY2xrX3VzYnBoeTAsDQo+ICsgICAgICAgIFs0XSA9ICZjbGtfc2Nsa191 c2JwaHkxLA0KPiArICAgICAgICBbNV0gPSAmY2xrX3NjbGtfaGRtaXBoeSwNCj4gKyAgICAgICAg WzZdID0gJmNsa19tb3V0X21wbGwuY2xrLA0KPiArICAgICAgICBbN10gPSAmY2xrX21vdXRfZXBs bC5jbGssDQo+ICsgICAgICAgIFs4XSA9ICZjbGtfc2Nsa192cGxsLmNsaywNCj4gK307DQoNCkFz IFN5bHdlc3RlciBOYXdyb2NraSBtZW50aW9uZWQsIHRoZXJlIHdvdWxkIGJlIGNyaXRlcmlhIHRo YXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQNCnN1Y2ggYXMgY29udGludW91cyBjbG9jayBhdmFpbGFi aWxpdHkgb3IgZnJlcXVlbmN5IHN0YWJpbGl0eS4gDQpGb3IgaW5zdGFuY2UsIHdoZW4gRVBMTCAn WzddID0gJmNsa19tb3V0X2VwbGwuY2xrLCcgaXMgc2VsZWN0ZWQsIHRoZXJlIGlzIHBvc2liaWxp dHkNCnRoYXQgRVBMTCBmcmVxdWVuY3kgd2lsbCBiZSBjaGFuZ2VkIGJ5IG90aGVyIGRldmljZXMu DQpIb3dldmVyLCBFeHlub3M0IEZJTUQgY2FuIHVzZSBhIHJhbmdlIG9mIGNsb2NrcyBhcyBzb3Vy Y2UgY2xvY2ssICdtb3V0X21wbGwnIGlzDQptb3N0IHVzZWZ1bCAgYW5kIGNhbiBjb3ZlciBhbG1v c3QgTENEIHBpeGVsIGNsb2NrLCBiZWNhdXNlICdtb3V0X21wbGwnIGlzIDgwMCBNSHoNCmFuZCBt YXggZnJlcXVlbmN5IG9mICdzY2xrX2ZpbWQnIGNhbiBiZSBzZXQgYXMgODAwTUh6Lg0KDQpIb3dl dmVyLCBvdGhlciBjbG9ja3MgYXJlIHZlcnkgbG93LiBGb3IgZXhhbXBsZSwgSERNSSBQSFksIFZQ TEwgYXJlIDU0TUh6LCANClVTQiBQSFkgaXMgNDhNSHouIA0KDQo+IGFyY2gvYXJtL21hY2gtZXh5 bm9zNC9tYWNoLXNtZGt2MzEwLmMNCj4gK3N0YXRpYyBpbnQgZmltZF9zM2NfY29uc2lkZXJfY2xv Y2soc3RydWN0IGRldmljZSAqc2ZiLGludCBzcmMNCj4gLHVuc2lnbmVkIGludCB3YW50ZWQpDQo+ ICt7DQo+ICsgICAgICAgIHVuc2lnbmVkIGxvbmcgcmF0ZSA9IDA7DQo+ICsgICAgICAgIGludCBk aXYgPTE7DQo+ICsgICAgICAgIHN0cnVjdCBjbGsgKm1vdXRfbXBsbCA9IE5VTEw7DQo+ICsNCj4g KyAgICAgICAgaWYoY2xrc2V0X3NjbGtfZmltZDBfbGlzdFtzcmNdKXsNCj4gKyAgICAgICAgbW91 dF9tcGxsID0gY2xrX2dldChzZmIsY2xrc2V0X3NjbGtfZmltZDBfbGlzdFtzcmNdLT5uYW1lKTsN Cj4gKyAgICAgICAgaWYgKElTX0VSUihtb3V0X21wbGwpKSB7DQo+ICsgICAgICAgICAgICAgICBk ZXZfZXJyKHNmYiwgImZhaWxlZCB0byBjbGtfZ2V0DQo+ICVzXG4iLGNsa3NldF9zY2xrX2ZpbWQw X2xpc3Rbc3JjXS0+bmFtZSk7DQo+ICsgICAgICAgIH0NCj4gKw0KPiArICAgICAgICByYXRlID0g Y2xrX2dldF9yYXRlKG1vdXRfbXBsbCk7DQo+ICsNCj4gKyAgICAgICAgZm9yIChkaXYgPSAxOyBk aXYgPCAyNTY7IGRpdiAqPSAyKSB7DQo+ICsgICAgICAgICAgICAgICAgaWYgKChyYXRlIC8gZGl2 KSA8PSB3YW50ZWQpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gKyAgICAg ICAgfQ0KPiArDQo+ICsNCj4gKyAgICAgICB9DQo+ICsgICAgICAgIHJldHVybiAod2FudGVkIC0g KHJhdGUgLyBkaXYpKTsNCj4gK30NCj4gKw0KPiAraW50IGV4eW5vczRfZmltZDBfZmluZF9jbG9j ayhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LHN0cnVjdCBjbGsNCj4gKipsY2RfY2xrLHVu c2lnbmVkIGludCBjbG9jayhwaXhlbCBjbG9jayBuZWVkZWQgZm9yIHRoZSBsY2QpKQ0KPiArew0K PiArICAgICAgICBpbnQgYmVzdCA9IDA7DQo+ICsgICAgICAgIGludCBkZWx0YSA9IDA7DQo+ICsg ICAgICAgIGludCBiZXN0X3NyYyA9IDA7DQo+ICsgICAgICAgIGludCBzcmM7DQo+ICsgICAgICAg IHN0cnVjdCBjbGsgKmJlc3RfY2xrX3NyYyA9IE5VTEw7DQo+ICsgICAgICAgc3RydWN0IGNsayAq Y2xrICA9IE5VTEw7DQo+ICsNCj4gKyAgICAgICBpZiAoY2xvY2sgPT0gMCkNCj4gKyAgICAgICAg ICAgICAgICByZXR1cm4gMDsNCj4gKw0KPiArICAgICAgICBmb3IgKHNyYyA9IDA7IHNyYyA8IE1B WF9OVU1fQ0xLUyA7c3JjKyspIHsNCj4gKyAgICAgICAgICAgICAgICBkZWx0YSA9IGZpbWRfczNj X2NvbnNpZGVyX2Nsb2NrKCZwZGV2LT5kZXYsc3JjLGNsb2NrKTsNCj4gKyAgICAgICAgICAgICAg ICBpZiAoZGVsdGEgPCBiZXN0KSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBiZXN0ID0g ZGVsdGE7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBiZXN0X3NyYyA9IHNyYzsNCj4gKyAg ICAgICAgICAgICAgICB9DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICBjbGsgPSBjbGtfZ2V0KCZw ZGV2LT5kZXYsICJzY2xrX2ZpbWQiKTsNCj4gKyAgICAgICAgaWYgKElTX0VSUihjbGspKSB7DQo+ ICsgICAgICAgICAgICAgICBkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gZ2V0IHNjbGsg Zm9yIGZpbWRcbiIpOw0KPiArICAgICAgICAgICAgICAgZ290byBlcnJfY2xrMjsNCj4gKyAgICAg ICB9DQo+ICsNCj4gKyAgICAgICBiZXN0X2Nsa19zcmMgPQ0KPiBjbGtfZ2V0KCZwZGV2LT5kZXYs Y2xrc2V0X3NjbGtfZmltZDBfbGlzdFtiZXN0X3NyY10tPm5hbWUpOw0KPiArICAgICAgIGlmIChJ U19FUlIoYmVzdF9jbGtfc3JjKSkgew0KPiArICAgICAgICAgICAgICAgZGV2X2VycigmcGRldi0+ ZGV2LCAiZmFpbGVkIHRvIGdldCBiZXN0X3NyY1xuIik7DQo+ICsgICAgICAgICAgICAgICBnb3Rv IGVycl9jbGsxOw0KPiArICAgICAgIH0NCj4gKyAgICAgICBjbGtfc2V0X3BhcmVudChjbGssYmVz dF9jbGtfc3JjKTsNCj4gKyAgICAgICAqbGNkX2NsayA9IGNsazsNCj4gKyAgICAgICAgY2xrX3B1 dChiZXN0X2Nsa19zcmMpOw0KPiArICAgICAgICBjbGtfZW5hYmxlKGNsayk7DQo+ICsgICAgICAg IGRldl9kYmcoJnBkZXYtPmRldiwgInNldCBmaW1kIHNjbGsgcmF0ZSB0byAlZFxuIiwgY2xvY2sp Ow0KPiArDQo+ICtlcnJfY2xrMToNCj4gKyAgICAgICBjbGtfcHV0KGJlc3RfY2xrX3NyYyk7DQo+ ICtlcnJfY2xrMjoNCj4gKyAgICAgICBjbGtfcHV0KGNsayk7DQo+ICsNCj4gKyAgICAgICByZXR1 cm4gLUVJTlZBTDsNCj4gK30NCj4gSSBoYXZlIGJhc2VkIHRoZXNlIHBhdGNoZXMgb24gdGhlIHYx IHZlcnNpb24gb2YgdGhpcyBwYXRjaC5JIGNhbiBiYXNlDQo+IHRoZXNlIGNoYW5nZXMNCj4gb24g eW91ciBsYXRlc3QgY2hhbmdlcyh2NikgYW5kIHNlbmQgYXMgYSBwYXRjaC4NCj4gDQo+ID4+ICtz dGF0aWMgaW50IF9faW5pdCBzbWRrYzIxMF9maW1kMF9zZXR1cF9jbG9jayh2b2lkKQ0KPiA+PiAr ew0KPiA+PiArICAgICBzdHJ1Y3QgY2xrICpzY2xrID0gTlVMTDsNCj4gPj4gKyAgICAgc3RydWN0 IGNsayAqbW91dF9tcGxsID0gTlVMTDsNCj4gPj4gKw0KPiA+PiArICAgICB1MzIgcmF0ZSA9IDA7 DQo+ID4+ICsNCj4gPj4gKyAgICAgc2NsayA9IGNsa19nZXQoJnM1cF9kZXZpY2VfZmltZDAuZGV2 LCAic2Nsa19maW1kIik7DQo+ID4+ICsgICAgIGlmIChJU19FUlIoc2NsaykpIHsNCj4gPj4gKyAg ICAgICAgICAgICBwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBnZXQgc2NsayBmb3IgZmltZFxu Iik7DQo+ID4+ICsgICAgICAgICAgICAgZ290byBlcnJfY2xrMjsNCj4gPj4gKyAgICAgfQ0KPiA+ PiArDQo+ID4+ICsgICAgIG1vdXRfbXBsbCA9IGNsa19nZXQoTlVMTCwgIm1vdXRfbXBsbCIpOw0K PiA+PiArICAgICBpZiAoSVNfRVJSKG1vdXRfbXBsbCkpIHsNCj4gPj4gKyAgICAgICAgICAgICBw cmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBnZXQgbW91dF9tcGxsXG4iKTsNCj4gPj4gKyAgICAg ICAgICAgICBnb3RvIGVycl9jbGsxOw0KPiA+PiArICAgICB9DQo+ID4+ICsNCj4gPj4gKyAgICAg Y2xrX3NldF9wYXJlbnQoc2NsaywgbW91dF9tcGxsKTsNCj4gPj4gKyAgICAgaWYgKCFyYXRlKQ0K PiA+PiArICAgICAgICAgICAgIHJhdGUgPSAxMzQwMDAwMDA7DQo+ID4+ICsNCj4gPj4gKyAgICAg Y2xrX3NldF9yYXRlKHNjbGssIHJhdGUpOw0KPiA+PiArDQo+ID4+ICsgICAgIGNsa19wdXQoc2Ns ayk7DQo+ID4+ICsgICAgIGNsa19wdXQobW91dF9tcGxsKTsNCj4gPj4gKw0KPiA+PiArICAgICBy ZXR1cm4gMDsNCj4gPj4gKw0KPiA+PiArZXJyX2NsazE6DQo+ID4+ICsgICAgIGNsa19wdXQobW91 dF9tcGxsKTsNCj4gPj4gK2Vycl9jbGsyOg0KPiA+PiArICAgICBjbGtfcHV0KHNjbGspOw0KPiA+ PiArDQo+ID4+ICsgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+PiArfQ0KPiA+PiArDQo+ID4NCj4g PiBJJ20gbm90IHN1cmUgaWYgbWFjaC1zbWRrKi5jIGlzIHRoZSByaWdodCBwbGFjZSBmb3IgdGhl IGFib3ZlIGNvZGUuDQo+ID4gSU1ITyBhbGwgdGhlIGNvZGUgdGhhdCBjb25maWd1cmVzIHZlcnkg bG93IGxldmVsLCBib2FyZCBzcGVjaWZpYw0KPiBwYXJhbWV0ZXJzDQo+ID4gKGxpa2UgY2xvY2tz IGFuZCB0aGVpciByZWxhdGlvbnMpIHNob3VsZCBiZSBwZXJmb3JtZWQgaW4gYm9vdCBsb2FyZGVy Lg0KPiA+DQo+IA0KPiBJIGZlZWwgcHVzaGluZyB0aGUgY2xvY2sgZW5hYmxpbmcgaW50byB0aGUg Ym9vdGxvYWRlcix3aWxsIGNyZWF0ZSBhbg0KPiB1bm5lY2Nlc2FyeSBkZXBlbmRjeSBmb3IgdGhl IGxjZCBvbiB0aGUgdS1ib290Lg0KPiANCj4gPiAoc25pcHBlZCkNCj4gPg0KPiA+IEJlc3QgcmVn YXJkcw0KPiA+IC0tDQo+ID4gTWFyZWsgU3p5cHJvd3NraQ0KPiA+IFNhbXN1bmcgUG9sYW5kIFIm RCBDZW50ZXINCj4gPg0KPiA+DQo+ID4NCj4gcmVnYXJkcw0KPiBhbmFuZA0KPiAtLQ0KPiBUbyB1 bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGlu dXgtc2Ftc3VuZy0NCj4gc29jIiBpbg0KPiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jk b21vQHZnZXIua2VybmVsLm9yZw0KPiBNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdl ci5rZXJuZWwub3JnL21ham9yZG9tby1pDQoNCg==