From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/2] drm/fb-helper: Remove drm_fb_helper_defio_init() and update docs Date: Mon, 4 Nov 2019 10:55:47 +0100 Message-ID: <20191104095547.GC10326@phenom.ffwll.local> References: <20191025092759.13069-1-tzimmermann@suse.de> <20191025092759.13069-2-tzimmermann@suse.de> <3db04b4e-4b23-1edb-7df8-893ca9b5709f@tronnes.org> <7016126a-f498-1a4a-4721-c6305a961457@suse.de> <5ea7beb9-2584-eddf-1d79-d9b484930d63@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id E9BEA6E258 for ; Mon, 4 Nov 2019 09:55:51 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id e6so14414965wrw.1 for ; Mon, 04 Nov 2019 01:55:51 -0800 (PST) Content-Disposition: inline In-Reply-To: <5ea7beb9-2584-eddf-1d79-d9b484930d63@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thomas Zimmermann Cc: dri-devel List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBPY3QgMjgsIDIwMTkgYXQgMDk6MTM6NDdBTSArMDEwMCwgVGhvbWFzIFppbW1lcm1h bm4gd3JvdGU6Cj4gSGkKPiAKPiBBbSAyNS4xMC4xOSB1bSAyMDo1NCBzY2hyaWViIERhbmllbCBW ZXR0ZXI6Cj4gPiBPbiBGcmksIE9jdCAyNSwgMjAxOSBhdCA3OjI2IFBNIFRob21hcyBaaW1tZXJt YW5uIDx0emltbWVybWFubkBzdXNlLmRlPiB3cm90ZToKPiA+Pgo+ID4+IEhpCj4gPj4KPiA+PiBB bSAyNS4xMC4xOSB1bSAxNzo0NiBzY2hyaWViIE5vcmFsZiBUcsO4bm5lczoKPiA+Pj4KPiA+Pj4K PiA+Pj4gRGVuIDI1LjEwLjIwMTkgMTEuMjcsIHNrcmV2IFRob21hcyBaaW1tZXJtYW5uOgo+ID4+ Pj4gVGhlcmUgYXJlIG5vIHVzZXJzIG9mIGRybV9mYl9oZWxwZXJfZGVmaW9faW5pdCgpLCBzbyB3 ZSBjYW4gcmVtb3ZlCj4gPj4+PiBpdC4gVGhlIGRvY3VtZW5hdGlvbiBhcm91bmQgZGVmaW8gc3Vw cG9ydCBpcyBhIGJpdCBtaXNsZWFkaW5nIGFuZAo+ID4+Pj4gc2hvdWxkIG1lbnRpb24gY29tcGF0 aWJpbGl0eSBpc3N1ZXMgd2l0aCBTSE1FTSBoZWxwZXJzLiBDbGFyaWZ5IHRoaXMuCj4gPj4+Pgo+ ID4+Pj4gU2lnbmVkLW9mZi1ieTogVGhvbWFzIFppbW1lcm1hbm4gPHR6aW1tZXJtYW5uQHN1c2Uu ZGU+Cj4gPj4+PiAtLS0KPiA+Pj4+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIHwg NjEgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPj4+PiAgaW5jbHVkZS9kcm0v ZHJtX2ZiX2hlbHBlci5oICAgICB8ICAxIC0KPiA+Pj4+ICAyIGZpbGVzIGNoYW5nZWQsIDEzIGlu c2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQo+ID4+Pj4KPiA+Pj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9o ZWxwZXIuYwo+ID4+Pj4gaW5kZXggYjc1YWU4NTU1YmFmLi44ZWJlY2NkZWVkMjMgMTAwNjQ0Cj4g Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gPj4+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gPj4+PiBAQCAtOTIsOSArOTIsMTIgQEAg c3RhdGljIERFRklORV9NVVRFWChrZXJuZWxfZmJfaGVscGVyX2xvY2spOwo+ID4+Pj4gICAqCj4g Pj4+PiAgICogRHJpdmVycyB0aGF0IHN1cHBvcnQgYSBkdW1iIGJ1ZmZlciB3aXRoIGEgdmlydHVh bCBhZGRyZXNzIGFuZCBtbWFwIHN1cHBvcnQsCj4gPj4+PiAgICogc2hvdWxkIHRyeSBvdXQgdGhl IGdlbmVyaWMgZmJkZXYgZW11bGF0aW9uIHVzaW5nIGRybV9mYmRldl9nZW5lcmljX3NldHVwKCku Cj4gPj4+PiArICogSXQgd2lsbCBhdXRvbWF0aWNhbGx5IHNldCB1cCBkZWZlcnJlZCBJL08gaWYg dGhlIGRyaXZlciByZXF1aXJlcyBhIHNoYWRvdwo+ID4+Pj4gKyAqIGJ1ZmZlci4KPiA+Pj4+ICAg Kgo+ID4+Pj4gLSAqIFNldHVwIGZiZGV2IGVtdWxhdGlvbiBieSBjYWxsaW5nIGRybV9mYl9oZWxw ZXJfZmJkZXZfc2V0dXAoKSBhbmQgdGVhciBpdAo+ID4+Pj4gLSAqIGRvd24gYnkgY2FsbGluZyBk cm1fZmJfaGVscGVyX2ZiZGV2X3RlYXJkb3duKCkuCj4gPj4+PiArICogRm9yIG90aGVyIGRyaXZl cnMsIHNldHVwIGZiZGV2IGVtdWxhdGlvbiBieSBjYWxsaW5nCj4gPj4+PiArICogZHJtX2ZiX2hl bHBlcl9mYmRldl9zZXR1cCgpIGFuZCB0ZWFyIGl0IGRvd24gYnkgY2FsbGluZwo+ID4+Pj4gKyAq IGRybV9mYl9oZWxwZXJfZmJkZXZfdGVhcmRvd24oKS4KPiA+Pj4+ICAgKgo+ID4+Pj4gICAqIEF0 IHJ1bnRpbWUgZHJpdmVycyBzaG91bGQgcmVzdG9yZSB0aGUgZmJkZXYgY29uc29sZSBieSB1c2lu Zwo+ID4+Pj4gICAqIGRybV9mYl9oZWxwZXJfbGFzdGNsb3NlKCkgYXMgdGhlaXIgJmRybV9kcml2 ZXIubGFzdGNsb3NlIGNhbGxiYWNrLgo+ID4+Pj4gQEAgLTEyNyw4ICsxMzAsMTAgQEAgc3RhdGlj IERFRklORV9NVVRFWChrZXJuZWxfZmJfaGVscGVyX2xvY2spOwo+ID4+Pj4gICAqIGFsd2F5cyBy dW4gaW4gcHJvY2VzcyBjb250ZXh0IHNpbmNlIHRoZSBmYl8qKCkgZnVuY3Rpb24gY291bGQgYmUg cnVubmluZyBpbgo+ID4+Pj4gICAqIGF0b21pYyBjb250ZXh0LiBJZiBkcm1fZmJfaGVscGVyX2Rl ZmVycmVkX2lvKCkgaXMgdXNlZCBhcyB0aGUgZGVmZXJyZWRfaW8KPiA+Pj4+ICAgKiBjYWxsYmFj ayBpdCB3aWxsIGFsc28gc2NoZWR1bGUgZGlydHlfd29yayB3aXRoIHRoZSBkYW1hZ2UgY29sbGVj dGVkIGZyb20gdGhlCj4gPj4+PiAtICogbW1hcCBwYWdlIHdyaXRlcy4gRHJpdmVycyBjYW4gdXNl IGRybV9mYl9oZWxwZXJfZGVmaW9faW5pdCgpIHRvIHNldHVwCj4gPj4+PiAtICogZGVmZXJyZWQg SS9PIChjb3VwbGVkIHdpdGggZHJtX2ZiX2hlbHBlcl9mYmRldl90ZWFyZG93bigpKS4KPiA+Pj4+ ICsgKiBtbWFwIHBhZ2Ugd3JpdGVzLgo+ID4+Pj4gKyAqCj4gPj4+PiArICogRGVmZXJyZWQgSS9P IGlzIG5vdCBjb21wYXRpYmxlIHdpdGggU0hNRU0uIFN1Y2ggZHJpdmVycyBzaG91bGQgcmVxdWVz dCBhbgo+ID4+Pj4gKyAqIGZiZGV2IHNoYWRvdyBidWZmZXIgYW5kIGNhbGwgZHJtX2ZiZGV2X2dl bmVyaWNfc2V0dXAoKSBpbnN0ZWFkLgo+ID4+Pj4gICAqLwo+ID4+Pj4KPiA+Pj4+ICBzdGF0aWMg dm9pZCBkcm1fZmJfaGVscGVyX3Jlc3RvcmVfbHV0X2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gPj4+PiBAQCAtNjc5LDQ5ICs2ODQsNiBAQCB2b2lkIGRybV9mYl9oZWxwZXJfZGVmZXJy ZWRfaW8oc3RydWN0IGZiX2luZm8gKmluZm8sCj4gPj4+PiAgfQo+ID4+Pj4gIEVYUE9SVF9TWU1C T0woZHJtX2ZiX2hlbHBlcl9kZWZlcnJlZF9pbyk7Cj4gPj4+Pgo+ID4+Pj4gLS8qKgo+ID4+Pj4g LSAqIGRybV9mYl9oZWxwZXJfZGVmaW9faW5pdCAtIGZiZGV2IGRlZmVycmVkIEkvTyBpbml0aWFs aXphdGlvbgo+ID4+Pj4gLSAqIEBmYl9oZWxwZXI6IGRyaXZlci1hbGxvY2F0ZWQgZmJkZXYgaGVs cGVyCj4gPj4+PiAtICoKPiA+Pj4+IC0gKiBUaGlzIGZ1bmN0aW9uIGFsbG9jYXRlcyAmZmJfZGVm ZXJyZWRfaW8sIHNldHMgY2FsbGJhY2sgdG8KPiA+Pj4+IC0gKiBkcm1fZmJfaGVscGVyX2RlZmVy cmVkX2lvKCksIGRlbGF5IHRvIDUwbXMgYW5kIGNhbGxzIGZiX2RlZmVycmVkX2lvX2luaXQoKS4K PiA+Pj4+IC0gKiBJdCBzaG91bGQgYmUgY2FsbGVkIGZyb20gdGhlICZkcm1fZmJfaGVscGVyX2Z1 bmNzLT5mYl9wcm9iZSBjYWxsYmFjay4KPiA+Pj4+IC0gKiBkcm1fZmJfaGVscGVyX2ZiZGV2X3Rl YXJkb3duKCkgY2xlYW5zIHVwIGRlZmVycmVkIEkvTy4KPiA+Pj4+IC0gKgo+ID4+Pj4gLSAqIE5P VEU6IEEgY29weSBvZiAmZmJfb3BzIGlzIG1hZGUgYW5kIGFzc2lnbmVkIHRvICZpbmZvLT5mYm9w cy4gVGhpcyBpcyBkb25lCj4gPj4+PiAtICogYmVjYXVzZSBmYl9kZWZlcnJlZF9pb19jbGVhbnVw KCkgY2xlYXJzICZmYm9wcy0+ZmJfbW1hcCBhbmQgd291bGQgdGhlcmVieQo+ID4+Pj4gLSAqIGFm ZmVjdCBvdGhlciBpbnN0YW5jZXMgb2YgdGhhdCAmZmJfb3BzLgo+ID4+Pj4gLSAqCj4gPj4+PiAt ICogUmV0dXJuczoKPiA+Pj4+IC0gKiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBj b2RlIG9uIGZhaWx1cmUuCj4gPj4+PiAtICovCj4gPj4+PiAtaW50IGRybV9mYl9oZWxwZXJfZGVm aW9faW5pdChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ID4+Pj4gLXsKPiA+Pj4+ IC0gICAgc3RydWN0IGZiX2luZm8gKmluZm8gPSBmYl9oZWxwZXItPmZiZGV2Owo+ID4+Pj4gLSAg ICBzdHJ1Y3QgZmJfZGVmZXJyZWRfaW8gKmZiZGVmaW87Cj4gPj4+PiAtICAgIHN0cnVjdCBmYl9v cHMgKmZib3BzOwo+ID4+Pj4gLQo+ID4+Pj4gLSAgICBmYmRlZmlvID0ga3phbGxvYyhzaXplb2Yo KmZiZGVmaW8pLCBHRlBfS0VSTkVMKTsKPiA+Pj4+IC0gICAgZmJvcHMgPSBremFsbG9jKHNpemVv ZigqZmJvcHMpLCBHRlBfS0VSTkVMKTsKPiA+Pj4+IC0gICAgaWYgKCFmYmRlZmlvIHx8ICFmYm9w cykgewo+ID4+Pj4gLSAgICAgICAgICAgIGtmcmVlKGZiZGVmaW8pOwo+ID4+Pj4gLSAgICAgICAg ICAgIGtmcmVlKGZib3BzKTsKPiA+Pj4+IC0gICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPiA+ Pj4+IC0gICAgfQo+ID4+Pj4gLQo+ID4+Pj4gLSAgICBpbmZvLT5mYmRlZmlvID0gZmJkZWZpbzsK PiA+Pj4+IC0gICAgZmJkZWZpby0+ZGVsYXkgPSBtc2Vjc190b19qaWZmaWVzKDUwKTsKPiA+Pj4+ IC0gICAgZmJkZWZpby0+ZGVmZXJyZWRfaW8gPSBkcm1fZmJfaGVscGVyX2RlZmVycmVkX2lvOwo+ ID4+Pj4gLQo+ID4+Pj4gLSAgICAqZmJvcHMgPSAqaW5mby0+ZmJvcHM7Cj4gPj4+PiAtICAgIGlu Zm8tPmZib3BzID0gZmJvcHM7Cj4gPj4+PiAtCj4gPj4+PiAtICAgIGZiX2RlZmVycmVkX2lvX2lu aXQoaW5mbyk7Cj4gPj4+PiAtCj4gPj4+PiAtICAgIHJldHVybiAwOwo+ID4+Pj4gLX0KPiA+Pj4+ IC1FWFBPUlRfU1lNQk9MKGRybV9mYl9oZWxwZXJfZGVmaW9faW5pdCk7Cj4gPj4+PiAtCj4gPj4+ Cj4gPj4+IFdpdGggdGhpcyBnb25lIHlvdSBjYW4gcmVtb3ZlIHRoZSBkZWZpbyBjbGVhbnVwIHBh cnQgZnJvbQo+ID4+PiBkcm1fZmJfaGVscGVyX2ZiZGV2X3RlYXJkb3duKCkgYXMgd2VsbC4KPiA+ Pj4KPiA+Pj4gQW5kIEkgc2VlIHRoYXQgdGhlcmUncyBubyB1c2VycyBsZWZ0IG9mIHRoYXQgZnVu Y3Rpb24gKHRoZSBzYW1lIHdpdGgKPiA+Pj4gKl9zZXVwKCkpLiBXb3VsZCBiZSBuaWNlIGlmIHlv dSBqdXN0IHJlbW92ZWQgdGhlbS4gSSBtYWRlIHRoZW0gYmVmb3JlIEkKPiA+Pj4gZW1iYXJrZWQg b24gdGhlIGdlbmVyaWMgZmJkZXYgc29sdXRpb24uIEkgdGhpbmsgaXQncyBiZXR0ZXIgdG8gdHJ5 IGFuZAo+ID4+PiBtYWtlIHRoZSBnZW5lcmljIGVtdWxhdGlvbiB1c2FibGUgZm9yICJldmVyeW9u ZSIgYW5kIGF2b2lkIHRoZSBuZWVkIGZvcgo+ID4+PiBkcml2ZXJzIHRvIGhhdmUgdG8gZG8gdGhl aXIgb3duIHNwZWNpYWwgc3R1ZmYuCj4gPj4KPiA+PiBUaGUgbGFzdCB1c2VyIHdhcyB2Ym94dmlk ZW8sIHdoaWNoIEkgY29udmVydGVkIH4yIHdlZWtzIGFnby4gSSBoYXZlbid0Cj4gPj4gcmVtb3Zl ZCB0aGVtIHlldCwgYXMgdGhlcmUncyBhIFRPRE8gaXRlbSB0byBjb252ZXJ0IGRyaXZlcnMgb3Zl ciB0byB0aGVtLgo+ID4+Cj4gPj4gRnJvbSBhIHF1aWNrICdnaXQgZ3JlcCc6Cj4gPj4KPiA+PiBN b3N0IGRyaXZlcnMgdGhhdCB1c2VzIGRybV9mYl9oZWxwZXJfc3lzXyooKSBpbiBpdHMgZmJfb3Bz IGNvdWxkCj4gPj4gcHJvYmFibHkgYmUgY29udmVydGVkIG92ZXIgdG8gZ2VuZXJpYyBmYmRldi4g VGhhdCdzIGhpYm1jIChJIGhhdmUgc29tZQo+ID4+IHVudGVzdGVkIHBhdGNoZXMgZm9yIGl0KSwg bXNtLCBvbWFwZHJtLCB0ZWdyYSwgYW5kIHVkbCAoY3VycmVudGx5IGJlaW5nCj4gPj4gY29udmVy dGVkKS4KPiA+Pgo+ID4+IE9ubHkgbm91dmVhdSBhbmQgZ21hNTAwIGhhdmUgc29tZSBmb3JtIG9m IEhXIGFjY2VsZXJhdGlvbi4KPiA+Pgo+ID4+IFRoZSByZXN0IG9mIHRoZSBkcml2ZXJzICgxMCkg dXNlcyBkcm1fZmJfaGVscGVyX2NmYl8qKCkgZnVuY3Rpb25zLiBBcmUKPiA+PiB0aGVzZSBzdHJp Y3RseSByZXF1aXJlZCwgb3IgY2FuIHRoZXkgYmUgbWFkZSBhdmFpbGFibGUgd2l0aGluIGdlbmVy aWMgZmJkZXY/Cj4gPiAKPiA+IFRha2UgYSBwaWxlIG9mIGRpZ2dpbmcgdGhyb3VnaCBhIGZldyBm YiBob3Jyb3JzLCBidXQgdGhpcyBib2lscyBkb3duIHRvOgo+ID4gCj4gPiAqc3lzKiBmdW5jdGlv bnMgb3BlcmF0ZSBvbiBhbiBmYiB0aGF0IHdvcmtzIGxpa2Ugbm9ybWFsIHN5c3RlbSBtZW1vcnku Cj4gPiAKPiA+ICpjZmIqIGZ1bmN0aW9ucyBvcGVyYXRlIG9uIHZvaWQgX19pb21lbSAqIGluc3Rl YWQuIFdoaWNoIG1ha2VzIGEgaHVnZQo+ID4gZGlmZmVyZW5jZSBvbiBzb21lIGFyY2hpdGVjdHVy ZXMsIGJ1dCBhZmFpdWkgbmVpdGhlciB4ODYgbm9yIGFybSBjYXJlLgo+ID4gT24gcHBjIGl0IHNl ZW1zIHRvIG1ha2UgYSBkaWZmZXJlbmNlIHNvbWV0aW1lcy4KPiA+IAo+ID4gU28gZm9yIHNobWVt IHdlIHNob3VsZCB1c2UgKnN5cyogZnVuY3Rpb25zLCBmb3IgdnJhbSAqY2ZiKi4KPiA+IAo+ID4g QW5kIHRoYXQgbGVhZHMgbWUgdG8gcmVhbGl6aW5nIHRoYXQgZHJtX2dlbV92cmFtX3ZtYXAgaGFz IHRoZSB0b3RhbGx5Cj4gPiB3cm9uZyB0eXBlLCBpdCBzaG91bGQgYmUgdm9pZCBfX2lvbWVtICou IFRoZXJlJ3MgdGhpcyBmYW5jeSBpc19pb21lbQo+ID4gcGFyYW1ldGVyIGZvciB0dG1fa21hcF9v YmpfdmlydHVhbCB0aGF0IHNob3VsZCBoZWxwIHlvdSBmaWd1cmUgb3V0IHRoZQo+ID4gcmlnaHQg dHlwZSwgYnV0IG9ubHkgbm91dmVhdSBib3RoZXJzIHRvIGltcGxlbWVudCB0aGlzIGNvcnJlY3Rs eS4KPiA+IAo+ID4gSSdtIGhvbmVzdGx5IG5vdCBzdXJlIHdoZXRoZXIgd2Ugc2hvdWxkIGNhcmUu Cj4gCj4gSSByZW1lbWJlciBnZXR0aW5nIGFuIGVhbWlsIGFib3V0IHRoaXMgZnJvbSBzb21lIGF1 dG9tYXRlZCB0ZXN0IHN5c3RlbS4KPiBJIGhhdmVuJ3QgaGFkIHRpbWUgdG8gY2hhbmdlIGl0IGFu ZCBpdCdzIGFwcGFyZW50bHkgbm90IHVyZ2VudC4KPiAKPiBJZiB3ZSByZWFsbHkgd2FudCB0byBm aXggdGhlIHByb2JsZW0sIHdlJ2QgaGF2ZSB0byBwcm9wYWdhZ2UgaXNfaW9tZW0KPiB0aHJvdWdo IHRoZSBEUk0gY29yZTsgcHJvYmFibHkgdG91Y2hpbmcgZXZlcnkgdm1hcCBjYWxsYmFjay4gT1RP SCB0aGlzCj4gbWlnaHQgbm90IGJlIGEgYmFkIHRoaW5nLiBXaXRoIGlzX2lvbWVtIGF2YWlsYWJs ZSBpbiB0aGUgZ2VuZXJpYyBmYmRldgo+IGVtdWxhdGlvbiwgaXQgY291bGQgc2VsZWN0IGJldHdl ZW4gc3lzIGFuZCBjZmIgZnVuY3Rpb25zIGFuZCBzdXBwb3J0Cj4gZHJpdmVycyB3aXRoIGNmYi1i YXNlZCBmYmRldiBhcyB3ZWxsLgoKaXNfaW9tZW0gZG9lc24ndCB3b3JrLCBpdCdzIGhhY2ssIHNp bmNlIHRoZSBjaGFuZ2UgaXMgaW4gdGhlIGZ1bmN0aW9uCnByb3RvdHlwZXMvc2lnbmF0dXJlcy4g U28gd2UnZCBuZWVkIHRvIG1ha2Ugc3VyZSB3ZSBoYXZlIDIgc2V0cyBvZiBrZXJuZWwKbWFwcGlu ZyBmdW5jdGlvbnMgZm9yIGV2ZXJ5dGhpbmcsIHBsdXMgMiBzZXRzIG9mIGFueXRoaW5nIHRoYXQg YWNjZXNzZXMKdGhyb3VnaCB0aGUga2VybmVsLgoKSXQncyBhIGh1Z2UgdGFzaywgYW5kIEknbSBy ZWFsbHkgbm90IHN1cmUgd2UgaGF2ZSBhbnkgYXJjaGl0ZWN0dXJlIHdlIGNhcmUKYWJvdXQgdGhp cyAuLi4KLURhbmllbAoKPiAKPiBCZXN0IHJlZ2FyZHMKPiBUaG9tYXMKPiAKPiA+IC1EYW5pZWwK PiA+IAo+ID4+Cj4gPj4gQmVzdCByZWdhcmRzCj4gPj4gVGhvbWFzCj4gPj4KPiA+Pj4gY29kZSB0 byBhdm9pZCB0aGUgc2hhZG93IGJ1ZmZlcmluZyB3b3VsZCBhaWQgaW4gdGhhdCBhcyBEYW5pZWwg aGF2ZQo+ID4+PiB0YWxrZWQgYWJvdXQuCj4gPj4+Cj4gPj4+IEVpdGhlciB3YXkgeW91IGNob29z ZSwgdGhpcyBwYXRjaCBpczoKPiA+Pj4KPiA+Pj4gUmV2aWV3ZWQtYnk6IE5vcmFsZiBUcsO4bm5l cyA8bm9yYWxmQHRyb25uZXMub3JnPgo+ID4+Pgo+ID4+Pj4gIC8qKgo+ID4+Pj4gICAqIGRybV9m Yl9oZWxwZXJfc3lzX3JlYWQgLSB3cmFwcGVyIGFyb3VuZCBmYl9zeXNfcmVhZAo+ID4+Pj4gICAq IEBpbmZvOiBmYl9pbmZvIHN0cnVjdCBwb2ludGVyCj4gPj4+PiBAQCAtMjM1Niw3ICsyMzE4LDEw IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NsaWVudF9mdW5jcyBkcm1fZmJkZXZfY2xpZW50 X2Z1bmNzID0gewo+ID4+Pj4gICAqCj4gPj4+PiAgICogRHJpdmVycyB0aGF0IHNldCB0aGUgZGly dHkgY2FsbGJhY2sgb24gdGhlaXIgZnJhbWVidWZmZXIgd2lsbCBnZXQgYSBzaGFkb3cKPiA+Pj4+ ICAgKiBmYmRldiBidWZmZXIgdGhhdCBpcyBibGl0dGVkIG9udG8gdGhlIHJlYWwgYnVmZmVyLiBU aGlzIGlzIGRvbmUgaW4gb3JkZXIgdG8KPiA+Pj4+IC0gKiBtYWtlIGRlZmVycmVkIEkvTyB3b3Jr IHdpdGggYWxsIGtpbmRzIG9mIGJ1ZmZlcnMuCj4gPj4+PiArICogbWFrZSBkZWZlcnJlZCBJL08g d29yayB3aXRoIGFsbCBraW5kcyBvZiBidWZmZXJzLiBBIHNoYWRvdyBidWZmZXIgY2FuIGJlCj4g Pj4+PiArICogcmVxdWVzdGVkIGV4cGxpY2l0bHkgYnkgc2V0dGluZyBzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnLnByZWZlcl9zaGFkb3cgb3IKPiA+Pj4+ICsgKiBzdHJ1Y3QgZHJtX21vZGVfY29uZmln LnByZWZlcl9zaGFkb3dfZmJkZXYgdG8gdHJ1ZSBiZWZvcmVoYW5kLiBUaGlzIGlzCj4gPj4+PiAr ICogcmVxdWlyZWQgdG8gdXNlIGdlbmVyaWMgZmJkZXYgZW11bGF0aW9uIHdpdGggU0hNRU0gaGVs cGVycy4KPiA+Pj4+ICAgKgo+ID4+Pj4gICAqIFRoaXMgZnVuY3Rpb24gaXMgc2FmZSB0byBjYWxs IGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gY29ubmVjdG9ycyBwcmVzZW50Lgo+ID4+Pj4gICAqIFNl dHVwIHdpbGwgYmUgcmV0cmllZCBvbiB0aGUgbmV4dCBob3RwbHVnIGV2ZW50Lgo+ID4+Pj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9m Yl9oZWxwZXIuaAo+ID4+Pj4gaW5kZXggOGRjYzAxMmNjYmM4Li4yMzM4ZTlmOTRhMDMgMTAwNjQ0 Cj4gPj4+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmgKPiA+Pj4+ICsrKyBiL2lu Y2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAo+ID4+Pj4gQEAgLTIzNSw3ICsyMzUsNiBAQCB2b2lk IGRybV9mYl9oZWxwZXJfdW5saW5rX2ZiaShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVy KTsKPiA+Pj4+Cj4gPj4+PiAgdm9pZCBkcm1fZmJfaGVscGVyX2RlZmVycmVkX2lvKHN0cnVjdCBm Yl9pbmZvICppbmZvLAo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBs aXN0X2hlYWQgKnBhZ2VsaXN0KTsKPiA+Pj4+IC1pbnQgZHJtX2ZiX2hlbHBlcl9kZWZpb19pbml0 KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpOwo+ID4+Pj4KPiA+Pj4+ICBzc2l6ZV90 IGRybV9mYl9oZWxwZXJfc3lzX3JlYWQoc3RydWN0IGZiX2luZm8gKmluZm8sIGNoYXIgX191c2Vy ICpidWYsCj4gPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNvdW50LCBs b2ZmX3QgKnBwb3MpOwo+ID4+Pj4KPiA+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiA+Pj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4+PiBkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCj4gPj4+Cj4gPj4KPiA+PiAtLQo+ID4+ IFRob21hcyBaaW1tZXJtYW5uCj4gPj4gR3JhcGhpY3MgRHJpdmVyIERldmVsb3Blcgo+ID4+IFNV U0UgU29mdHdhcmUgU29sdXRpb25zIEdlcm1hbnkgR21iSAo+ID4+IE1heGZlbGRzdHIuIDUsIDkw NDA5IE7DvHJuYmVyZywgR2VybWFueQo+ID4+IChIUkIgMzY4MDksIEFHIE7DvHJuYmVyZykKPiA+ PiBHZXNjaMOkZnRzZsO8aHJlcjogRmVsaXggSW1lbmTDtnJmZmVyCj4gPj4KPiA+IAo+ID4gCj4g Cj4gLS0gCj4gVGhvbWFzIFppbW1lcm1hbm4KPiBHcmFwaGljcyBEcml2ZXIgRGV2ZWxvcGVyCj4g U1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJICj4gTWF4ZmVsZHN0ci4gNSwgOTA0 MDkgTsO8cm5iZXJnLCBHZXJtYW55Cj4gKEhSQiAzNjgwOSwgQUcgTsO8cm5iZXJnKQo+IEdlc2No w6RmdHNmw7xocmVyOiBGZWxpeCBJbWVuZMO2cmZmZXIKPiAKCgoKCi0tIApEYW5pZWwgVmV0dGVy ClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5j aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=