From mboxrd@z Thu Jan 1 00:00:00 1970 From: xxm Subject: =?UTF-8?Q?Re=3a_=5bPATCH=5d_iio=3a_adc=3a_rockchip=5fsaradc=3a_Add_?= =?UTF-8?B?c3VwcG9ydCBpaW8gYnVmZmVyc+OAkOivt+azqOaEj++8jOmCruS7tueUsWxpbnV4?= =?UTF-8?Q?-rockchip-bounces+xxm=3drock-chips=2ecom=40lists=2einfradead=2eor?= =?UTF-8?B?Z+S7o+WPkeOAkQ==?= Date: Mon, 2 Mar 2020 10:11:02 +0800 Message-ID: <67e46e36-ebac-ebe3-b4f4-9edb88fb0dcf@rock-chips.com> References: <20200301112353.887028-1-heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="gbk"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20200301112353.887028-1-heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+glpar-linux-rockchip=m.gmane-mx.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: Heiko Stuebner , jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org Cc: lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Heiko Stuebner , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kever.yang-TNX95d0MmH7DzftRWevZcw@public.gmane.org, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, pmeerw-jW+XmwGofnusTnJN9+BGXg@public.gmane.org, knaack.h-Mmb7MZpHnFY@public.gmane.org List-Id: linux-rockchip.vger.kernel.org SGksIEhlaWtvCgrU2iAyMDIwLzMvMSAxOToyMywgSGVpa28gU3R1ZWJuZXIg0LS1wDoKPiBGcm9t OiBTaW1vbiBYdWUgPHh4bUByb2NrLWNoaXBzLmNvbT4KPiAKPiBBZGQgdGhlIGFiaWxpdHkgdG8g YWxzbyBzdXBwb3J0IGFjY2VzcyB2aWEgKHRyaWdnZXJlZCkgYnVmZmVycwo+IG5leHQgdG8gdGhl IGV4aXN0aW5nIGRpcmVjdCBtb2RlLgo+IAo+IERldmljZSBpbiBxdWVzdGlvbiBpcyB0aGUgT2Ry b2lkIEdvIEFkdmFuY2UgdGhhdCBjb25uZWN0cyBhIGpveXN0aWNrCj4gdG8gdHdvIG9mIHRoZSBz YXJhZGMgY2hhbm5lbHMgZm9yIFggYW5kIFkgYXhpcyBhbmQgdGhlIG5ldyAoYW5kIHN0aWxsCj4g cGVuZGluZykgYWRjIGpveXN0aWNrIGRyaXZlciBvZiBjb3Vyc2Ugd2FudHMgdG8gdXNlIHRyaWdn ZXJlZCBidWZmZXJzCj4gZnJvbSB0aGUgaWlvIHN1YnN5c3RlbS4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBTaW1vbiBYdWUgPHh4bUByb2NrLWNoaXBzLmNvbT4KPiBbc29tZSBzaW1wbGlmaWNhdGlvbnMg YW5kIGFkZGVkIGNvbW1pdCBkZXNjcmlwdGlvbl0KPiBTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTdHVl Ym5lciA8aGVpa28uc3R1ZWJuZXJAdGhlb2Jyb21hLXN5c3RlbXMuY29tPgo+IC0tLQo+ICAgZHJp dmVycy9paW8vYWRjL0tjb25maWcgICAgICAgICAgIHwgICAyICsKPiAgIGRyaXZlcnMvaWlvL2Fk Yy9yb2NrY2hpcF9zYXJhZGMuYyB8IDEzNyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0K PiAgIDIgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9hZGMvS2NvbmZpZyBiL2RyaXZlcnMvaWlvL2Fk Yy9LY29uZmlnCj4gaW5kZXggODJlMzMwODI5NThjLi41NWQyNDk5ZmY3NTcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9paW8vYWRjL0tjb25maWcKPiArKysgYi9kcml2ZXJzL2lpby9hZGMvS2NvbmZp Zwo+IEBAIC03ODcsNiArNzg3LDggQEAgY29uZmlnIFJPQ0tDSElQX1NBUkFEQwo+ICAgCXRyaXN0 YXRlICJSb2NrY2hpcCBTQVJBREMgZHJpdmVyIgo+ICAgCWRlcGVuZHMgb24gQVJDSF9ST0NLQ0hJ UCB8fCAoQVJNICYmIENPTVBJTEVfVEVTVCkKPiAgIAlkZXBlbmRzIG9uIFJFU0VUX0NPTlRST0xM RVIKPiArCXNlbGVjdCBJSU9fQlVGRkVSCj4gKwlzZWxlY3QgSUlPX1RSSUdHRVJFRF9CVUZGRVIK PiAgIAloZWxwCj4gICAJICBTYXkgeWVzIGhlcmUgdG8gYnVpbGQgc3VwcG9ydCBmb3IgdGhlIFNB UkFEQyBmb3VuZCBpbiBTb0NzIGZyb20KPiAgIAkgIFJvY2tjaGlwLgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2lpby9hZGMvcm9ja2NoaXBfc2FyYWRjLmMgYi9kcml2ZXJzL2lpby9hZGMvcm9ja2No aXBfc2FyYWRjLmMKPiBpbmRleCA1ODJiYTA0N2M0YTYuLjQwMmIyMjEwYTY4MiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2lpby9hZGMvcm9ja2NoaXBfc2FyYWRjLmMKPiArKysgYi9kcml2ZXJzL2lp by9hZGMvcm9ja2NoaXBfc2FyYWRjLmMKPiBAQCAtMTUsNyArMTUsMTEgQEAKPiAgICNpbmNsdWRl IDxsaW51eC9kZWxheS5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L3Jlc2V0Lmg+Cj4gICAjaW5jbHVk ZSA8bGludXgvcmVndWxhdG9yL2NvbnN1bWVyLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9paW8vYnVm ZmVyLmg+Cj4gICAjaW5jbHVkZSA8bGludXgvaWlvL2lpby5oPgo+ICsjaW5jbHVkZSA8bGludXgv aWlvL3RyaWdnZXIuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2lpby90cmlnZ2VyX2NvbnN1bWVyLmg+ Cj4gKyNpbmNsdWRlIDxsaW51eC9paW8vdHJpZ2dlcmVkX2J1ZmZlci5oPgo+ICAgCj4gICAjZGVm aW5lIFNBUkFEQ19EQVRBCQkJMHgwMAo+ICAgCj4gQEAgLTM0LDcgKzM4LDYgQEAKPiAgICNkZWZp bmUgU0FSQURDX1RJTUVPVVQJCQltc2Vjc190b19qaWZmaWVzKDEwMCkKPiAgIAo+ICAgc3RydWN0 IHJvY2tjaGlwX3NhcmFkY19kYXRhIHsKPiAtCWludAkJCQludW1fYml0czsKPiAgIAljb25zdCBz dHJ1Y3QgaWlvX2NoYW5fc3BlYwkqY2hhbm5lbHM7Cj4gICAJaW50CQkJCW51bV9jaGFubmVsczsK PiAgIAl1bnNpZ25lZCBsb25nCQkJY2xrX3JhdGU7Cj4gQEAgLTQ5LDggKzUyLDM3IEBAIHN0cnVj dCByb2NrY2hpcF9zYXJhZGMgewo+ICAgCXN0cnVjdCByZXNldF9jb250cm9sCSpyZXNldDsKPiAg IAljb25zdCBzdHJ1Y3Qgcm9ja2NoaXBfc2FyYWRjX2RhdGEgKmRhdGE7Cj4gICAJdTE2CQkJbGFz dF92YWw7Cj4gKwljb25zdCBzdHJ1Y3QgaWlvX2NoYW5fc3BlYyAqbGFzdF9jaGFuOwo+ICAgfTsK PiAgIAo+ICtzdGF0aWMgdm9pZCByb2NrY2hpcF9zYXJhZGNfcG93ZXJfZG93bihzdHJ1Y3Qgcm9j a2NoaXBfc2FyYWRjICppbmZvKQo+ICt7Cj4gKwkvKiBDbGVhciBpcnEgJiBwb3dlciBkb3duIGFk YyAqLwo+ICsJd3JpdGVsX3JlbGF4ZWQoMCwgaW5mby0+cmVncyArIFNBUkFEQ19DVFJMKTsKPiAr fQo+ICsKPiArc3RhdGljIGludCByb2NrY2hpcF9zYXJhZGNfY29udmVyc2lvbihzdHJ1Y3Qgcm9j a2NoaXBfc2FyYWRjICppbmZvLAo+ICsJCQkJICAgc3RydWN0IGlpb19jaGFuX3NwZWMgY29uc3Qg KmNoYW4pCj4gK3sKPiArCXJlaW5pdF9jb21wbGV0aW9uKCZpbmZvLT5jb21wbGV0aW9uKTsKPiAr Cj4gKwkvKiA4IGNsb2NrIHBlcmlvZHMgYXMgZGVsYXkgYmV0d2VlbiBwb3dlciB1cCBhbmQgc3Rh cnQgY21kICovCj4gKwl3cml0ZWxfcmVsYXhlZCg4LCBpbmZvLT5yZWdzICsgU0FSQURDX0RMWV9Q VV9TT0MpOwo+ICsKPiArCWluZm8tPmxhc3RfY2hhbiA9IGNoYW47Cj4gKwo+ICsJLyogU2VsZWN0 IHRoZSBjaGFubmVsIHRvIGJlIHVzZWQgYW5kIHRyaWdnZXIgY29udmVyc2lvbiAqLwo+ICsJd3Jp dGVsKFNBUkFEQ19DVFJMX1BPV0VSX0NUUkwKPiArCQkJfCAoY2hhbi0+Y2hhbm5lbCAmIFNBUkFE Q19DVFJMX0NITl9NQVNLKQo+ICsJCQl8IFNBUkFEQ19DVFJMX0lSUV9FTkFCTEUsCj4gKwkJICAg aW5mby0+cmVncyArIFNBUkFEQ19DVFJMKTsKPiArCj4gKwlpZiAoIXdhaXRfZm9yX2NvbXBsZXRp b25fdGltZW91dCgmaW5mby0+Y29tcGxldGlvbiwgU0FSQURDX1RJTUVPVVQpKQo+ICsJCXJldHVy biAtRVRJTUVET1VUOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICAgc3RhdGljIGludCBy b2NrY2hpcF9zYXJhZGNfcmVhZF9yYXcoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiwKPiAgIAkJ CQkgICAgc3RydWN0IGlpb19jaGFuX3NwZWMgY29uc3QgKmNoYW4sCj4gICAJCQkJICAgIGludCAq dmFsLCBpbnQgKnZhbDIsIGxvbmcgbWFzaykKPiBAQCAtNjIsMjQgKzk0LDEyIEBAIHN0YXRpYyBp bnQgcm9ja2NoaXBfc2FyYWRjX3JlYWRfcmF3KHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYsCj4g ICAJY2FzZSBJSU9fQ0hBTl9JTkZPX1JBVzoKPiAgIAkJbXV0ZXhfbG9jaygmaW5kaW9fZGV2LT5t bG9jayk7Cj4gICAKPiAtCQlyZWluaXRfY29tcGxldGlvbigmaW5mby0+Y29tcGxldGlvbik7Cj4g LQo+IC0JCS8qIDggY2xvY2sgcGVyaW9kcyBhcyBkZWxheSBiZXR3ZWVuIHBvd2VyIHVwIGFuZCBz dGFydCBjbWQgKi8KPiAtCQl3cml0ZWxfcmVsYXhlZCg4LCBpbmZvLT5yZWdzICsgU0FSQURDX0RM WV9QVV9TT0MpOwo+IC0KPiAtCQkvKiBTZWxlY3QgdGhlIGNoYW5uZWwgdG8gYmUgdXNlZCBhbmQg dHJpZ2dlciBjb252ZXJzaW9uICovCj4gLQkJd3JpdGVsKFNBUkFEQ19DVFJMX1BPV0VSX0NUUkwK PiAtCQkJCXwgKGNoYW4tPmNoYW5uZWwgJiBTQVJBRENfQ1RSTF9DSE5fTUFTSykKPiAtCQkJCXwg U0FSQURDX0NUUkxfSVJRX0VOQUJMRSwKPiAtCQkgICAgICAgaW5mby0+cmVncyArIFNBUkFEQ19D VFJMKTsKPiAtCj4gLQkJaWYgKCF3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoJmluZm8tPmNv bXBsZXRpb24sCj4gLQkJCQkJCSBTQVJBRENfVElNRU9VVCkpIHsKPiAtCQkJd3JpdGVsX3JlbGF4 ZWQoMCwgaW5mby0+cmVncyArIFNBUkFEQ19DVFJMKTsKPiArCQlyZXQgPSByb2NrY2hpcF9zYXJh ZGNfY29udmVyc2lvbihpbmZvLCBjaGFuKTsKPiArCQlpZiAocmV0KSB7Cj4gKwkJCXJvY2tjaGlw X3NhcmFkY19wb3dlcl9kb3duKGluZm8pOwo+ICAgCQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYt Pm1sb2NrKTsKPiAtCQkJcmV0dXJuIC1FVElNRURPVVQ7Cj4gKwkJCXJldHVybiByZXQ7Cj4gICAJ CX0KPiAtCj4gICAJCSp2YWwgPSBpbmZvLT5sYXN0X3ZhbDsKPiAgIAkJbXV0ZXhfdW5sb2NrKCZp bmRpb19kZXYtPm1sb2NrKTsKPiAgIAkJcmV0dXJuIElJT19WQUxfSU5UOwo+IEBAIC05MSw3ICsx MTEsNyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX3NhcmFkY19yZWFkX3JhdyhzdHJ1Y3QgaWlvX2Rl diAqaW5kaW9fZGV2LAo+ICAgCQl9Cj4gICAKPiAgIAkJKnZhbCA9IHJldCAvIDEwMDA7Cj4gLQkJ KnZhbDIgPSBpbmZvLT5kYXRhLT5udW1fYml0czsKPiArCQkqdmFsMiA9IGNoYW4tPnNjYW5fdHlw ZS5yZWFsYml0czsKPiAgIAkJcmV0dXJuIElJT19WQUxfRlJBQ1RJT05BTF9MT0cyOwo+ICAgCWRl ZmF1bHQ6Cj4gICAJCXJldHVybiAtRUlOVkFMOwo+IEBAIC0xMDQsMTAgKzEyNCw5IEBAIHN0YXRp YyBpcnFyZXR1cm5fdCByb2NrY2hpcF9zYXJhZGNfaXNyKGludCBpcnEsIHZvaWQgKmRldl9pZCkK PiAgIAo+ICAgCS8qIFJlYWQgdmFsdWUgKi8KPiAgIAlpbmZvLT5sYXN0X3ZhbCA9IHJlYWRsX3Jl bGF4ZWQoaW5mby0+cmVncyArIFNBUkFEQ19EQVRBKTsKPiAtCWluZm8tPmxhc3RfdmFsICY9IEdF Tk1BU0soaW5mby0+ZGF0YS0+bnVtX2JpdHMgLSAxLCAwKTsKPiArCWluZm8tPmxhc3RfdmFsICY9 IEdFTk1BU0soaW5mby0+bGFzdF9jaGFuLT5zY2FuX3R5cGUucmVhbGJpdHMgLSAxLCAwKTsKPiAg IAo+IC0JLyogQ2xlYXIgaXJxICYgcG93ZXIgZG93biBhZGMgKi8KPiAtCXdyaXRlbF9yZWxheGVk KDAsIGluZm8tPnJlZ3MgKyBTQVJBRENfQ1RSTCk7Cj4gKwlyb2NrY2hpcF9zYXJhZGNfcG93ZXJf ZG93bihpbmZvKTsKPiAgIAo+ICAgCWNvbXBsZXRlKCZpbmZvLT5jb21wbGV0aW9uKTsKPiAgIAo+ IEBAIC0xMTgsNTEgKzEzNyw1NSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlpb19pbmZvIHJvY2tj aGlwX3NhcmFkY19paW9faW5mbyA9IHsKPiAgIAkucmVhZF9yYXcgPSByb2NrY2hpcF9zYXJhZGNf cmVhZF9yYXcsCj4gICB9Owo+ICAgCj4gLSNkZWZpbmUgQURDX0NIQU5ORUwoX2luZGV4LCBfaWQp IHsJCQkJXAo+ICsjZGVmaW5lIEFEQ19DSEFOTkVMKF9pbmRleCwgX2lkLCBfcmVzKSB7CQkJXAo+ ICAgCS50eXBlID0gSUlPX1ZPTFRBR0UsCQkJCQlcCj4gICAJLmluZGV4ZWQgPSAxLAkJCQkJCVwK PiAgIAkuY2hhbm5lbCA9IF9pbmRleCwJCQkJCVwKPiAgIAkuaW5mb19tYXNrX3NlcGFyYXRlID0g QklUKElJT19DSEFOX0lORk9fUkFXKSwJCVwKPiAgIAkuaW5mb19tYXNrX3NoYXJlZF9ieV90eXBl ID0gQklUKElJT19DSEFOX0lORk9fU0NBTEUpLAlcCj4gICAJLmRhdGFzaGVldF9uYW1lID0gX2lk LAkJCQkJXAo+ICsJLnNjYW5faW5kZXggPSBfaW5kZXgsCQkJCQlcCj4gKwkuc2Nhbl90eXBlID0g ewkJCQkJCVwKPiArCQkuc2lnbiA9ICd1JywJCQkJCVwKPiArCQkucmVhbGJpdHMgPSBfcmVzLAkJ CQlcCj4gKwkJLnN0b3JhZ2ViaXRzID0gMTYsCQkJCVwKPiArCQkuZW5kaWFubmVzcyA9IElJT19M RSwJCQkJXAo+ICsJfSwJCQkJCQkJXAo+ICAgfQo+ICAgCj4gICBzdGF0aWMgY29uc3Qgc3RydWN0 IGlpb19jaGFuX3NwZWMgcm9ja2NoaXBfc2FyYWRjX2lpb19jaGFubmVsc1tdID0gewo+IC0JQURD X0NIQU5ORUwoMCwgImFkYzAiKSwKPiAtCUFEQ19DSEFOTkVMKDEsICJhZGMxIiksCj4gLQlBRENf Q0hBTk5FTCgyLCAiYWRjMiIpLAo+ICsJQURDX0NIQU5ORUwoMCwgImFkYzAiLCAxMCksCj4gKwlB RENfQ0hBTk5FTCgxLCAiYWRjMSIsIDEwKSwKPiArCUFEQ19DSEFOTkVMKDIsICJhZGMyIiwgMTAp LAo+ICAgfTsKPiAgIAo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCByb2NrY2hpcF9zYXJhZGNfZGF0 YSBzYXJhZGNfZGF0YSA9IHsKPiAtCS5udW1fYml0cyA9IDEwLAo+ICAgCS5jaGFubmVscyA9IHJv Y2tjaGlwX3NhcmFkY19paW9fY2hhbm5lbHMsCj4gICAJLm51bV9jaGFubmVscyA9IEFSUkFZX1NJ WkUocm9ja2NoaXBfc2FyYWRjX2lpb19jaGFubmVscyksCj4gICAJLmNsa19yYXRlID0gMTAwMDAw MCwKPiAgIH07Cj4gICAKPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaWlvX2NoYW5fc3BlYyByb2Nr Y2hpcF9yazMwNjZfdHNhZGNfaWlvX2NoYW5uZWxzW10gPSB7Cj4gLQlBRENfQ0hBTk5FTCgwLCAi YWRjMCIpLAo+IC0JQURDX0NIQU5ORUwoMSwgImFkYzEiKSwKPiArCUFEQ19DSEFOTkVMKDAsICJh ZGMwIiwgMTIpLAo+ICsJQURDX0NIQU5ORUwoMSwgImFkYzEiLCAxMiksCj4gICB9Owo+ICAgCj4g ICBzdGF0aWMgY29uc3Qgc3RydWN0IHJvY2tjaGlwX3NhcmFkY19kYXRhIHJrMzA2Nl90c2FkY19k YXRhID0gewo+IC0JLm51bV9iaXRzID0gMTIsCj4gICAJLmNoYW5uZWxzID0gcm9ja2NoaXBfcmsz MDY2X3RzYWRjX2lpb19jaGFubmVscywKPiAgIAkubnVtX2NoYW5uZWxzID0gQVJSQVlfU0laRShy b2NrY2hpcF9yazMwNjZfdHNhZGNfaWlvX2NoYW5uZWxzKSwKPiAgIAkuY2xrX3JhdGUgPSA1MDAw MCwKPiAgIH07Cj4gICAKPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaWlvX2NoYW5fc3BlYyByb2Nr Y2hpcF9yazMzOTlfc2FyYWRjX2lpb19jaGFubmVsc1tdID0gewo+IC0JQURDX0NIQU5ORUwoMCwg ImFkYzAiKSwKPiAtCUFEQ19DSEFOTkVMKDEsICJhZGMxIiksCj4gLQlBRENfQ0hBTk5FTCgyLCAi YWRjMiIpLAo+IC0JQURDX0NIQU5ORUwoMywgImFkYzMiKSwKPiAtCUFEQ19DSEFOTkVMKDQsICJh ZGM0IiksCj4gLQlBRENfQ0hBTk5FTCg1LCAiYWRjNSIpLAo+ICsJQURDX0NIQU5ORUwoMCwgImFk YzAiLCAxMCksCj4gKwlBRENfQ0hBTk5FTCgxLCAiYWRjMSIsIDEwKSwKPiArCUFEQ19DSEFOTkVM KDIsICJhZGMyIiwgMTApLAo+ICsJQURDX0NIQU5ORUwoMywgImFkYzMiLCAxMCksCj4gKwlBRENf Q0hBTk5FTCg0LCAiYWRjNCIsIDEwKSwKPiArCUFEQ19DSEFOTkVMKDUsICJhZGM1IiwgMTApLAo+ ICAgfTsKPiAgIAo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCByb2NrY2hpcF9zYXJhZGNfZGF0YSBy azMzOTlfc2FyYWRjX2RhdGEgPSB7Cj4gLQkubnVtX2JpdHMgPSAxMCwKPiAgIAkuY2hhbm5lbHMg PSByb2NrY2hpcF9yazMzOTlfc2FyYWRjX2lpb19jaGFubmVscywKPiAgIAkubnVtX2NoYW5uZWxz ID0gQVJSQVlfU0laRShyb2NrY2hpcF9yazMzOTlfc2FyYWRjX2lpb19jaGFubmVscyksCj4gICAJ LmNsa19yYXRlID0gMTAwMDAwMCwKPiBAQCAtMTkzLDYgKzIxNiwzOSBAQCBzdGF0aWMgdm9pZCBy b2NrY2hpcF9zYXJhZGNfcmVzZXRfY29udHJvbGxlcihzdHJ1Y3QgcmVzZXRfY29udHJvbCAqcmVz ZXQpCj4gICAJcmVzZXRfY29udHJvbF9kZWFzc2VydChyZXNldCk7Cj4gICB9Cj4gICAKPiArc3Rh dGljIGlycXJldHVybl90IHJvY2tjaGlwX3NhcmFkY190cmlnZ2VyX2hhbmRsZXIoaW50IGlycSwg dm9pZCAqcCkKPiArewo+ICsJc3RydWN0IGlpb19wb2xsX2Z1bmMgKnBmID0gcDsKPiArCXN0cnVj dCBpaW9fZGV2ICppX2RldiA9IHBmLT5pbmRpb19kZXY7Cj4gKwlzdHJ1Y3Qgcm9ja2NoaXBfc2Fy YWRjICppbmZvID0gaWlvX3ByaXYoaV9kZXYpOwo+ICsJdTE2IGRhdGFbMjBdOwpIb3cgYWJvdXQg dGhpczoKI2RlZmluZSBNQVhfQ0hBTk5FTF9OVU0gMTYKdTE2IGRhdGFbTUFYX0NIQU5ORUxfTlVN XTsKPiArCWludCByZXQ7Cj4gKwlpbnQgaSwgaiA9IDA7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmaV9k ZXYtPm1sb2NrKTsKPiArCj4gKwlmb3JfZWFjaF9zZXRfYml0KGksIGlfZGV2LT5hY3RpdmVfc2Nh bl9tYXNrLCBpX2Rldi0+bWFza2xlbmd0aCkgewo+ICsJCWNvbnN0IHN0cnVjdCBpaW9fY2hhbl9z cGVjICpjaGFuID0gJmlfZGV2LT5jaGFubmVsc1tpXTsKPiArCj4gKwkJcmV0ID0gcm9ja2NoaXBf c2FyYWRjX2NvbnZlcnNpb24oaW5mbywgY2hhbik7Cj4gKwkJaWYgKHJldCkgewo+ICsJCQlyb2Nr Y2hpcF9zYXJhZGNfcG93ZXJfZG93bihpbmZvKTsKPiArCQkJZ290byBvdXQ7Cj4gKwkJfQo+ICsK PiArCQlkYXRhW2pdID0gaW5mby0+bGFzdF92YWw7Cj4gKwkJaisrOwo+ICsJfQo+ICsKPiArCWlp b19wdXNoX3RvX2J1ZmZlcnNfd2l0aF90aW1lc3RhbXAoaV9kZXYsIGRhdGEsIGlpb19nZXRfdGlt ZV9ucyhpX2RldikpOwo+ICtvdXQ6Cj4gKwltdXRleF91bmxvY2soJmlfZGV2LT5tbG9jayk7Cj4g Kwo+ICsJaWlvX3RyaWdnZXJfbm90aWZ5X2RvbmUoaV9kZXYtPnRyaWcpOwo+ICsKPiArCXJldHVy biBJUlFfSEFORExFRDsKPiArfQo+ICsKPiAgIHN0YXRpYyBpbnQgcm9ja2NoaXBfc2FyYWRjX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gICB7Cj4gICAJc3RydWN0IHJvY2tj aGlwX3NhcmFkYyAqaW5mbyA9IE5VTEw7Cj4gQEAgLTMxNSwxMiArMzcxLDE5IEBAIHN0YXRpYyBp bnQgcm9ja2NoaXBfc2FyYWRjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g ICAJaW5kaW9fZGV2LT5jaGFubmVscyA9IGluZm8tPmRhdGEtPmNoYW5uZWxzOwo+ICAgCWluZGlv X2Rldi0+bnVtX2NoYW5uZWxzID0gaW5mby0+ZGF0YS0+bnVtX2NoYW5uZWxzOwo+ICAgCj4gLQly ZXQgPSBpaW9fZGV2aWNlX3JlZ2lzdGVyKGluZGlvX2Rldik7Cj4gKwlyZXQgPSBpaW9fdHJpZ2dl cmVkX2J1ZmZlcl9zZXR1cChpbmRpb19kZXYsIE5VTEwsCj4gKwkJCQkJIHJvY2tjaGlwX3NhcmFk Y190cmlnZ2VyX2hhbmRsZXIsIE5VTEwpOwpkZXZtX2lpb190cmlnZ2VyZWRfYnVmZmVyX3NldHVw IHNlZW1zIGJldHRlcgo+ICAgCWlmIChyZXQpCj4gICAJCWdvdG8gZXJyX2NsazsKPiAgIAo+ICsJ cmV0ID0gaWlvX2RldmljZV9yZWdpc3RlcihpbmRpb19kZXYpOwo+ICsJaWYgKHJldCkKPiArCQln b3RvIGVycl9idWZmZXJfY2xlYW51cDsKPiArCj4gICAJcmV0dXJuIDA7Cj4gICAKPiArZXJyX2J1 ZmZlcl9jbGVhbnVwOgo+ICsJaWlvX3RyaWdnZXJlZF9idWZmZXJfY2xlYW51cChpbmRpb19kZXYp Owo+ICAgZXJyX2NsazoKPiAgIAljbGtfZGlzYWJsZV91bnByZXBhcmUoaW5mby0+Y2xrKTsKPiAg IGVycl9wY2xrOgo+IAp4eG1Acm9jay1jaGlwcy5jb20KCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0Ckxp bnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=