From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH v1 3/7] mfd: add atmel-lcdc driver Date: Fri, 24 Aug 2018 10:48:08 +0200 Message-ID: <20180824104808.20e8d53d@bbrezillon> References: <20180812184152.GA22343@ravnborg.org> <20180812184629.3808-3-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180812184629.3808-3-sam@ravnborg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sam Ravnborg Cc: Mark Rutland , devicetree@vger.kernel.org, Alexandre Belloni , linux-pwm@vger.kernel.org, Boris Brezillon , Nicolas Ferre , dri-devel@lists.freedesktop.org, Rob Herring , Lee Jones , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org T24gU3VuLCAxMiBBdWcgMjAxOCAyMDo0NjoyNSArMDIwMApTYW0gUmF2bmJvcmcgPHNhbUByYXZu Ym9yZy5vcmc+IHdyb3RlOgoKPiBUaGUgTENEQyBJUCB1c2VkIGJ5IHNvbWUgQXRtZWwgU09DJ3Mg aGF2ZSBhCj4gICAgIG11bHRpZnVuY3Rpb24gZGV2aWNlIHRoYXQgaW5jbHVkZSB0d28gc3ViLWRl dmljZXM6Cj4gICAgIC0gcHdtCj4gICAgIC0gZGlzcGxheSBjb250cm9sbGVyCj4gCj4gVGhpcyBt ZmQgZGV2aWNlIHByb3ZpZGUgYSByZWdtYXAgdGhhdCBjYW4gYmUgdXNlZCBieSB0aGUKPiBzdWIt ZGV2aWNlcyB0byBzYWZlbHkgYWNjZXNzIHRoZSByZWdpc3RlcnMuCj4gVGhlIG1mZCBkZXZpY2Ug YWxzbyBzdXBwb3J0IHRoZSBjbG9jayB1c2VkIGJ5IHRoZQo+IExDREMgSVAgKyBhIGJ1cyBjbG9j ayB0aGF0IGluIHNvbWUgY2FzZXMgYXJlIHJlcXVpcmVkLgo+IAo+IFRoZSBkcml2ZXIgaXMgYmFz ZWQgb24gdGhlIGF0bWVsLWhsY2RjIGRyaXZlci4KCkxvb2tzIGxpa2UgaXQncyAoYWxtb3N0Pykg dGhlIHNhbWUgbG9naWMuIEl0J3MgcHJvYmFibHkgYmV0dGVyIHRvIGhhdmUKb25seSBvbmUgZHJp dmVyIGFuZCBqdXN0IGFkZCBuZXcgY29tcGF0aWJsZXMuCgo+IAo+IFRoZSBBdG1lbCBTT0MncyBh cmUgYXQ5MXNhbTkyNjEsIGF0OTFzYW05MjYzIGV0Yy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTYW0g UmF2bmJvcmcgPHNhbUByYXZuYm9yZy5vcmc+Cj4gQ2M6IExlZSBKb25lcyA8bGVlLmpvbmVzQGxp bmFyby5vcmc+Cj4gQ2M6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9uQGZyZWUtZWxl Y3Ryb25zLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9tZmQvS2NvbmZpZyAgICAgICAgICAgIHwgIDEw ICsrKwo+ICBkcml2ZXJzL21mZC9NYWtlZmlsZSAgICAgICAgICAgfCAgIDEgKwo+ICBkcml2ZXJz L21mZC9hdG1lbC1sY2RjLmMgICAgICAgfCAxNTggKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPiAgaW5jbHVkZS9saW51eC9tZmQvYXRtZWwtbGNkYy5oIHwgMTg0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDQgZmlsZXMgY2hhbmdlZCwgMzUz IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWZkL2F0bWVsLWxj ZGMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9tZmQvYXRtZWwtbGNkYy5o Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL0tjb25maWcgYi9kcml2ZXJzL21mZC9LY29u ZmlnCj4gaW5kZXggYjg2MGViNWFhMTk0Li5mNDg1MWYwZjAzM2YgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9tZmQvS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvbWZkL0tjb25maWcKPiBAQCAtMTIxLDYg KzEyMSwxNiBAQCBjb25maWcgTUZEX0FUTUVMX0hMQ0RDCj4gIAkgIGFkZGl0aW9uYWwgZHJpdmVy cyBtdXN0IGJlIGVuYWJsZWQgaW4gb3JkZXIgdG8gdXNlIHRoZQo+ICAJICBmdW5jdGlvbmFsaXR5 IG9mIHRoZSBkZXZpY2UuCj4gIAo+ICtjb25maWcgTUZEX0FUTUVMX0xDREMKPiArCXRyaXN0YXRl ICJBdG1lbCBMQ0RDIChMQ0QgQ29udHJvbGxlcikiCj4gKwlzZWxlY3QgTUZEX0NPUkUKPiArCWRl cGVuZHMgb24gT0YKPiArCWhlbHAKPiArCSAgSWYgeW91IHNheSB5ZXMgaGVyZSB5b3UgZ2V0IHN1 cHBvcnQgZm9yIHRoZSBMQ0RDIGJsb2NrLgo+ICsJICBUaGlzIGRyaXZlciBwcm92aWRlcyBjb21t b24gc3VwcG9ydCBmb3IgYWNjZXNzaW5nIHRoZSBkZXZpY2UsCj4gKwkgIGFkZGl0aW9uYWwgZHJp dmVycyBtdXN0IGJlIGVuYWJsZWQgaW4gb3JkZXIgdG8gdXNlIHRoZQo+ICsJICBmdW5jdGlvbmFs aXR5IG9mIHRoZSBkZXZpY2UuCj4gKwo+ICBjb25maWcgTUZEX0FUTUVMX1NNQwo+ICAJYm9vbAo+ ICAJc2VsZWN0IE1GRF9TWVNDT04KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvTWFrZWZpbGUg Yi9kcml2ZXJzL21mZC9NYWtlZmlsZQo+IGluZGV4IGU5ZmQyMGRiYTE4ZC4uZGJhODQ2NWUwZDk2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9tZmQv TWFrZWZpbGUKPiBAQCAtMTg2LDYgKzE4Niw3IEBAIG9iai0kKENPTkZJR19NRkRfVFBTNjUwOTAp CSs9IHRwczY1MDkwLm8KPiAgb2JqLSQoQ09ORklHX01GRF9BQVQyODcwX0NPUkUpCSs9IGFhdDI4 NzAtY29yZS5vCj4gIG9iai0kKENPTkZJR19NRkRfQVRNRUxfRkxFWENPTSkJKz0gYXRtZWwtZmxl eGNvbS5vCj4gIG9iai0kKENPTkZJR19NRkRfQVRNRUxfSExDREMpCSs9IGF0bWVsLWhsY2RjLm8K PiArb2JqLSQoQ09ORklHX01GRF9BVE1FTF9MQ0RDKQkrPSBhdG1lbC1sY2RjLm8KPiAgb2JqLSQo Q09ORklHX01GRF9BVE1FTF9TTUMpCSs9IGF0bWVsLXNtYy5vCj4gIG9iai0kKENPTkZJR19NRkRf SU5URUxfTFBTUykJKz0gaW50ZWwtbHBzcy5vCj4gIG9iai0kKENPTkZJR19NRkRfSU5URUxfTFBT U19QQ0kpCSs9IGludGVsLWxwc3MtcGNpLm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvYXRt ZWwtbGNkYy5jIGIvZHJpdmVycy9tZmQvYXRtZWwtbGNkYy5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjg5Mjg5NzZiYWZjYQo+IC0tLSAvZGV2L251bGwKPiAr KysgYi9kcml2ZXJzL21mZC9hdG1lbC1sY2RjLmMKPiBAQCAtMCwwICsxLDE1OCBAQAo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKEMp IDIwMTggU2FtIFJhdm5ib3JnCj4gKyAqCj4gKyAqIEF1dGhvcjogU2FtIFJhdm5ib3JnIDxzYW1A cmF2bmJvcmcub3JnPgo+ICsgKgo+ICsgKiBCYXNlZCBvbiBhdG1lbC1obGNkYy5jIHdpY2ggaXM6 Cj4gKyAqIENvcHlyaWdodCAoQykgMjAxNCBGcmVlIEVsZWN0cm9ucwo+ICsgKiBDb3B5cmlnaHQg KEMpIDIwMTQgQXRtZWwKPiArICogQXV0aG9yOiBCb3JpcyBCUkVaSUxMT04gPGJvcmlzLmJyZXpp bGxvbkBmcmVlLWVsZWN0cm9ucy5jb20+Cj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L21m ZC9hdG1lbC1sY2RjLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tZmQvY29yZS5oPgo+ICsjaW5jbHVk ZSA8bGludXgvbW9kdWxlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4KPiArI2luY2x1 ZGUgPGxpbnV4L2Nsay5oPgo+ICsjaW5jbHVkZSA8bGludXgvaW8uaD4KPiArCj4gKyNkZWZpbmUg QVRNRUxfTENEQ19SRUdfTUFYCQkoMHgxMDAwIC0gMHg0KQo+ICsKPiArc3RydWN0IGxjZGNfcmVn bWFwIHsKPiArCXZvaWQgX19pb21lbSAqcmVnczsKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBz dHJ1Y3QgbWZkX2NlbGwgbGNkY19jZWxsc1tdID0gewo+ICsJewo+ICsJCS5uYW1lID0gImF0bWVs LWxjZGMtcHdtIiwKPiArCQkub2ZfY29tcGF0aWJsZSA9ICJhdG1lbCxsY2RjLXB3bSIsCj4gKwl9 LAo+ICsJewo+ICsJCS5uYW1lID0gImF0bWVsLWxjZGMtZGMiLAo+ICsJCS5vZl9jb21wYXRpYmxl ID0gImF0bWVsLGxjZGMtZGlzcGxheS1jb250cm9sbGVyIiwKPiArCX0sCj4gK307Cj4gKwo+ICtz dGF0aWMgaW50IHJlZ21hcF9sY2RjX3JlZ193cml0ZSh2b2lkICpjb250ZXh0LCB1bnNpZ25lZCBp bnQgcmVnLAo+ICsJCQkJIHVuc2lnbmVkIGludCB2YWwpCj4gK3sKPiArCXN0cnVjdCBsY2RjX3Jl Z21hcCAqcmVnbWFwID0gY29udGV4dDsKPiArCj4gKwl3cml0ZWwodmFsLCByZWdtYXAtPnJlZ3Mg KyByZWcpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHJlZ21hcF9s Y2RjX3JlZ19yZWFkKHZvaWQgKmNvbnRleHQsIHVuc2lnbmVkIGludCByZWcsCj4gKwkJCQl1bnNp Z25lZCBpbnQgKnZhbCkKPiArewo+ICsJc3RydWN0IGxjZGNfcmVnbWFwICpyZWdtYXAgPSBjb250 ZXh0Owo+ICsKPiArCSp2YWwgPSByZWFkbChyZWdtYXAtPnJlZ3MgKyByZWcpOwo+ICsKPiArCXJl dHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9jb25maWcgbGNk Y19yZWdtYXBfY29uZmlnID0gewo+ICsJLnJlZ19iaXRzID0gMzIsCj4gKwkudmFsX2JpdHMgPSAz MiwKPiArCS5yZWdfc3RyaWRlID0gNCwKPiArCS5tYXhfcmVnaXN0ZXIgPSBBVE1FTF9MQ0RDX1JF R19NQVgsCj4gKwkucmVnX3dyaXRlID0gcmVnbWFwX2xjZGNfcmVnX3dyaXRlLAo+ICsJLnJlZ19y ZWFkID0gcmVnbWFwX2xjZGNfcmVnX3JlYWQsCj4gKwkuZmFzdF9pbyA9IHRydWUsCj4gK307Cj4g Kwo+ICtzdGF0aWMgaW50IGxjZGNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK PiArewo+ICsJc3RydWN0IGF0bWVsX21mZF9sY2RjICpsY2RjOwo+ICsJc3RydWN0IGxjZGNfcmVn bWFwICpyZWdtYXA7Cj4gKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKPiArCXN0cnVjdCBkZXZpY2Ug KmRldjsKPiArCWludCByZXQ7Cj4gKwo+ICsJZGV2ID0gJnBkZXYtPmRldjsKPiArCj4gKwlyZWdt YXAgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnJlZ21hcCksIEdGUF9LRVJORUwpOwo+ICsJ aWYgKCFyZWdtYXApCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsJbGNkYyA9IGRldm1fa3ph bGxvYyhkZXYsIHNpemVvZigqbGNkYyksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFsY2RjKQo+ICsJ CXJldHVybiAtRU5PTUVNOwo+ICsKPiArCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2 LCBJT1JFU09VUkNFX01FTSwgMCk7Cj4gKwlyZWdtYXAtPnJlZ3MgPSBkZXZtX2lvcmVtYXBfcmVz b3VyY2UoZGV2LCByZXMpOwo+ICsJaWYgKElTX0VSUihyZWdtYXAtPnJlZ3MpKSB7Cj4gKwkJZGV2 X2VycihkZXYsICJGYWlsZWQgdG8gYWxsb2NhdGUgSU8gbWVtICglbGQpXG4iLAo+ICsJCQlQVFJf RVJSKHJlZ21hcC0+cmVncykpOwo+ICsJCXJldHVybiBQVFJfRVJSKHJlZ21hcC0+cmVncyk7Cj4g Kwl9Cj4gKwo+ICsJbGNkYy0+aXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAwKTsKPiArCWlm IChsY2RjLT5pcnEgPCAwKSB7Cj4gKwkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gZ2V0IGlycSAo JWQpXG4iLCBsY2RjLT5pcnEpOwo+ICsJCXJldHVybiBsY2RjLT5pcnE7Cj4gKwl9Cj4gKwo+ICsJ bGNkYy0+bGNkY19jbGsgPSBkZXZtX2Nsa19nZXQoZGV2LCAibGNkY19jbGsiKTsKPiArCWlmIChJ U19FUlIobGNkYy0+bGNkY19jbGspKSB7Cj4gKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0 IGxjZGMgY2xvY2sgKCVsZClcbiIsCj4gKwkJCVBUUl9FUlIobGNkYy0+bGNkY19jbGspKTsKPiAr CQlyZXR1cm4gUFRSX0VSUihsY2RjLT5sY2RjX2Nsayk7Cj4gKwl9Cj4gKwo+ICsJbGNkYy0+YnVz X2NsayA9IGRldm1fY2xrX2dldChkZXYsICJoY2xrIik7Cj4gKwlpZiAoSVNfRVJSKGxjZGMtPmJ1 c19jbGspKSB7Cj4gKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IGJ1cyBjbG9jayAoJWxk KVxuIiwKPiArCQkJUFRSX0VSUihsY2RjLT5idXNfY2xrKSk7Cj4gKwkJcmV0dXJuIFBUUl9FUlIo bGNkYy0+YnVzX2Nsayk7Cj4gKwl9Cj4gKwo+ICsJbGNkYy0+cmVnbWFwID0gZGV2bV9yZWdtYXBf aW5pdChkZXYsIE5VTEwsIHJlZ21hcCwKPiArCQkJCQkgJmxjZGNfcmVnbWFwX2NvbmZpZyk7Cj4g KwlpZiAoSVNfRVJSKGxjZGMtPnJlZ21hcCkpIHsKPiArCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0 byBpbml0IHJlZ21hcCAoJWxkKVxuIiwKPiArCQkJUFRSX0VSUihsY2RjLT5yZWdtYXApKTsKPiAr CQlyZXR1cm4gUFRSX0VSUihsY2RjLT5yZWdtYXApOwo+ICsJfQo+ICsKPiArCWRldl9zZXRfZHJ2 ZGF0YShkZXYsIGxjZGMpOwo+ICsKPiArCXJldCA9IGRldm1fbWZkX2FkZF9kZXZpY2VzKGRldiwg UExBVEZPUk1fREVWSURfTk9ORSwKPiArCQkJCSAgIGxjZGNfY2VsbHMsIEFSUkFZX1NJWkUobGNk Y19jZWxscyksCj4gKwkJCQkgICBOVUxMLCAwLCBOVUxMKTsKPiArCWlmIChyZXQgPCAwKQo+ICsJ CWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGFkZCAlZCBtZmQgZGV2aWNlcyAoJWQpXG4iLAo+ICsJ CQlBUlJBWV9TSVpFKGxjZGNfY2VsbHMpLCByZXQpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30K PiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGxjZGNfbWF0Y2hbXSA9IHsK PiArCXsgLmNvbXBhdGlibGUgPSAiYXRtZWwsYXQ5MXNhbTkyNjEtbGNkYy1tZmQiIH0sCj4gKwl7 IC5jb21wYXRpYmxlID0gImF0bWVsLGF0OTFzYW05MjYzLWxjZGMtbWZkIiB9LAo+ICsJeyAuY29t cGF0aWJsZSA9ICJhdG1lbCxhdDkxc2FtOWcxMC1sY2RjLW1mZCIgfSwKPiArCXsgLmNvbXBhdGli bGUgPSAiYXRtZWwsYXQ5MXNhbTlnNDUtbGNkYy1tZmQiIH0sCj4gKwl7IC5jb21wYXRpYmxlID0g ImF0bWVsLGF0OTFzYW05ZzQ2LWxjZGMtbWZkIiB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJhdG1l bCxhdDkxc2FtOW0xMC1sY2RjLW1mZCIgfSwKPiArCXsgLmNvbXBhdGlibGUgPSAiYXRtZWwsYXQ5 MXNhbTltMTEtbGNkYy1tZmQiIH0sCj4gKwl7IC5jb21wYXRpYmxlID0gImF0bWVsLGF0OTFzYW05 cmwtbGNkYy1tZmQiIH0sCj4gKwl7IC8qIHNlbnRpbmVsICovIH0sCj4gK307Cj4gK01PRFVMRV9E RVZJQ0VfVEFCTEUob2YsIGxjZGNfbWF0Y2gpOwo+ICsKPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9y bV9kcml2ZXIgbGNkY19kcml2ZXIgPSB7Cj4gKwkucHJvYmUgPSBsY2RjX3Byb2JlLAo+ICsJLmRy aXZlciA9IHsKPiArCQkubmFtZSA9ICJhdG1lbC1sY2RjIiwKPiArCQkub2ZfbWF0Y2hfdGFibGUg PSBsY2RjX21hdGNoLAo+ICsJfSwKPiArfTsKPiArbW9kdWxlX3BsYXRmb3JtX2RyaXZlcihsY2Rj X2RyaXZlcik7Cj4gKwo+ICtNT0RVTEVfQUxJQVMoInBsYXRmb3JtOmF0bWVsLWxjZGMiKTsKPiAr TU9EVUxFX0FVVEhPUigiU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPiIpOwo+ICtNT0RV TEVfREVTQ1JJUFRJT04oIkF0bWVsIExDREMgbWZkIGRyaXZlciIpOwo+ICtNT0RVTEVfTElDRU5T RSgiR1BMIHYyIik7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWZkL2F0bWVsLWxjZGMu aCBiL2luY2x1ZGUvbGludXgvbWZkL2F0bWVsLWxjZGMuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi5mZGFiMjY5YmFhOGUKPiAtLS0gL2Rldi9udWxsCj4gKysr IGIvaW5jbHVkZS9saW51eC9tZmQvYXRtZWwtbGNkYy5oCj4gQEAgLTAsMCArMSwxODQgQEAKPiAr LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8KPiArLyoKPiArICogQ29weXJp Z2h0IChDKSAyMDE4IFNhbSBSYXZuYm9yZwo+ICsgKgo+ICsgKiBBdXRob3I6IFNhbSBSYXZuYm9y ZyA8c2FtQHJhdm5ib3JnLm9yZz4KPiArICovCj4gKwo+ICsjaWZuZGVmIF9fTElOVVhfTUZEX0xD RENfSAo+ICsjZGVmaW5lIF9fTElOVVhfTUZEX0xDRENfSAo+ICsKPiArI2luY2x1ZGUgPGxpbnV4 L3JlZ21hcC5oPgo+ICsjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gKwo+ICsvKioKPiArICogU3Ry dWN0dXJlIHNoYXJlZCBieSB0aGUgQXRtZWwgTENEIENvbnRyb2xsZXIgZGV2aWNlIGFuZCBpdHMg c3ViLWRldmljZXMuCj4gKyAqCj4gKyAqIEByZWdtYXA6IHJlZ2lzdGVyIG1hcCB1c2VkIHRvIGFj Y2VzcyBMQ0RDIElQIHJlZ2lzdGVycwo+ICsgKiBAbGNkY19jbGs6IHRoZSBsY2QgY29udHJvbGxl ciBwZXJpcGhlcmFsIGNsb2NrCj4gKyAqIEBidXNfY2xrOiB0aGUgYnVzIGNsb2NrIGNsb2NrIChv ZnRlbiB0aGUgc2FtZSBhcyBsY2RjX2NsaykKPiArICogQGlycTogdGhlIGxjZGMgaXJxCj4gKyAq Lwo+ICtzdHJ1Y3QgYXRtZWxfbWZkX2xjZGMgewo+ICsJc3RydWN0IHJlZ21hcCAqcmVnbWFwOwo+ ICsJc3RydWN0IGNsayAqbGNkY19jbGs7Cj4gKwlzdHJ1Y3QgY2xrICpidXNfY2xrOwo+ICsJaW50 IGlycTsKPiArfTsKPiArCj4gKyNkZWZpbmUgQVRNRUxfTENEQ19ETUFCQUREUjEJMHgwMAo+ICsj ZGVmaW5lIEFUTUVMX0xDRENfRE1BQkFERFIyCTB4MDQKPiArI2RlZmluZSBBVE1FTF9MQ0RDX0RN QUZSTVBUMQkweDA4Cj4gKyNkZWZpbmUgQVRNRUxfTENEQ19ETUFGUk1QVDIJMHgwYwo+ICsjZGVm aW5lIEFUTUVMX0xDRENfRE1BRlJNQUREMQkweDEwCj4gKyNkZWZpbmUgQVRNRUxfTENEQ19ETUFG Uk1BREQyCTB4MTQKPiArCj4gKyNkZWZpbmUgQVRNRUxfTENEQ19ETUFGUk1DRkcJMHgxOAo+ICsj ZGVmaW5lCUFUTUVMX0xDRENfRlJTSVpFCSgweDdmZmZmZiA8PCAgMCkKPiArI2RlZmluZQlBVE1F TF9MQ0RDX0JMRU5HVEhfT0ZGU0VUCTI0Cj4gKyNkZWZpbmUJQVRNRUxfTENEQ19CTEVOR1RICSgw eDdmICAgICA8PCBBVE1FTF9MQ0RDX0JMRU5HVEhfT0ZGU0VUKQo+ICsKPiArI2RlZmluZSBBVE1F TF9MQ0RDX0RNQUNPTgkweDFjCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19ETUFFTgkoMHgxIDw8IDAp Cj4gKyNkZWZpbmUJQVRNRUxfTENEQ19ETUFSU1QJKDB4MSA8PCAxKQo+ICsjZGVmaW5lCUFUTUVM X0xDRENfRE1BQlVTWQkoMHgxIDw8IDIpCj4gKyNkZWZpbmUJCUFUTUVMX0xDRENfRE1BVVBEVAko MHgxIDw8IDMpCj4gKyNkZWZpbmUJCUFUTUVMX0xDRENfRE1BMkRFTgkoMHgxIDw8IDQpCj4gKwo+ ICsjZGVmaW5lIEFUTUVMX0xDRENfRE1BMkRDRkcJMHgyMAo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RD X0FERFJJTkNfT0ZGU0VUCTAKPiArI2RlZmluZQkJQVRNRUxfTENEQ19BRERSSU5DCQkoMHhmZmZm KQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX1BJWEVMT0ZGX09GRlNFVAkyNAo+ICsjZGVmaW5lCQlB VE1FTF9MQ0RDX1BJWEVMT0ZGCQkoMHgxZiA8PCAyNCkKPiArCj4gKyNkZWZpbmUgQVRNRUxfTENE Q19MQ0RDT04xCTB4MDgwMAo+ICsjZGVmaW5lCUFUTUVMX0xDRENfQllQQVNTCSgxICAgICA8PCAg MCkKPiArI2RlZmluZQlBVE1FTF9MQ0RDX0NMS1ZBTF9PRkZTRVQJMTIKPiArI2RlZmluZQlBVE1F TF9MQ0RDX0NMS1ZBTAkoMHgxZmYgPDwgQVRNRUxfTENEQ19DTEtWQUxfT0ZGU0VUKQo+ICsjZGVm aW5lCUFUTUVMX0xDRENfTElOQ05UCSgweDdmZiA8PCAyMSkKPiArCj4gKyNkZWZpbmUgQVRNRUxf TENEQ19MQ0RDT04yCTB4MDgwNAo+ICsjZGVmaW5lCUFUTUVMX0xDRENfRElTVFlQRQkoMyA8PCAw KQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX0RJU1RZUEVfU1ROTU9OTwkoMCA8PCAwKQo+ICsjZGVm aW5lCQlBVE1FTF9MQ0RDX0RJU1RZUEVfU1ROQ09MT1IJKDEgPDwgMCkKPiArI2RlZmluZQkJQVRN RUxfTENEQ19ESVNUWVBFX1RGVAkJKDIgPDwgMCkKPiArI2RlZmluZQlBVE1FTF9MQ0RDX1NDQU5N T0QJKDEgPDwgMikKPiArI2RlZmluZQkJQVRNRUxfTENEQ19TQ0FOTU9EX1NJTkdMRQkoMCA8PCAy KQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX1NDQU5NT0RfRFVBTAkJKDEgPDwgMikKPiArI2RlZmlu ZQlBVE1FTF9MQ0RDX0lGV0lEVEgJKDMgPDwgMykKPiArI2RlZmluZQkJQVRNRUxfTENEQ19JRldJ RFRIXzQJCSgwIDw8IDMpCj4gKyNkZWZpbmUJCUFUTUVMX0xDRENfSUZXSURUSF84CQkoMSA8PCAz KQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX0lGV0lEVEhfMTYJCSgyIDw8IDMpCj4gKyNkZWZpbmUJ QVRNRUxfTENEQ19QSVhFTFNJWkUJKDcgPDwgNSkKPiArI2RlZmluZQkJQVRNRUxfTENEQ19QSVhF TFNJWkVfMQkJKDAgPDwgNSkKPiArI2RlZmluZQkJQVRNRUxfTENEQ19QSVhFTFNJWkVfMgkJKDEg PDwgNSkKPiArI2RlZmluZQkJQVRNRUxfTENEQ19QSVhFTFNJWkVfNAkJKDIgPDwgNSkKPiArI2Rl ZmluZQkJQVRNRUxfTENEQ19QSVhFTFNJWkVfOAkJKDMgPDwgNSkKPiArI2RlZmluZQkJQVRNRUxf TENEQ19QSVhFTFNJWkVfMTYJCSg0IDw8IDUpCj4gKyNkZWZpbmUJCUFUTUVMX0xDRENfUElYRUxT SVpFXzI0CQkoNSA8PCA1KQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX1BJWEVMU0laRV8zMgkJKDYg PDwgNSkKPiArI2RlZmluZQlBVE1FTF9MQ0RDX0lOVlZECSgxIDw8IDgpCj4gKyNkZWZpbmUJCUFU TUVMX0xDRENfSU5WVkRfTk9STUFMCQkoMCA8PCA4KQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX0lO VlZEX0lOVkVSVEVECSgxIDw8IDgpCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19JTlZGUkFNRQkoMSA8 PCA5KQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX0lOVkZSQU1FX05PUk1BTAkoMCA8PCA5KQo+ICsj ZGVmaW5lCQlBVE1FTF9MQ0RDX0lOVkZSQU1FX0lOVkVSVEVECSgxIDw8IDkpCj4gKyNkZWZpbmUJ QVRNRUxfTENEQ19JTlZMSU5FCSgxIDw8IDEwKQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX0lOVkxJ TkVfTk9STUFMCSgwIDw8IDEwKQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX0lOVkxJTkVfSU5WRVJU RUQJKDEgPDwgMTApCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19JTlZDTEsJKDEgPDwgMTEpCj4gKyNk ZWZpbmUJCUFUTUVMX0xDRENfSU5WQ0xLX05PUk1BTAkoMCA8PCAxMSkKPiArI2RlZmluZQkJQVRN RUxfTENEQ19JTlZDTEtfSU5WRVJURUQJKDEgPDwgMTEpCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19J TlZEVkFMCSgxIDw8IDEyKQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX0lOVkRWQUxfTk9STUFMCSgw IDw8IDEyKQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX0lOVkRWQUxfSU5WRVJURUQJKDEgPDwgMTIp Cj4gKyNkZWZpbmUJQVRNRUxfTENEQ19DTEtNT0QJKDEgPDwgMTUpCj4gKyNkZWZpbmUJCUFUTUVM X0xDRENfQ0xLTU9EX0FDVElWRURJU1BMQVkJKDAgPDwgMTUpCj4gKyNkZWZpbmUJCUFUTUVMX0xD RENfQ0xLTU9EX0FMV0FZU0FDVElWRQkoMSA8PCAxNSkKPiArI2RlZmluZQlBVE1FTF9MQ0RDX01F TU9SCSgxIDw8IDMxKQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RDX01FTU9SX0JJRwkJKDAgPDwgMzEp Cj4gKyNkZWZpbmUJCUFUTUVMX0xDRENfTUVNT1JfTElUVExFCQkoMSA8PCAzMSkKPiArCj4gKyNk ZWZpbmUgQVRNRUxfTENEQ19USU0xCQkweDA4MDgKPiArI2RlZmluZQlBVE1FTF9MQ0RDX1ZGUF9P RkZTRVQJCTAKPiArI2RlZmluZQlBVE1FTF9MQ0RDX1ZGUAkJKDB4ZmZVIDw8ICAwKQo+ICsjZGVm aW5lCUFUTUVMX0xDRENfVkJQX09GRlNFVAkJOAo+ICsjZGVmaW5lCUFUTUVMX0xDRENfVkJQCQko MHhmZlUgPDwgIEFUTUVMX0xDRENfVkJQX09GRlNFVCkKPiArI2RlZmluZQlBVE1FTF9MQ0RDX1ZQ V19PRkZTRVQJCTE2Cj4gKyNkZWZpbmUJQVRNRUxfTENEQ19WUFcJCSgweDNmVSA8PCBBVE1FTF9M Q0RDX1ZQV19PRkZTRVQpCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19WSERMWV9PRkZTRVQJCTI0Cj4g KyNkZWZpbmUJQVRNRUxfTENEQ19WSERMWQkoMHhmVSAgPDwgQVRNRUxfTENEQ19WSERMWV9PRkZT RVQpCj4gKwo+ICsjZGVmaW5lIEFUTUVMX0xDRENfVElNMgkJMHgwODBjCj4gKyNkZWZpbmUJQVRN RUxfTENEQ19IQlBfT0ZGU0VUCQkwCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19IQlAJCSgweGZmVSAg PDwgIDApCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19IUFdfT0ZGU0VUCQk4Cj4gKyNkZWZpbmUJQVRN RUxfTENEQ19IUFcJCSgweDNmVSAgPDwgIEFUTUVMX0xDRENfSFBXX09GRlNFVCkKPiArI2RlZmlu ZQlBVE1FTF9MQ0RDX0hGUF9PRkZTRVQJCTIxCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19IRlAJCSgw eDdmZlUgPDwgQVRNRUxfTENEQ19IRlBfT0ZGU0VUKQo+ICsKPiArI2RlZmluZSBBVE1FTF9MQ0RD X0xDREZSTUNGRwkweDA4MTAKPiArI2RlZmluZQlBVE1FTF9MQ0RDX0xJTkVWQUwJKDB4N2ZmIDw8 ICAwKQo+ICsjZGVmaW5lCUFUTUVMX0xDRENfSE9aVkFMX09GRlNFVAkyMQo+ICsjZGVmaW5lCUFU TUVMX0xDRENfSE9aVkFMCSgweDdmZiA8PCBBVE1FTF9MQ0RDX0hPWlZBTF9PRkZTRVQpCj4gKwo+ ICsjZGVmaW5lIEFUTUVMX0xDRENfRklGTwkJMHgwODE0Cj4gKyNkZWZpbmUJQVRNRUxfTENEQ19G SUZPVEgJKDB4ZmZmZikKPiArCj4gKyNkZWZpbmUgQVRNRUxfTENEQ19NVkFMCQkweDA4MTgKPiAr Cj4gKyNkZWZpbmUgQVRNRUxfTENEQ19EUDFfMgkweDA4MWMKPiArI2RlZmluZSBBVE1FTF9MQ0RD X0RQNF83CTB4MDgyMAo+ICsjZGVmaW5lIEFUTUVMX0xDRENfRFAzXzUJMHgwODI0Cj4gKyNkZWZp bmUgQVRNRUxfTENEQ19EUDJfMwkweDA4MjgKPiArI2RlZmluZSBBVE1FTF9MQ0RDX0RQNV83CTB4 MDgyYwo+ICsjZGVmaW5lIEFUTUVMX0xDRENfRFAzXzQJMHgwODMwCj4gKyNkZWZpbmUgQVRNRUxf TENEQ19EUDRfNQkweDA4MzQKPiArI2RlZmluZSBBVE1FTF9MQ0RDX0RQNl83CTB4MDgzOAo+ICsj ZGVmaW5lCUFUTUVMX0xDRENfRFAxXzJfVkFMCSgweGZmKQo+ICsjZGVmaW5lCUFUTUVMX0xDRENf RFA0XzdfVkFMCSgweGZmZmZmZmYpCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19EUDNfNV9WQUwJKDB4 ZmZmZmYpCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19EUDJfM19WQUwJKDB4ZmZmKQo+ICsjZGVmaW5l CUFUTUVMX0xDRENfRFA1XzdfVkFMCSgweGZmZmZmZmYpCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19E UDNfNF9WQUwJKDB4ZmZmZikKPiArI2RlZmluZQlBVE1FTF9MQ0RDX0RQNF81X1ZBTAkoMHhmZmZm ZikKPiArI2RlZmluZQlBVE1FTF9MQ0RDX0RQNl83X1ZBTAkoMHhmZmZmZmZmKQo+ICsKPiArI2Rl ZmluZSBBVE1FTF9MQ0RDX1BXUkNPTgkweDA4M2MKPiArI2RlZmluZQlBVE1FTF9MQ0RDX1BXUgkJ KDEgICAgPDwgIDApCj4gKyNkZWZpbmUJQVRNRUxfTENEQ19HVUFSRFRfT0ZGU0VUCTEKPiArI2Rl ZmluZQlBVE1FTF9MQ0RDX0dVQVJEVAkoMHg3ZiA8PCAgQVRNRUxfTENEQ19HVUFSRFRfT0ZGU0VU KQo+ICsjZGVmaW5lCUFUTUVMX0xDRENfQlVTWQkJKDEgICAgPDwgMzEpCj4gKwo+ICsjZGVmaW5l IEFUTUVMX0xDRENfQ09OVFJBU1RfQ1RSCTB4MDg0MAo+ICsjZGVmaW5lCUFUTUVMX0xDRENfUFMJ CSgzIDw8IDApCj4gKyNkZWZpbmUJCUFUTUVMX0xDRENfUFNfRElWMQkJKDAgPDwgMCkKPiArI2Rl ZmluZQkJQVRNRUxfTENEQ19QU19ESVYyCQkoMSA8PCAwKQo+ICsjZGVmaW5lCQlBVE1FTF9MQ0RD X1BTX0RJVjQJCSgyIDw8IDApCj4gKyNkZWZpbmUJCUFUTUVMX0xDRENfUFNfRElWOAkJKDMgPDwg MCkKPiArI2RlZmluZQlBVE1FTF9MQ0RDX1BPTAkJKDEgPDwgMikKPiArI2RlZmluZQkJQVRNRUxf TENEQ19QT0xfTkVHQVRJVkUJCSgwIDw8IDIpCj4gKyNkZWZpbmUJCUFUTUVMX0xDRENfUE9MX1BP U0lUSVZFCQkoMSA8PCAyKQo+ICsjZGVmaW5lCUFUTUVMX0xDRENfRU5BCQkoMSA8PCAzKQo+ICsj ZGVmaW5lCQlBVE1FTF9MQ0RDX0VOQV9QV01ESVNBQkxFCSgwIDw8IDMpCj4gKyNkZWZpbmUJCUFU TUVMX0xDRENfRU5BX1BXTUVOQUJMRQkoMSA8PCAzKQo+ICsKPiArI2RlZmluZSBBVE1FTF9MQ0RD X0NPTlRSQVNUX1ZBTAkweDA4NDQKPiArI2RlZmluZQlBVE1FTF9MQ0RDX0NWQUwJKDB4ZmYpCj4g Kwo+ICsjZGVmaW5lIEFUTUVMX0xDRENfSUVSCQkweDA4NDgKPiArI2RlZmluZSBBVE1FTF9MQ0RD X0lEUgkJMHgwODRjCj4gKyNkZWZpbmUgQVRNRUxfTENEQ19JTVIJCTB4MDg1MAo+ICsjZGVmaW5l IEFUTUVMX0xDRENfSVNSCQkweDA4NTQKPiArI2RlZmluZSBBVE1FTF9MQ0RDX0lDUgkJMHgwODU4 Cj4gKyNkZWZpbmUJQVRNRUxfTENEQ19MTkkJCSgxIDw8IDApCj4gKyNkZWZpbmUJQVRNRUxfTENE Q19MU1RMTkkJKDEgPDwgMSkKPiArI2RlZmluZQlBVE1FTF9MQ0RDX0VPRkkJCSgxIDw8IDIpCj4g KyNkZWZpbmUJQVRNRUxfTENEQ19VRkxXSQkoMSA8PCA0KQo+ICsjZGVmaW5lCUFUTUVMX0xDRENf T1dSSQkJKDEgPDwgNSkKPiArI2RlZmluZQlBVE1FTF9MQ0RDX01FUkkJCSgxIDw8IDYpCj4gKwo+ ICsjZGVmaW5lIEFUTUVMX0xDRENfTFVUKG4pCSgweDBjMDAgKyAoKG4pKjQpKQo+ICsjZGVmaW5l IEFUTUVMX0xDRENfTFVUX1NJWkUJMjU2Cj4gKwo+ICsjZW5kaWYgLyogX19MSU5VWF9NRkRfTENE Q19IICovCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK