From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH 02/10] drm: Extract drm_bridge.h Date: Fri, 2 Sep 2016 14:55:57 +0530 Message-ID: <57C945A5.8030902@codeaurora.org> References: <20160831160913.12991-1-daniel.vetter@ffwll.ch> <20160831160913.12991-3-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160831160913.12991-3-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , DRI Development Cc: Daniel Vetter , Intel Graphics Development , Archit Taneja List-Id: dri-devel@lists.freedesktop.org CgpPbiA4LzMxLzIwMTYgOTozOSBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBXZSBkb24ndCB3 YW50IHRvIGJ1cnJ5IHRoZSBicmlkZ2Ugc3RydWN0dXJlcyBrZXJuZWxkb2MgaW4gZHJtX2NydGMu aC4KPgo+IENjOiBBcmNoaXQgVGFuZWphIDxhcmNoaXQudGFuZWphQGdtYWlsLmNvbT4KClJldmll d2VkLWJ5OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgoKPiBTaWduZWQt b2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiAtLS0KPiAg IERvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QgfCAgIDcgKysKPiAgIGRyaXZl cnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMgICAgICAgICAgfCAgIDUgKy0KPiAgIGluY2x1ZGUvZHJt L2RybV9icmlkZ2UuaCAgICAgICAgICAgICAgfCAyMTggKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwo+ICAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgICB8ICAg NCArCj4gICBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAgICAgICAgICAgIHwgMTg3ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICBpbmNsdWRlL2RybS9kcm1fbW9kZV9vYmplY3Qu aCAgICAgICAgIHwgICAxICsKPiAgIGluY2x1ZGUvZHJtL2RybV9tb2Rlcy5oICAgICAgICAgICAg ICAgfCAgIDQgKwo+ICAgNyBmaWxlcyBjaGFuZ2VkLCAyMzcgaW5zZXJ0aW9ucygrKSwgMTg5IGRl bGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHJtL2RybV9icmlkZ2Uu aAo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3Qg Yi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0Cj4gaW5kZXggNTlmYTNjMTFl ZmFiLi40OGZjNWE5NmJmOTUgMTAwNjQ0Cj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWtt cy1oZWxwZXJzLnJzdAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5y c3QKPiBAQCAtMTI2LDYgKzEyNiwxMyBAQCBEZWZhdWx0IGJyaWRnZSBjYWxsYmFjayBzZXF1ZW5j ZQo+ICAgLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMKPiAgICAg IDpkb2M6IGJyaWRnZSBjYWxsYmFja3MKPgo+ICsKPiArQnJpZGdlIEhlbHBlciBSZWZlcmVuY2UK PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArLi4ga2VybmVsLWRvYzo6IGluY2x1 ZGUvZHJtL2RybV9icmlkZ2UuaAo+ICsgICA6aW50ZXJuYWw6Cj4gKwo+ICAgLi4ga2VybmVsLWRv Yzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMKPiAgICAgIDpleHBvcnQ6Cj4KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9icmlkZ2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYnJpZGdlLmMKPiBpbmRleCA0ODQwNDY2NjRkNmMuLjBlZTA1MmI3YzIxYSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9icmlkZ2UuYwo+IEBAIC0yMywxMCArMjMsOSBAQAo+Cj4gICAjaW5jbHVkZSA8bGludXgv ZXJyLmg+Cj4gICAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9t dXRleC5oPgo+Cj4gLSNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KPiAtCj4gLSNpbmNsdWRlICJk cm0vZHJtUC5oIgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9icmlkZ2UuaD4KPgo+ICAgLyoqCj4gICAg KiBET0M6IG92ZXJ2aWV3Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9icmlkZ2UuaCBi L2luY2x1ZGUvZHJtL2RybV9icmlkZ2UuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMDAwMDAwLi41MzBhMWQ2ZThjZGUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2JyaWRnZS5oCj4gQEAgLTAsMCArMSwyMTggQEAKPiArLyoKPiArICogQ29weXJp Z2h0IChjKSAyMDE2IEludGVsIENvcnBvcmF0aW9uCj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gdG8g dXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29mdHdhcmUgYW5k IGl0cwo+ICsgKiBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBpcyBoZXJlYnkgZ3JhbnRl ZCB3aXRob3V0IGZlZSwgcHJvdmlkZWQgdGhhdAo+ICsgKiB0aGUgYWJvdmUgY29weXJpZ2h0IG5v dGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBhbmQgdGhhdCBib3RoIHRoYXQgY29weXJpZ2h0Cj4g KyAqIG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGlu ZyBkb2N1bWVudGF0aW9uLCBhbmQKPiArICogdGhhdCB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0 IGhvbGRlcnMgbm90IGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3IKPiArICogcHVibGljaXR5IHBl cnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj LAo+ICsgKiB3cml0dGVuIHByaW9yIHBlcm1pc3Npb24uICBUaGUgY29weXJpZ2h0IGhvbGRlcnMg bWFrZSBubyByZXByZXNlbnRhdGlvbnMKPiArICogYWJvdXQgdGhlIHN1aXRhYmlsaXR5IG9mIHRo aXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLiAgSXQgaXMgcHJvdmlkZWQgImFzCj4gKyAqIGlz IiB3aXRob3V0IGV4cHJlc3Mgb3IgaW1wbGllZCB3YXJyYW50eS4KPiArICoKPiArICogVEhFIENP UFlSSUdIVCBIT0xERVJTIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRI SVMgU09GVFdBUkUsCj4gKyAqIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8KPiArICogRVZFTlQgU0hBTEwgVEhFIENP UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SCj4g KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VM VElORyBGUk9NIExPU1MgT0YgVVNFLAo+ICsgKiBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4g QU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSCj4gKyAqIFRPUlRJT1VT IEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1Ig UEVSRk9STUFOQ0UKPiArICogT0YgVEhJUyBTT0ZUV0FSRS4KPiArICovCj4gKwo+ICsjaWZuZGVm IF9fRFJNX0JSSURHRV9IX18KPiArI2RlZmluZSBfX0RSTV9CUklER0VfSF9fCj4gKwo+ICsjaW5j bHVkZSA8bGludXgvbGlzdC5oPgo+ICsjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KPiArI2luY2x1 ZGUgPGRybS9kcm1fbW9kZV9vYmplY3QuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fbW9kZXMuaD4K PiArCj4gK3N0cnVjdCBkcm1fYnJpZGdlOwo+ICsKPiArLyoqCj4gKyAqIHN0cnVjdCBkcm1fYnJp ZGdlX2Z1bmNzIC0gZHJtX2JyaWRnZSBjb250cm9sIGZ1bmN0aW9ucwo+ICsgKi8KPiArc3RydWN0 IGRybV9icmlkZ2VfZnVuY3Mgewo+ICsJLyoqCj4gKwkgKiBAYXR0YWNoOgo+ICsJICoKPiArCSAq IFRoaXMgY2FsbGJhY2sgaXMgaW52b2tlZCB3aGVuZXZlciBvdXIgYnJpZGdlIGlzIGJlaW5nIGF0 dGFjaGVkIHRvIGEKPiArCSAqICZkcm1fZW5jb2Rlci4KPiArCSAqCj4gKwkgKiBUaGUgYXR0YWNo IGNhbGxiYWNrIGlzIG9wdGlvbmFsLgo+ICsJICoKPiArCSAqIFJFVFVSTlM6Cj4gKwkgKgo+ICsJ ICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gKwkgKi8KPiArCWlu dCAoKmF0dGFjaCkoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4gKwo+ICsJLyoqCj4gKwkg KiBAZGV0YWNoOgo+ICsJICoKPiArCSAqIFRoaXMgY2FsbGJhY2sgaXMgaW52b2tlZCB3aGVuZXZl ciBvdXIgYnJpZGdlIGlzIGJlaW5nIGRldGFjaGVkIGZyb20gYQo+ICsJICogJmRybV9lbmNvZGVy Lgo+ICsJICoKPiArCSAqIFRoZSBkZXRhY2ggY2FsbGJhY2sgaXMgb3B0aW9uYWwuCj4gKwkgKi8K PiArCXZvaWQgKCpkZXRhY2gpKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpOwo+ICsKPiArCS8q Kgo+ICsJICogQG1vZGVfZml4dXA6Cj4gKwkgKgo+ICsJICogVGhpcyBjYWxsYmFjayBpcyB1c2Vk IHRvIHZhbGlkYXRlIGFuZCBhZGp1c3QgYSBtb2RlLiBUaGUgcGFyYW1hdGVyCj4gKwkgKiBtb2Rl IGlzIHRoZSBkaXNwbGF5IG1vZGUgdGhhdCBzaG91bGQgYmUgZmVkIHRvIHRoZSBuZXh0IGVsZW1l bnQgaW4KPiArCSAqIHRoZSBkaXNwbGF5IGNoYWluLCBlaXRoZXIgdGhlIGZpbmFsICZkcm1fY29u bmVjdG9yIG9yIHRoZSBuZXh0Cj4gKwkgKiAmZHJtX2JyaWRnZS4gVGhlIHBhcmFtZXRlciBhZGp1 c3RlZF9tb2RlIGlzIHRoZSBpbnB1dCBtb2RlIHRoZSBicmlkZ2UKPiArCSAqIHJlcXVpcmVzLiBJ dCBjYW4gYmUgbW9kaWZpZWQgYnkgdGhpcyBjYWxsYmFjayBhbmQgZG9lcyBub3QgbmVlZCB0bwo+ ICsJICogbWF0Y2ggbW9kZS4KPiArCSAqCj4gKwkgKiBUaGlzIGlzIHRoZSBvbmx5IGhvb2sgdGhh dCBhbGxvd3MgYSBicmlkZ2UgdG8gcmVqZWN0IGEgbW9kZXNldC4gSWYKPiArCSAqIHRoaXMgZnVu Y3Rpb24gcGFzc2VzIGFsbCBvdGhlciBjYWxsYmFja3MgbXVzdCBzdWNjZWVkIGZvciB0aGlzCj4g KwkgKiBjb25maWd1cmF0aW9uLgo+ICsJICoKPiArCSAqIFRoZSBtb2RlX2ZpeHVwIGNhbGxiYWNr IGlzIG9wdGlvbmFsLgo+ICsJICoKPiArCSAqIE5PVEU6Cj4gKwkgKgo+ICsJICogVGhpcyBmdW5j dGlvbiBpcyBjYWxsZWQgaW4gdGhlIGNoZWNrIHBoYXNlIG9mIGF0b21pYyBtb2Rlc2V0cywgd2hp Y2gKPiArCSAqIGNhbiBiZSBhYm9ydGVkIGZvciBhbnkgcmVhc29uIChpbmNsdWRpbmcgb24gdXNl cnNwYWNlJ3MgcmVxdWVzdCB0bwo+ICsJICoganVzdCBjaGVjayB3aGV0aGVyIGEgY29uZmlndXJh dGlvbiB3b3VsZCBiZSBwb3NzaWJsZSkuIERyaXZlcnMgTVVTVAo+ICsJICogTk9UIHRvdWNoIGFu eSBwZXJzaXN0ZW50IHN0YXRlIChoYXJkd2FyZSBvciBzb2Z0d2FyZSkgb3IgZGF0YQo+ICsJICog c3RydWN0dXJlcyBleGNlcHQgdGhlIHBhc3NlZCBpbiBAc3RhdGUgcGFyYW1ldGVyLgo+ICsJICoK PiArCSAqIFJFVFVSTlM6Cj4gKwkgKgo+ICsJICogVHJ1ZSBpZiBhbiBhY2NlcHRhYmxlIGNvbmZp Z3VyYXRpb24gaXMgcG9zc2libGUsIGZhbHNlIGlmIHRoZSBtb2Rlc2V0Cj4gKwkgKiBvcGVyYXRp b24gc2hvdWxkIGJlIHJlamVjdGVkLgo+ICsJICovCj4gKwlib29sICgqbW9kZV9maXh1cCkoc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiArCQkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUsCj4gKwkJCSAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9t b2RlKTsKPiArCS8qKgo+ICsJICogQGRpc2FibGU6Cj4gKwkgKgo+ICsJICogVGhpcyBjYWxsYmFj ayBzaG91bGQgZGlzYWJsZSB0aGUgYnJpZGdlLiBJdCBpcyBjYWxsZWQgcmlnaHQgYmVmb3JlCj4g KwkgKiB0aGUgcHJlY2VkaW5nIGVsZW1lbnQgaW4gdGhlIGRpc3BsYXkgcGlwZSBpcyBkaXNhYmxl ZC4gSWYgdGhlCj4gKwkgKiBwcmVjZWRpbmcgZWxlbWVudCBpcyBhIGJyaWRnZSB0aGlzIG1lYW5z IGl0J3MgY2FsbGVkIGJlZm9yZSB0aGF0Cj4gKwkgKiBicmlkZ2UncyAtPmRpc2FibGUoKSBmdW5j dGlvbi4gSWYgdGhlIHByZWNlZGluZyBlbGVtZW50IGlzIGEKPiArCSAqICZkcm1fZW5jb2RlciBp dCdzIGNhbGxlZCByaWdodCBiZWZvcmUgdGhlIGVuY29kZXIncyAtPmRpc2FibGUoKSwKPiArCSAq IC0+cHJlcGFyZSgpIG9yIC0+ZHBtcygpIGhvb2sgZnJvbSBzdHJ1Y3QgJmRybV9lbmNvZGVyX2hl bHBlcl9mdW5jcy4KPiArCSAqCj4gKwkgKiBUaGUgYnJpZGdlIGNhbiBhc3N1bWUgdGhhdCB0aGUg ZGlzcGxheSBwaXBlIChpLmUuIGNsb2NrcyBhbmQgdGltaW5nCj4gKwkgKiBzaWduYWxzKSBmZWVk aW5nIGl0IGlzIHN0aWxsIHJ1bm5pbmcgd2hlbiB0aGlzIGNhbGxiYWNrIGlzIGNhbGxlZC4KPiAr CSAqCj4gKwkgKiBUaGUgZGlzYWJsZSBjYWxsYmFjayBpcyBvcHRpb25hbC4KPiArCSAqLwo+ICsJ dm9pZCAoKmRpc2FibGUpKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpOwo+ICsKPiArCS8qKgo+ ICsJICogQHBvc3RfZGlzYWJsZToKPiArCSAqCj4gKwkgKiBUaGlzIGNhbGxiYWNrIHNob3VsZCBk aXNhYmxlIHRoZSBicmlkZ2UuIEl0IGlzIGNhbGxlZCByaWdodCBhZnRlcgo+ICsJICogdGhlIHBy ZWNlZGluZyBlbGVtZW50IGluIHRoZSBkaXNwbGF5IHBpcGUgaXMgZGlzYWJsZWQuIElmIHRoZQo+ ICsJICogcHJlY2VkaW5nIGVsZW1lbnQgaXMgYSBicmlkZ2UgdGhpcyBtZWFucyBpdCdzIGNhbGxl ZCBhZnRlciB0aGF0Cj4gKwkgKiBicmlkZ2UncyAtPnBvc3RfZGlzYWJsZSgpIGZ1bmN0aW9uLiBJ ZiB0aGUgcHJlY2VkaW5nIGVsZW1lbnQgaXMgYQo+ICsJICogJmRybV9lbmNvZGVyIGl0J3MgY2Fs bGVkIHJpZ2h0IGFmdGVyIHRoZSBlbmNvZGVyJ3MgLT5kaXNhYmxlKCksCj4gKwkgKiAtPnByZXBh cmUoKSBvciAtPmRwbXMoKSBob29rIGZyb20gc3RydWN0ICZkcm1fZW5jb2Rlcl9oZWxwZXJfZnVu Y3MuCj4gKwkgKgo+ICsJICogVGhlIGJyaWRnZSBtdXN0IGFzc3VtZSB0aGF0IHRoZSBkaXNwbGF5 IHBpcGUgKGkuZS4gY2xvY2tzIGFuZCB0aW1pbmcKPiArCSAqIHNpbmdhbHMpIGZlZWRpbmcgaXQg aXMgbm8gbG9uZ2VyIHJ1bm5pbmcgd2hlbiB0aGlzIGNhbGxiYWNrIGlzCj4gKwkgKiBjYWxsZWQu Cj4gKwkgKgo+ICsJICogVGhlIHBvc3RfZGlzYWJsZSBjYWxsYmFjayBpcyBvcHRpb25hbC4KPiAr CSAqLwo+ICsJdm9pZCAoKnBvc3RfZGlzYWJsZSkoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7 Cj4gKwo+ICsJLyoqCj4gKwkgKiBAbW9kZV9zZXQ6Cj4gKwkgKgo+ICsJICogVGhpcyBjYWxsYmFj ayBzaG91bGQgc2V0IHRoZSBnaXZlbiBtb2RlIG9uIHRoZSBicmlkZ2UuIEl0IGlzIGNhbGxlZAo+ ICsJICogYWZ0ZXIgdGhlIC0+bW9kZV9zZXQoKSBjYWxsYmFjayBmb3IgdGhlIHByZWNlZGluZyBl bGVtZW50IGluIHRoZQo+ICsJICogZGlzcGxheSBwaXBlbGluZSBoYXMgYmVlbiBjYWxsZWQgYWxy ZWFkeS4gVGhlIGRpc3BsYXkgcGlwZSAoaS5lLgo+ICsJICogY2xvY2tzIGFuZCB0aW1pbmcgc2ln bmFscykgaXMgb2ZmIHdoZW4gdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuCj4gKwkgKi8KPiArCXZv aWQgKCptb2RlX3NldCkoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiArCQkJIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICsJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFk anVzdGVkX21vZGUpOwo+ICsJLyoqCj4gKwkgKiBAcHJlX2VuYWJsZToKPiArCSAqCj4gKwkgKiBU aGlzIGNhbGxiYWNrIHNob3VsZCBlbmFibGUgdGhlIGJyaWRnZS4gSXQgaXMgY2FsbGVkIHJpZ2h0 IGJlZm9yZQo+ICsJICogdGhlIHByZWNlZGluZyBlbGVtZW50IGluIHRoZSBkaXNwbGF5IHBpcGUg aXMgZW5hYmxlZC4gSWYgdGhlCj4gKwkgKiBwcmVjZWRpbmcgZWxlbWVudCBpcyBhIGJyaWRnZSB0 aGlzIG1lYW5zIGl0J3MgY2FsbGVkIGJlZm9yZSB0aGF0Cj4gKwkgKiBicmlkZ2UncyAtPnByZV9l bmFibGUoKSBmdW5jdGlvbi4gSWYgdGhlIHByZWNlZGluZyBlbGVtZW50IGlzIGEKPiArCSAqICZk cm1fZW5jb2RlciBpdCdzIGNhbGxlZCByaWdodCBiZWZvcmUgdGhlIGVuY29kZXIncyAtPmVuYWJs ZSgpLAo+ICsJICogLT5jb21taXQoKSBvciAtPmRwbXMoKSBob29rIGZyb20gc3RydWN0ICZkcm1f ZW5jb2Rlcl9oZWxwZXJfZnVuY3MuCj4gKwkgKgo+ICsJICogVGhlIGRpc3BsYXkgcGlwZSAoaS5l LiBjbG9ja3MgYW5kIHRpbWluZyBzaWduYWxzKSBmZWVkaW5nIHRoaXMgYnJpZGdlCj4gKwkgKiB3 aWxsIG5vdCB5ZXQgYmUgcnVubmluZyB3aGVuIHRoaXMgY2FsbGJhY2sgaXMgY2FsbGVkLiBUaGUg YnJpZGdlIG11c3QKPiArCSAqIG5vdCBlbmFibGUgdGhlIGRpc3BsYXkgbGluayBmZWVkaW5nIHRo ZSBuZXh0IGJyaWRnZSBpbiB0aGUgY2hhaW4gKGlmCj4gKwkgKiB0aGVyZSBpcyBvbmUpIHdoZW4g dGhpcyBjYWxsYmFjayBpcyBjYWxsZWQuCj4gKwkgKgo+ICsJICogVGhlIHByZV9lbmFibGUgY2Fs bGJhY2sgaXMgb3B0aW9uYWwuCj4gKwkgKi8KPiArCXZvaWQgKCpwcmVfZW5hYmxlKShzdHJ1Y3Qg ZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiArCj4gKwkvKioKPiArCSAqIEBlbmFibGU6Cj4gKwkgKgo+ ICsJICogVGhpcyBjYWxsYmFjayBzaG91bGQgZW5hYmxlIHRoZSBicmlkZ2UuIEl0IGlzIGNhbGxl ZCByaWdodCBhZnRlcgo+ICsJICogdGhlIHByZWNlZGluZyBlbGVtZW50IGluIHRoZSBkaXNwbGF5 IHBpcGUgaXMgZW5hYmxlZC4gSWYgdGhlCj4gKwkgKiBwcmVjZWRpbmcgZWxlbWVudCBpcyBhIGJy aWRnZSB0aGlzIG1lYW5zIGl0J3MgY2FsbGVkIGFmdGVyIHRoYXQKPiArCSAqIGJyaWRnZSdzIC0+ ZW5hYmxlKCkgZnVuY3Rpb24uIElmIHRoZSBwcmVjZWRpbmcgZWxlbWVudCBpcyBhCj4gKwkgKiAm ZHJtX2VuY29kZXIgaXQncyBjYWxsZWQgcmlnaHQgYWZ0ZXIgdGhlIGVuY29kZXIncyAtPmVuYWJs ZSgpLAo+ICsJICogLT5jb21taXQoKSBvciAtPmRwbXMoKSBob29rIGZyb20gc3RydWN0ICZkcm1f ZW5jb2Rlcl9oZWxwZXJfZnVuY3MuCj4gKwkgKgo+ICsJICogVGhlIGJyaWRnZSBjYW4gYXNzdW1l IHRoYXQgdGhlIGRpc3BsYXkgcGlwZSAoaS5lLiBjbG9ja3MgYW5kIHRpbWluZwo+ICsJICogc2ln bmFscykgZmVlZGluZyBpdCBpcyBydW5uaW5nIHdoZW4gdGhpcyBjYWxsYmFjayBpcyBjYWxsZWQu IFRoaXMKPiArCSAqIGNhbGxiYWNrIG11c3QgZW5hYmxlIHRoZSBkaXNwbGF5IGxpbmsgZmVlZGlu ZyB0aGUgbmV4dCBicmlkZ2UgaW4gdGhlCj4gKwkgKiBjaGFpbiBpZiB0aGVyZSBpcyBvbmUuCj4g KwkgKgo+ICsJICogVGhlIGVuYWJsZSBjYWxsYmFjayBpcyBvcHRpb25hbC4KPiArCSAqLwo+ICsJ dm9pZCAoKmVuYWJsZSkoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4gK307Cj4gKwo+ICsv KioKPiArICogc3RydWN0IGRybV9icmlkZ2UgLSBjZW50cmFsIERSTSBicmlkZ2UgY29udHJvbCBz dHJ1Y3R1cmUKPiArICogQGRldjogRFJNIGRldmljZSB0aGlzIGJyaWRnZSBiZWxvbmdzIHRvCj4g KyAqIEBlbmNvZGVyOiBlbmNvZGVyIHRvIHdoaWNoIHRoaXMgYnJpZGdlIGlzIGNvbm5lY3RlZAo+ ICsgKiBAbmV4dDogdGhlIG5leHQgYnJpZGdlIGluIHRoZSBlbmNvZGVyIGNoYWluCj4gKyAqIEBv Zl9ub2RlOiBkZXZpY2Ugbm9kZSBwb2ludGVyIHRvIHRoZSBicmlkZ2UKPiArICogQGxpc3Q6IHRv IGtlZXAgdHJhY2sgb2YgYWxsIGFkZGVkIGJyaWRnZXMKPiArICogQGZ1bmNzOiBjb250cm9sIGZ1 bmN0aW9ucwo+ICsgKiBAZHJpdmVyX3ByaXZhdGU6IHBvaW50ZXIgdG8gdGhlIGJyaWRnZSBkcml2 ZXIncyBpbnRlcm5hbCBjb250ZXh0Cj4gKyAqLwo+ICtzdHJ1Y3QgZHJtX2JyaWRnZSB7Cj4gKwlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2Owo+ICsJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ ICsJc3RydWN0IGRybV9icmlkZ2UgKm5leHQ7Cj4gKyNpZmRlZiBDT05GSUdfT0YKPiArCXN0cnVj dCBkZXZpY2Vfbm9kZSAqb2Zfbm9kZTsKPiArI2VuZGlmCj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIGxp c3Q7Cj4gKwo+ICsJY29uc3Qgc3RydWN0IGRybV9icmlkZ2VfZnVuY3MgKmZ1bmNzOwo+ICsJdm9p ZCAqZHJpdmVyX3ByaXZhdGU7Cj4gK307Cj4gKwo+ICtpbnQgZHJtX2JyaWRnZV9hZGQoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4gK3ZvaWQgZHJtX2JyaWRnZV9yZW1vdmUoc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSk7Cj4gK3N0cnVjdCBkcm1fYnJpZGdlICpvZl9kcm1fZmluZF9icmlk Z2Uoc3RydWN0IGRldmljZV9ub2RlICpucCk7Cj4gK2ludCBkcm1fYnJpZGdlX2F0dGFjaChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiArdm9pZCBk cm1fYnJpZGdlX2RldGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiArCj4gK2Jvb2wg ZHJtX2JyaWRnZV9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gKwkJCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICsJCQlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSk7Cj4gK3ZvaWQgZHJtX2JyaWRnZV9kaXNhYmxlKHN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2UpOwo+ICt2b2lkIGRybV9icmlkZ2VfcG9zdF9kaXNhYmxlKHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpOwo+ICt2b2lkIGRybV9icmlkZ2VfbW9kZV9zZXQoc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiArCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUsCj4gKwkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKTsKPiArdm9p ZCBkcm1fYnJpZGdlX3ByZV9lbmFibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4gK3Zv aWQgZHJtX2JyaWRnZV9lbmFibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4gKwo+ICsj ZW5kaWYKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVk ZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gaW5kZXggZTRlNTQ1ZTk1MTZkLi41MWExNWRlZGExNjEg MTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gQEAgLTI3LDYgKzI3LDEwIEBACj4gICAjaW5jbHVkZSA8 bGludXgvY3R5cGUuaD4KPiAgICNpbmNsdWRlIDxkcm0vZHJtX21vZGVfb2JqZWN0Lmg+Cj4KPiAr I2luY2x1ZGUgPHVhcGkvZHJtL2RybV9tb2RlLmg+Cj4gKwo+ICtzdHJ1Y3QgZHJtX2RldmljZTsK PiArCj4gICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3M7Cj4gICBzdHJ1Y3QgZHJt X2RldmljZTsKPiAgIHN0cnVjdCBkcm1fY3J0YzsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBpbmRleCAyYTY0MmFlOTYxMjcu LmJmOWVlMWI5N2MyNiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gKysr IGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+IEBAIC00Miw2ICs0Miw3IEBACj4gICAjaW5jbHVk ZSA8ZHJtL2RybV9jb25uZWN0b3IuaD4KPiAgICNpbmNsdWRlIDxkcm0vZHJtX2VuY29kZXIuaD4K PiAgICNpbmNsdWRlIDxkcm0vZHJtX3Byb3BlcnR5Lmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJtX2Jy aWRnZS5oPgo+Cj4gICBzdHJ1Y3QgZHJtX2RldmljZTsKPiAgIHN0cnVjdCBkcm1fbW9kZV9zZXQ7 Cj4gQEAgLTEwMDEsMTc0ICsxMDAyLDYgQEAgc3RydWN0IGRybV9wbGFuZSB7Cj4gICB9Owo+Cj4g ICAvKioKPiAtICogc3RydWN0IGRybV9icmlkZ2VfZnVuY3MgLSBkcm1fYnJpZGdlIGNvbnRyb2wg ZnVuY3Rpb25zCj4gLSAqLwo+IC1zdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyB7Cj4gLQkvKioKPiAt CSAqIEBhdHRhY2g6Cj4gLQkgKgo+IC0JICogVGhpcyBjYWxsYmFjayBpcyBpbnZva2VkIHdoZW5l dmVyIG91ciBicmlkZ2UgaXMgYmVpbmcgYXR0YWNoZWQgdG8gYQo+IC0JICogJmRybV9lbmNvZGVy Lgo+IC0JICoKPiAtCSAqIFRoZSBhdHRhY2ggY2FsbGJhY2sgaXMgb3B0aW9uYWwuCj4gLQkgKgo+ IC0JICogUkVUVVJOUzoKPiAtCSAqCj4gLQkgKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUg b24gZmFpbHVyZS4KPiAtCSAqLwo+IC0JaW50ICgqYXR0YWNoKShzdHJ1Y3QgZHJtX2JyaWRnZSAq YnJpZGdlKTsKPiAtCj4gLQkvKioKPiAtCSAqIEBkZXRhY2g6Cj4gLQkgKgo+IC0JICogVGhpcyBj YWxsYmFjayBpcyBpbnZva2VkIHdoZW5ldmVyIG91ciBicmlkZ2UgaXMgYmVpbmcgZGV0YWNoZWQg ZnJvbSBhCj4gLQkgKiAmZHJtX2VuY29kZXIuCj4gLQkgKgo+IC0JICogVGhlIGRldGFjaCBjYWxs YmFjayBpcyBvcHRpb25hbC4KPiAtCSAqLwo+IC0Jdm9pZCAoKmRldGFjaCkoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSk7Cj4gLQo+IC0JLyoqCj4gLQkgKiBAbW9kZV9maXh1cDoKPiAtCSAqCj4g LQkgKiBUaGlzIGNhbGxiYWNrIGlzIHVzZWQgdG8gdmFsaWRhdGUgYW5kIGFkanVzdCBhIG1vZGUu IFRoZSBwYXJhbWF0ZXIKPiAtCSAqIG1vZGUgaXMgdGhlIGRpc3BsYXkgbW9kZSB0aGF0IHNob3Vs ZCBiZSBmZWQgdG8gdGhlIG5leHQgZWxlbWVudCBpbgo+IC0JICogdGhlIGRpc3BsYXkgY2hhaW4s IGVpdGhlciB0aGUgZmluYWwgJmRybV9jb25uZWN0b3Igb3IgdGhlIG5leHQKPiAtCSAqICZkcm1f YnJpZGdlLiBUaGUgcGFyYW1ldGVyIGFkanVzdGVkX21vZGUgaXMgdGhlIGlucHV0IG1vZGUgdGhl IGJyaWRnZQo+IC0JICogcmVxdWlyZXMuIEl0IGNhbiBiZSBtb2RpZmllZCBieSB0aGlzIGNhbGxi YWNrIGFuZCBkb2VzIG5vdCBuZWVkIHRvCj4gLQkgKiBtYXRjaCBtb2RlLgo+IC0JICoKPiAtCSAq IFRoaXMgaXMgdGhlIG9ubHkgaG9vayB0aGF0IGFsbG93cyBhIGJyaWRnZSB0byByZWplY3QgYSBt b2Rlc2V0LiBJZgo+IC0JICogdGhpcyBmdW5jdGlvbiBwYXNzZXMgYWxsIG90aGVyIGNhbGxiYWNr cyBtdXN0IHN1Y2NlZWQgZm9yIHRoaXMKPiAtCSAqIGNvbmZpZ3VyYXRpb24uCj4gLQkgKgo+IC0J ICogVGhlIG1vZGVfZml4dXAgY2FsbGJhY2sgaXMgb3B0aW9uYWwuCj4gLQkgKgo+IC0JICogTk9U RToKPiAtCSAqCj4gLQkgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBpbiB0aGUgY2hlY2sgcGhh c2Ugb2YgYXRvbWljIG1vZGVzZXRzLCB3aGljaAo+IC0JICogY2FuIGJlIGFib3J0ZWQgZm9yIGFu eSByZWFzb24gKGluY2x1ZGluZyBvbiB1c2Vyc3BhY2UncyByZXF1ZXN0IHRvCj4gLQkgKiBqdXN0 IGNoZWNrIHdoZXRoZXIgYSBjb25maWd1cmF0aW9uIHdvdWxkIGJlIHBvc3NpYmxlKS4gRHJpdmVy cyBNVVNUCj4gLQkgKiBOT1QgdG91Y2ggYW55IHBlcnNpc3RlbnQgc3RhdGUgKGhhcmR3YXJlIG9y IHNvZnR3YXJlKSBvciBkYXRhCj4gLQkgKiBzdHJ1Y3R1cmVzIGV4Y2VwdCB0aGUgcGFzc2VkIGlu IEBzdGF0ZSBwYXJhbWV0ZXIuCj4gLQkgKgo+IC0JICogUkVUVVJOUzoKPiAtCSAqCj4gLQkgKiBU cnVlIGlmIGFuIGFjY2VwdGFibGUgY29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSwgZmFsc2UgaWYg dGhlIG1vZGVzZXQKPiAtCSAqIG9wZXJhdGlvbiBzaG91bGQgYmUgcmVqZWN0ZWQuCj4gLQkgKi8K PiAtCWJvb2wgKCptb2RlX2ZpeHVwKShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+IC0JCQkg ICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiAtCQkJICAgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpOwo+IC0JLyoqCj4gLQkgKiBAZGlzYWJsZToK PiAtCSAqCj4gLQkgKiBUaGlzIGNhbGxiYWNrIHNob3VsZCBkaXNhYmxlIHRoZSBicmlkZ2UuIEl0 IGlzIGNhbGxlZCByaWdodCBiZWZvcmUKPiAtCSAqIHRoZSBwcmVjZWRpbmcgZWxlbWVudCBpbiB0 aGUgZGlzcGxheSBwaXBlIGlzIGRpc2FibGVkLiBJZiB0aGUKPiAtCSAqIHByZWNlZGluZyBlbGVt ZW50IGlzIGEgYnJpZGdlIHRoaXMgbWVhbnMgaXQncyBjYWxsZWQgYmVmb3JlIHRoYXQKPiAtCSAq IGJyaWRnZSdzIC0+ZGlzYWJsZSgpIGZ1bmN0aW9uLiBJZiB0aGUgcHJlY2VkaW5nIGVsZW1lbnQg aXMgYQo+IC0JICogJmRybV9lbmNvZGVyIGl0J3MgY2FsbGVkIHJpZ2h0IGJlZm9yZSB0aGUgZW5j b2RlcidzIC0+ZGlzYWJsZSgpLAo+IC0JICogLT5wcmVwYXJlKCkgb3IgLT5kcG1zKCkgaG9vayBm cm9tIHN0cnVjdCAmZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzLgo+IC0JICoKPiAtCSAqIFRoZSBi cmlkZ2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBkaXNwbGF5IHBpcGUgKGkuZS4gY2xvY2tzIGFuZCB0 aW1pbmcKPiAtCSAqIHNpZ25hbHMpIGZlZWRpbmcgaXQgaXMgc3RpbGwgcnVubmluZyB3aGVuIHRo aXMgY2FsbGJhY2sgaXMgY2FsbGVkLgo+IC0JICoKPiAtCSAqIFRoZSBkaXNhYmxlIGNhbGxiYWNr IGlzIG9wdGlvbmFsLgo+IC0JICovCj4gLQl2b2lkICgqZGlzYWJsZSkoc3RydWN0IGRybV9icmlk Z2UgKmJyaWRnZSk7Cj4gLQo+IC0JLyoqCj4gLQkgKiBAcG9zdF9kaXNhYmxlOgo+IC0JICoKPiAt CSAqIFRoaXMgY2FsbGJhY2sgc2hvdWxkIGRpc2FibGUgdGhlIGJyaWRnZS4gSXQgaXMgY2FsbGVk IHJpZ2h0IGFmdGVyCj4gLQkgKiB0aGUgcHJlY2VkaW5nIGVsZW1lbnQgaW4gdGhlIGRpc3BsYXkg cGlwZSBpcyBkaXNhYmxlZC4gSWYgdGhlCj4gLQkgKiBwcmVjZWRpbmcgZWxlbWVudCBpcyBhIGJy aWRnZSB0aGlzIG1lYW5zIGl0J3MgY2FsbGVkIGFmdGVyIHRoYXQKPiAtCSAqIGJyaWRnZSdzIC0+ cG9zdF9kaXNhYmxlKCkgZnVuY3Rpb24uIElmIHRoZSBwcmVjZWRpbmcgZWxlbWVudCBpcyBhCj4g LQkgKiAmZHJtX2VuY29kZXIgaXQncyBjYWxsZWQgcmlnaHQgYWZ0ZXIgdGhlIGVuY29kZXIncyAt PmRpc2FibGUoKSwKPiAtCSAqIC0+cHJlcGFyZSgpIG9yIC0+ZHBtcygpIGhvb2sgZnJvbSBzdHJ1 Y3QgJmRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcy4KPiAtCSAqCj4gLQkgKiBUaGUgYnJpZGdlIG11 c3QgYXNzdW1lIHRoYXQgdGhlIGRpc3BsYXkgcGlwZSAoaS5lLiBjbG9ja3MgYW5kIHRpbWluZwo+ IC0JICogc2luZ2FscykgZmVlZGluZyBpdCBpcyBubyBsb25nZXIgcnVubmluZyB3aGVuIHRoaXMg Y2FsbGJhY2sgaXMKPiAtCSAqIGNhbGxlZC4KPiAtCSAqCj4gLQkgKiBUaGUgcG9zdF9kaXNhYmxl IGNhbGxiYWNrIGlzIG9wdGlvbmFsLgo+IC0JICovCj4gLQl2b2lkICgqcG9zdF9kaXNhYmxlKShz dHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiAtCj4gLQkvKioKPiAtCSAqIEBtb2RlX3NldDoK PiAtCSAqCj4gLQkgKiBUaGlzIGNhbGxiYWNrIHNob3VsZCBzZXQgdGhlIGdpdmVuIG1vZGUgb24g dGhlIGJyaWRnZS4gSXQgaXMgY2FsbGVkCj4gLQkgKiBhZnRlciB0aGUgLT5tb2RlX3NldCgpIGNh bGxiYWNrIGZvciB0aGUgcHJlY2VkaW5nIGVsZW1lbnQgaW4gdGhlCj4gLQkgKiBkaXNwbGF5IHBp cGVsaW5lIGhhcyBiZWVuIGNhbGxlZCBhbHJlYWR5LiBUaGUgZGlzcGxheSBwaXBlIChpLmUuCj4g LQkgKiBjbG9ja3MgYW5kIHRpbWluZyBzaWduYWxzKSBpcyBvZmYgd2hlbiB0aGlzIGZ1bmN0aW9u IGlzIGNhbGxlZC4KPiAtCSAqLwo+IC0Jdm9pZCAoKm1vZGVfc2V0KShzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlLAo+IC0JCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gLQkJCSBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSk7Cj4gLQkvKioKPiAtCSAqIEBw cmVfZW5hYmxlOgo+IC0JICoKPiAtCSAqIFRoaXMgY2FsbGJhY2sgc2hvdWxkIGVuYWJsZSB0aGUg YnJpZGdlLiBJdCBpcyBjYWxsZWQgcmlnaHQgYmVmb3JlCj4gLQkgKiB0aGUgcHJlY2VkaW5nIGVs ZW1lbnQgaW4gdGhlIGRpc3BsYXkgcGlwZSBpcyBlbmFibGVkLiBJZiB0aGUKPiAtCSAqIHByZWNl ZGluZyBlbGVtZW50IGlzIGEgYnJpZGdlIHRoaXMgbWVhbnMgaXQncyBjYWxsZWQgYmVmb3JlIHRo YXQKPiAtCSAqIGJyaWRnZSdzIC0+cHJlX2VuYWJsZSgpIGZ1bmN0aW9uLiBJZiB0aGUgcHJlY2Vk aW5nIGVsZW1lbnQgaXMgYQo+IC0JICogJmRybV9lbmNvZGVyIGl0J3MgY2FsbGVkIHJpZ2h0IGJl Zm9yZSB0aGUgZW5jb2RlcidzIC0+ZW5hYmxlKCksCj4gLQkgKiAtPmNvbW1pdCgpIG9yIC0+ZHBt cygpIGhvb2sgZnJvbSBzdHJ1Y3QgJmRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcy4KPiAtCSAqCj4g LQkgKiBUaGUgZGlzcGxheSBwaXBlIChpLmUuIGNsb2NrcyBhbmQgdGltaW5nIHNpZ25hbHMpIGZl ZWRpbmcgdGhpcyBicmlkZ2UKPiAtCSAqIHdpbGwgbm90IHlldCBiZSBydW5uaW5nIHdoZW4gdGhp cyBjYWxsYmFjayBpcyBjYWxsZWQuIFRoZSBicmlkZ2UgbXVzdAo+IC0JICogbm90IGVuYWJsZSB0 aGUgZGlzcGxheSBsaW5rIGZlZWRpbmcgdGhlIG5leHQgYnJpZGdlIGluIHRoZSBjaGFpbiAoaWYK PiAtCSAqIHRoZXJlIGlzIG9uZSkgd2hlbiB0aGlzIGNhbGxiYWNrIGlzIGNhbGxlZC4KPiAtCSAq Cj4gLQkgKiBUaGUgcHJlX2VuYWJsZSBjYWxsYmFjayBpcyBvcHRpb25hbC4KPiAtCSAqLwo+IC0J dm9pZCAoKnByZV9lbmFibGUpKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpOwo+IC0KPiAtCS8q Kgo+IC0JICogQGVuYWJsZToKPiAtCSAqCj4gLQkgKiBUaGlzIGNhbGxiYWNrIHNob3VsZCBlbmFi bGUgdGhlIGJyaWRnZS4gSXQgaXMgY2FsbGVkIHJpZ2h0IGFmdGVyCj4gLQkgKiB0aGUgcHJlY2Vk aW5nIGVsZW1lbnQgaW4gdGhlIGRpc3BsYXkgcGlwZSBpcyBlbmFibGVkLiBJZiB0aGUKPiAtCSAq IHByZWNlZGluZyBlbGVtZW50IGlzIGEgYnJpZGdlIHRoaXMgbWVhbnMgaXQncyBjYWxsZWQgYWZ0 ZXIgdGhhdAo+IC0JICogYnJpZGdlJ3MgLT5lbmFibGUoKSBmdW5jdGlvbi4gSWYgdGhlIHByZWNl ZGluZyBlbGVtZW50IGlzIGEKPiAtCSAqICZkcm1fZW5jb2RlciBpdCdzIGNhbGxlZCByaWdodCBh ZnRlciB0aGUgZW5jb2RlcidzIC0+ZW5hYmxlKCksCj4gLQkgKiAtPmNvbW1pdCgpIG9yIC0+ZHBt cygpIGhvb2sgZnJvbSBzdHJ1Y3QgJmRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcy4KPiAtCSAqCj4g LQkgKiBUaGUgYnJpZGdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgZGlzcGxheSBwaXBlIChpLmUuIGNs b2NrcyBhbmQgdGltaW5nCj4gLQkgKiBzaWduYWxzKSBmZWVkaW5nIGl0IGlzIHJ1bm5pbmcgd2hl biB0aGlzIGNhbGxiYWNrIGlzIGNhbGxlZC4gVGhpcwo+IC0JICogY2FsbGJhY2sgbXVzdCBlbmFi bGUgdGhlIGRpc3BsYXkgbGluayBmZWVkaW5nIHRoZSBuZXh0IGJyaWRnZSBpbiB0aGUKPiAtCSAq IGNoYWluIGlmIHRoZXJlIGlzIG9uZS4KPiAtCSAqCj4gLQkgKiBUaGUgZW5hYmxlIGNhbGxiYWNr IGlzIG9wdGlvbmFsLgo+IC0JICovCj4gLQl2b2lkICgqZW5hYmxlKShzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlKTsKPiAtfTsKPiAtCj4gLS8qKgo+IC0gKiBzdHJ1Y3QgZHJtX2JyaWRnZSAtIGNl bnRyYWwgRFJNIGJyaWRnZSBjb250cm9sIHN0cnVjdHVyZQo+IC0gKiBAZGV2OiBEUk0gZGV2aWNl IHRoaXMgYnJpZGdlIGJlbG9uZ3MgdG8KPiAtICogQGVuY29kZXI6IGVuY29kZXIgdG8gd2hpY2gg dGhpcyBicmlkZ2UgaXMgY29ubmVjdGVkCj4gLSAqIEBuZXh0OiB0aGUgbmV4dCBicmlkZ2UgaW4g dGhlIGVuY29kZXIgY2hhaW4KPiAtICogQG9mX25vZGU6IGRldmljZSBub2RlIHBvaW50ZXIgdG8g dGhlIGJyaWRnZQo+IC0gKiBAbGlzdDogdG8ga2VlcCB0cmFjayBvZiBhbGwgYWRkZWQgYnJpZGdl cwo+IC0gKiBAZnVuY3M6IGNvbnRyb2wgZnVuY3Rpb25zCj4gLSAqIEBkcml2ZXJfcHJpdmF0ZTog cG9pbnRlciB0byB0aGUgYnJpZGdlIGRyaXZlcidzIGludGVybmFsIGNvbnRleHQKPiAtICovCj4g LXN0cnVjdCBkcm1fYnJpZGdlIHsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4gLQlzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7Cj4gLQlzdHJ1Y3QgZHJtX2JyaWRnZSAqbmV4dDsKPiAt I2lmZGVmIENPTkZJR19PRgo+IC0Jc3RydWN0IGRldmljZV9ub2RlICpvZl9ub2RlOwo+IC0jZW5k aWYKPiAtCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKPiAtCj4gLQljb25zdCBzdHJ1Y3QgZHJtX2Jy aWRnZV9mdW5jcyAqZnVuY3M7Cj4gLQl2b2lkICpkcml2ZXJfcHJpdmF0ZTsKPiAtfTsKPiAtCj4g LS8qKgo+ICAgICogc3RydWN0IGRybV9jcnRjX2NvbW1pdCAtIHRyYWNrIG1vZGVzZXQgY29tbWl0 cyBvbiBhIENSVEMKPiAgICAqCj4gICAgKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIHRyYWNr IHBlbmRpbmcgbW9kZXNldCBjaGFuZ2VzIGFuZCBhdG9taWMgY29tbWl0IG9uCj4gQEAgLTIxODgs MjIgKzIwMjEsNCBAQCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZHJtX21vZGVfZmluZF9kbXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkJCQkJICAgaW50IGhzaXplLCBpbnQgdnNpemUs IGludCBmcmVzaCwKPiAgIAkJCQkJICAgYm9vbCByYik7Cj4KPiAtLyogZHJtX2JyaWRnZS5jICov Cj4gLWV4dGVybiBpbnQgZHJtX2JyaWRnZV9hZGQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7 Cj4gLWV4dGVybiB2b2lkIGRybV9icmlkZ2VfcmVtb3ZlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlk Z2UpOwo+IC1leHRlcm4gc3RydWN0IGRybV9icmlkZ2UgKm9mX2RybV9maW5kX2JyaWRnZShzdHJ1 Y3QgZGV2aWNlX25vZGUgKm5wKTsKPiAtZXh0ZXJuIGludCBkcm1fYnJpZGdlX2F0dGFjaChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiAtZXh0ZXJu IHZvaWQgZHJtX2JyaWRnZV9kZXRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4gLQo+ IC1ib29sIGRybV9icmlkZ2VfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ IC0JCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiAtCQkJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpOwo+IC12b2lkIGRybV9icmlkZ2VfZGlzYWJs ZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiAtdm9pZCBkcm1fYnJpZGdlX3Bvc3RfZGlz YWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiAtdm9pZCBkcm1fYnJpZGdlX21vZGVf c2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gLQkJCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLAo+IC0JCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSk7 Cj4gLXZvaWQgZHJtX2JyaWRnZV9wcmVfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Up Owo+IC12b2lkIGRybV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpOwo+ IC0KPiAgICNlbmRpZiAvKiBfX0RSTV9DUlRDX0hfXyAqLwo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fbW9kZV9vYmplY3QuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX29iamVjdC5oCj4g aW5kZXggYmUzZDkzODM5YWUyLi40MzQ2MGIyMWQxMTIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX21vZGVfb2JqZWN0LmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9vYmplY3Qu aAo+IEBAIC0yNiw2ICsyNiw3IEBACj4gICAjaW5jbHVkZSA8bGludXgva3JlZi5oPgo+ICAgc3Ry dWN0IGRybV9vYmplY3RfcHJvcGVydGllczsKPiAgIHN0cnVjdCBkcm1fcHJvcGVydHk7Cj4gK3N0 cnVjdCBkcm1fZGV2aWNlOwo+Cj4gICAvKioKPiAgICAqIHN0cnVjdCBkcm1fbW9kZV9vYmplY3Qg LSBiYXNlIHN0cnVjdHVyZSBmb3IgbW9kZXNldCBvYmplY3RzCj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9tb2Rlcy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKPiBpbmRleCA5ODZl ZDZmZjYzNWEuLjk5MzRkOTE2MTljMSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9k ZXMuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oCj4gQEAgLTI3LDkgKzI3LDEzIEBA Cj4gICAjaWZuZGVmIF9fRFJNX01PREVTX0hfXwo+ICAgI2RlZmluZSBfX0RSTV9NT0RFU19IX18K Pgo+ICsjaW5jbHVkZSA8bGludXgvaGRtaS5oPgo+ICsKPiAgICNpbmNsdWRlIDxkcm0vZHJtX21v ZGVfb2JqZWN0Lmg+Cj4gICAjaW5jbHVkZSA8ZHJtL2RybV9jb25uZWN0b3IuaD4KPgo+ICtzdHJ1 Y3QgdmlkZW9tb2RlOwo+ICsKPiAgIC8qCj4gICAgKiBOb3RlIG9uIHRlcm1pbm9sb2d5OiAgaGVy ZSwgZm9yIGJyZXZpdHkgYW5kIGNvbnZlbmllbmNlLCB3ZSByZWZlciB0byBjb25uZWN0b3IKPiAg ICAqIGNvbnRyb2wgY2hpcHMgYXMgJ0NSVENzJy4gIFRoZXkgY2FuIGNvbnRyb2wgYW55IHR5cGUg b2YgY29ubmVjdG9yLCBWR0EsIExWRFMsCj4KCi0tIApRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRl ciwgSW5jLiBpcyBhIG1lbWJlciBvZiBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0 aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK