From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Subject: Re: devm actions and hw clenaup (was Re: [PATCH 01/11] drm: Add devm_drm_dev_init/register) Date: Tue, 29 Jan 2019 16:16:12 +0100 Message-ID: <20190129151612.GA15719@kroah.com> References: <20190121095549.GR3271@phenom.ffwll.local> <20190122093213.GU3271@phenom.ffwll.local> <3c039a28-f255-4520-5e20-4f7f9caa4f46@tronnes.org> <723b2fcf-5dbc-dd4b-8e3c-daa88bad98fe@tronnes.org> <20190124104312.GT3271@phenom.ffwll.local> <20190124174641.GA7072@kroah.com> <695004fe-2fe1-b5d3-6047-9f923dc50ef8@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id F090A6E879 for ; Tue, 29 Jan 2019 15:16:14 +0000 (UTC) Content-Disposition: inline In-Reply-To: <695004fe-2fe1-b5d3-6047-9f923dc50ef8@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: "Rafael J. Wysocki" , dri-devel , David Lechner List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBKYW4gMjksIDIwMTkgYXQgMDM6MzQ6NDZQTSArMDEwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IAo+IAo+IERlbiAyNC4wMS4yMDE5IDE4LjU3LCBza3JldiBEYW5pZWwgVmV0dGVy Ogo+ID4gT24gVGh1LCBKYW4gMjQsIDIwMTkgYXQgNjo0NiBQTSBHcmVnIEtIIDxncmVna2hAbGlu dXhmb3VuZGF0aW9uLm9yZz4gd3JvdGU6Cj4gPj4KPiA+PiBPbiBUaHUsIEphbiAyNCwgMjAxOSBh dCAxMTo0MzoxMkFNICswMTAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4+PiBPbiBXZWQsIEph biAyMywgMjAxOSBhdCAxMTo1NDowN0FNICswMTAwLCBOb3JhbGYgVHLDuG5uZXMgd3JvdGU6Cj4g Pj4+Pgo+ID4+Pj4KPiA+Pj4+IERlbiAyMi4wMS4yMDE5IDIwLjMwLCBza3JldiBEYW5pZWwgVmV0 dGVyOgo+ID4+Pj4+IE9uIFR1ZSwgSmFuIDIyLCAyMDE5IGF0IDg6MDcgUE0gTm9yYWxmIFRyw7hu bmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+IHdyb3RlOgo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+ Pgo+ID4+Pj4+PiBEZW4gMjIuMDEuMjAxOSAxMC4zMiwgc2tyZXYgRGFuaWVsIFZldHRlcjoKPiA+ Pj4+Pj4+IE9uIE1vbiwgSmFuIDIxLCAyMDE5IGF0IDAxOjIxOjQ2UE0gKzAxMDAsIE5vcmFsZiBU csO4bm5lcyB3cm90ZToKPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gRGVuIDIxLjAx LjIwMTkgMTAuNTUsIHNrcmV2IERhbmllbCBWZXR0ZXI6Cj4gPj4+Pj4+Pj4+IE9uIE1vbiwgSmFu IDIxLCAyMDE5IGF0IDEwOjEwOjE0QU0gKzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPj4+ Pj4+Pj4+PiBPbiBTdW4sIEphbiAyMCwgMjAxOSBhdCAxMjo0MzowOFBNICswMTAwLCBOb3JhbGYg VHLDuG5uZXMgd3JvdGU6Cj4gPj4+Pj4+Pj4+Pj4gVGhpcyBhZGRzIHJlc291cmNlIG1hbmFnZWQg KGRldnJlcykgdmVyc2lvbnMgb2YgZHJtX2Rldl9pbml0KCkgYW5kCj4gPj4+Pj4+Pj4+Pj4gZHJt X2Rldl9yZWdpc3RlcigpLgo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gQWxzbyBhZGRlZCBp cyBkZXZtX2RybV9kZXZfcmVnaXN0ZXJfd2l0aF9mYmRldigpIHdoaWNoIHNldHMgdXAgZ2VuZXJp Ywo+ID4+Pj4+Pj4+Pj4+IGZiZGV2IGVtdWxhdGlvbiBhcyB3ZWxsLgo+ID4+Pj4+Pj4+Pj4+Cj4g Pj4+Pj4+Pj4+Pj4gZGV2bV9kcm1fZGV2X3JlZ2lzdGVyKCkgaXNuJ3QgZXhwb3J0ZWQgc2luY2Ug dGhlcmUgYXJlIG5vIHVzZXJzLgo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gU2lnbmVkLW9m Zi1ieTogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+Cj4gPj4+Pj4+Pj4+Pgo+ ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gPHNuaXA+Cj4gPj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHJ2LmMKPiA+Pj4+Pj4+Pj4+PiBpbmRleCAzODE1ODFiMDFkNDguLjEyMTI5NzcyYmU0NSAxMDA2 NDQKPiA+Pj4+Pj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCj4gPj4+Pj4+ Pj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwo+ID4+Pj4+Pj4+Pj4+IEBAIC0z Niw2ICszNiw3IEBACj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiAgI2luY2x1ZGUgPGRybS9k cm1fY2xpZW50Lmg+Cj4gPj4+Pj4+Pj4+Pj4gICNpbmNsdWRlIDxkcm0vZHJtX2Rydi5oPgo+ID4+ Pj4+Pj4+Pj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4KPiA+Pj4+Pj4+Pj4+PiAg I2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiAgI2luY2x1 ZGUgImRybV9jcnRjX2ludGVybmFsLmgiCj4gPj4+Pj4+Pj4+Pj4gQEAgLTg3MSw2ICs4NzIsMTEx IEBAIHZvaWQgZHJtX2Rldl91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPj4+ Pj4+Pj4+Pj4gIH0KPiA+Pj4+Pj4+Pj4+PiAgRVhQT1JUX1NZTUJPTChkcm1fZGV2X3VucmVnaXN0 ZXIpOwo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gK3N0YXRpYyB2b2lkIGRldm1fZHJtX2Rl dl9pbml0X3JlbGVhc2Uodm9pZCAqZGF0YSkKPiA+Pj4+Pj4+Pj4+PiArewo+ID4+Pj4+Pj4+Pj4+ ICsgZHJtX2Rldl9wdXQoZGF0YSk7Cj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IFdlIG5lZWQgZHJt X2Rldl91bnBsdWcoKSBoZXJlLCBvciB0aGlzIGlzbid0IHNhZmUuCj4gPj4+Pj4+Pj4KPiA+Pj4+ Pj4+PiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCB0byBjb3ZlciB0aGUgZXJyb3IgcGF0aCBp ZiBwcm9iZSBmYWlscyBiZWZvcmUKPiA+Pj4+Pj4+PiBkZXZtX2RybV9kZXZfcmVnaXN0ZXIoKSBp cyBjYWxsZWQuIGRldm1fZHJtX2Rldl9yZWdpc3Rlcl9yZWxlYXNlKCkgaXMKPiA+Pj4+Pj4+PiB0 aGUgb25lIHRoYXQgY2FsbHMgdW5wbHVnLiBUaGVyZSBhcmUgY29tbWVudHMgYWJvdXQgdGhpcyBp biB0aGUgZnVuY3Rpb25zLgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+IEkgdGhpbmsgSSBnZXQgYSBwcml6 ZSBmb3IgYmVpbmcgaWdub3JhbnQgYW5kIGJsaW5kIDotLwo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+Pgo+ ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+ICt9Cj4gPj4+Pj4+Pj4+Pj4gKwo+ID4+Pj4+Pj4+Pj4+ ICsvKioKPiA+Pj4+Pj4+Pj4+PiArICogZGV2bV9kcm1fZGV2X2luaXQgLSBSZXNvdXJjZSBtYW5h Z2VkIGRybV9kZXZfaW5pdCgpCj4gPj4+Pj4+Pj4+Pj4gKyAqIEBwYXJlbnQ6IFBhcmVudCBkZXZp Y2Ugb2JqZWN0Cj4gPj4+Pj4+Pj4+Pj4gKyAqIEBkZXY6IERSTSBkZXZpY2UKPiA+Pj4+Pj4+Pj4+ PiArICogQGRyaXZlcjogRFJNIGRyaXZlcgo+ID4+Pj4+Pj4+Pj4+ICsgKgo+ID4+Pj4+Pj4+Pj4+ ICsgKiBNYW5hZ2VkIGRybV9kZXZfaW5pdCgpLiBUaGUgRFJNIGRldmljZSBpbml0aWFsaXplZCB3 aXRoIHRoaXMgZnVuY3Rpb24gaXMKPiA+Pj4+Pj4+Pj4+PiArICogYXV0b21hdGljYWxseSByZWxl YXNlZCBvbiBkcml2ZXIgZGV0YWNoLiBZb3UgbXVzdCBzdXBwbHkgYQo+ID4+Pj4+Pj4+Pgo+ID4+ Pj4+Pj4+PiBJIHRoaW5rIGEgYml0IG1vcmUgY2xhcml0eSBoZXJlIHdvdWxkIGJlIGdvb2Q6Cj4g Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+ICIuLi4gYXV0b21hdGljYWxseSByZWxlYXNlZCBvbiBkcml2 ZXIgdW5iaW5kIGJ5IGNhbGxpbmQgZHJtX2Rldl91bnBsdWcoKS4iCj4gPj4+Pj4+Pj4+Cj4gPj4+ Pj4+Pj4+Pj4gKyAqICZkcm1fZHJpdmVyLnJlbGVhc2UgY2FsbGJhY2sgdG8gY29udHJvbCB0aGUg ZmluYWxpemF0aW9uIGV4cGxpY2l0bHkuCj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IEkgdGhpbmsg YSBsb3VkIHdhcm5pbmcgZm9yIHRoZXNlIGlzIGluIG9yZGVyOgo+ID4+Pj4+Pj4+Pgo+ID4+Pj4+ Pj4+PiAiV0FSTklORzoKPiA+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4gIkluIGdlbmVyYWxseSBpdCBp cyB1bnNhZmUgdG8gdXNlIGRldm0gZnVuY3Rpb25zIGZvciBkcm0gc3RydWN0dXJlcwo+ID4+Pj4+ Pj4+PiBiZWNhdXNlIHRoZSBsaWZldGltZXMgb2YgJmRybV9kZXZpY2UgYW5kIHRoZSB1bmRlcmx5 aW5nICZkZXZpY2UgZG8gbm90Cj4gPj4+Pj4+Pj4+IG1hdGNoLiBUaGlzIGhlcmUgd29ya3MgYmVj YXVzZSBpdCBkb2Vzbid0IGltbWVkaWF0ZWx5IGZyZWUgYW55dGhpbmcsIGJ1dAo+ID4+Pj4+Pj4+ PiBvbmx5IGNhbGxzIGRybV9kZXZfdW5wbHVnKCksIHdoaWNoIGludGVybmFsbHkgZGVjcmVtZW50 cyB0aGUgJmRybV9kZXZpY2UKPiA+Pj4+Pj4+Pj4gcmVmY291bnQgdGhyb3VnaCBkcm1fZGV2X3B1 dCgpLgo+ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiAiQWxsIG90aGVyIGRybSBzdHJ1Y3R1cmVzIG11 c3Qgc3RpbGwgYmUgZXhwbGljaXRseSByZWxlYXNlZCBpbiB0aGUKPiA+Pj4+Pj4+Pj4gJmRybV9k cml2ZXIucmVsZWFzZSBjYWxsYmFjay4iCj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IFdoaWxlIHRo aW5raW5nIGFib3V0IHRoaXMgSSBqdXN0IHJlYWxpemVkIHRoYXQgd2l0aCB0aGlzIGRlc2lnbiB3 ZSBoYXZlIG5vCj4gPj4+Pj4+Pj4+IGdvb2QgcGxhY2UgdG8gY2FsbCBkcm1fYXRvbWljX2hlbHBl cl9zaHV0ZG93bigpLiBXaGljaCB3ZSBuZWVkIHRvLCBvciBhbGwKPiA+Pj4+Pj4+Pj4ga2luZHMg b2YgdGhpbmdzIHdpbGwgbGVhayBiYWRseSAoY29ubmVjdG9ycywgZmIsIC4uLiksIGJ1dCB0aGVy ZSdzIG5vCj4gPj4+Pj4+Pj4+IHBsYWNlIHRvIGNhbGwgaXQ6Cj4gPj4+Pj4+Pj4+IC0gdW5iaW5k IGlzIHRvbyBlYXJseSwgc2luY2Ugd2UgaGF2ZW4ndCB5ZXQgY2FsbGVkIGRybV9kZXZfdW5wbHVn LCBhbmQgdGhlCj4gPj4+Pj4+Pj4+ICAgZHJtX2Rldl91bnJlZ2lzdGVyIGluIHRoZXJlIG11c3Qg YmUgY2FsbGVkIF9iZWZvcmVfIHdlIHN0YXJ0IHRvIHNodXQKPiA+Pj4+Pj4+Pj4gICBkb3duIGFu eXRoaW5nLgo+ID4+Pj4+Pj4+PiAtIGRybV9kcml2ZXIucmVsZWFzZSBpcyB3YXkgdG9vIGxhdGUu Cj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IE9mYyBmb3IgYSByZWFsIGhvdHVucGx1ZyB0aGVyZSdz IG5vIHBvaW50IGluIHNodXR0aW5nIGRvd24gdGhlIGh3IChpdCdzCj4gPj4+Pj4+Pj4+IGFscmVh ZHkgZ29uZSksIGJ1dCBmb3IgYSBkcml2ZXIgdW5sb2FkL3VuYmluZCBpdCB3b3VsZCBiZSBuaWNl IGlmIHRoaXMKPiA+Pj4+Pj4+Pj4gaGFwcGVucyBhdXRvbWF0aWNhbGx5IGFuZCBpbiB0aGUgcmln aHQgb3JkZXIuCj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IFNvIG5vdCBzdXJlIHdoYXQgdG8gZG8g aGVyZSByZWFsbHkuCj4gPj4+Pj4+Pj4KPiA+Pj4+Pj4+PiBIb3cgYWJvdXQgdGhpcyBjaGFuZ2U6 IChpdCBicmVha3MgdGhlIHJ1bGUgb2YgcHVsbGluZyBoZWxwZXJzIGludG8gdGhlCj4gPj4+Pj4+ Pj4gY29yZSwgc28gbWF5YmUgd2Ugc2hvdWxkIHB1dCB0aGUgZGV2bV8gZnVuY3Rpb25zIGludG8g dGhlIHNpbXBsZSBLTVMKPiA+Pj4+Pj4+PiBoZWxwZXIgaW5zdGVhZD8pCj4gPj4+Pj4+Pgo+ID4+ Pj4+Pj4gWWVhaCBzbWVsbHMgYSBiaXQgbXVjaCBsaWtlIG1pZGxheWVyIC4uLiBXaGF0IHdvdWxk IHdvcmsgaXMgaGF2aW5nIGEgcGlsZQo+ID4+Pj4+Pj4gbW9yZSBkZXZtXyBoZWxwZXIgZnVuY3Rp b25zLCBzbyB0aGF0IHdlIG9uaW9uLXVud3JhcCBldmVyeXRoaW5nIGNvcnJlY3RseSwKPiA+Pj4+ Pj4+IGFuZCBpbiB0aGUgcmlnaHQgb3JkZXIuIFNvOgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+IC0gZGV2 bV9kcm1fZGV2X2luaXQgKGFsd2F5cyBkb2VzIGEgZHJtX2Rldl9wdXQoKSkKPiA+Pj4+Pj4+Cj4g Pj4+Pj4+PiAtIGRldm1fZHJtX3BvbGxfZW5hYmxlIChzaHV0cyBkb3duIHRoZSBwb2xsIGhlbHBl ciB3aXRoIGEgZGV2bSBhY3Rpb24pCj4gPj4+Pj4+Pgo+ID4+Pj4+Pj4gLSBkZXZtX2RybV9tb2Rl X2NvbmZpZ19yZXNldCAoZG9lcyBhbiBhdG9taWNfaGVscGVyX3NodXRkb3duKCkgYXMgaXQncyBj bGVhbnVwIGFjdGlvbikKPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiAtIGRldm1fZHJtX2Rldl9yZWdpc3Rl ciAoZ3JhYnMgYW4gYWRkaXRpb25hbCBkcm1fZGV2X2dldCgpIHJlZmVyZW5jZSBzbyBpdAo+ID4+ Pj4+Pj4gICBjYW4gY2FsbCBkcm1fZGV2X3VucGx1ZygpIHVuY29uZGl0aW9uYWxseSkuCj4gPj4+ Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+PiBCZWF1dGlmdWwhIEkgcmVhbGx5IGxpa2UgdGhpcywgaXQn cyB2ZXJ5IGZsZXhpYmxlLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBXaGVyZSBzaG91bGQgZGV2bV9kcm1f bW9kZV9jb25maWdfcmVzZXQoKSBsaXZlPyBJdCB3aWxsIHB1bGwgaW4gdGhlCj4gPj4+Pj4+IGF0 b21pYyBoZWxwZXIuLi4KPiA+Pj4+Pgo+ID4+Pj4+IEkgdGhpbmsgYSBuZXcgZHJtX2Rldm0uYyBo ZWxwZXIgd291bGQgYmUgbmljZSBmb3IgYWxsIHRoaXMgc3R1ZmYuCj4gPj4+Pj4gRXNwZWNpYWxs eSBzaW5jZSB5b3UgY2FuJ3QgZnJlZWx5IG1peCBkZXZtLWJhc2VkIHNldHVwL2NsZWFudXAgd2l0 aAo+ID4+Pj4+IG5vcm1hbCBjbGVhbnVwIEkgdGhpbmsgaXQnZCBiZSBnb29kIHRvIGhhdmUgaXQg YWxsIHRvZ2V0aGVyIGluIG9uZQo+ID4+Pj4+IHBsYWNlLiBBbmQgcGVyaGFwcyBldmVuIGEgY29k ZSBleGFtcGxlIGluIHRoZSBET0M6IG92ZXJ2aWV3Lgo+ID4+Pj4+Cj4gPj4+Pj4+PiBXZSdkIG5l ZWQgdG8gbWFrZSBzdXJlIHNvbWUgb2YgdGhlIGNsZWFudXAgYWN0aW9ucyBkdHJ0IHdoZW4gdGhl IGRldmljZSBpcwo+ID4+Pj4+Pj4gZ29uZSwgYnV0IEkgdGhpbmsgd2UgY2FuIGFjaGlldmUgdGhh dCBieSBsaWJlcmFsbHkgc3ByaW5rbGluZwo+ID4+Pj4+Pj4gZHJtX2Rldl9lbnRlci9leGl0IG92 ZXIgdGhlbSwgZS5nLiB0aGUgdGhlIGNsZWFudXAgYWN0aW9uIGZvcgo+ID4+Pj4+Pj4gZHJtX21v ZGVfY29uZmlnX3Jlc2V0IHdvdWxkIGJlOgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+IHsKPiA+Pj4+Pj4+ ICAgICAgIGlmIChkcm1fZGV2X2VudGVyKCkpCj4gPj4+Pj4+PiAgICAgICAgICAgICAgIHJldHVy bjsKPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiAgICAgICBkcm1fYXRvbWljX2hlbHBlcl9zaHV0ZG93bigp Owo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+ICAgICAgIGRybV9kZXZfZXhpdCgpOwo+ID4+Pj4+Pj4gfQo+ ID4+Pj4+Pj4KPiA+Pj4+Pj4KPiA+Pj4+Pj4gZHJtX2Rldl9lbnRlcigpIGNhbiBvbmx5IGJlIHVz ZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgZHJtX2RldmljZSBpcwo+ID4+Pj4+PiByZWdpc3RlcmVk IG9yIG5vdCwgaXQgZG9lc24ndCBzYXkgYW55dGhpbmcgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBw YXJlbnQKPiA+Pj4+Pj4gZGV2aWNlLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBBbGwgd2Uga25vdyBpcyB0 aGF0IHRoZSBkZXZpY2UgaXMgYmVpbmcgdW5ib3VuZCBmcm9tIHRoZSBkcml2ZXIsIHdlCj4gPj4+ Pj4+IGRvbid0IGtub3cgaWYgaXQncyB0aGUgZGV2aWNlIHRoYXQncyBiZWluZyByZW1vdmVkIG9y IGlmIGl0J3MgdGhlIGRyaXZlcgo+ID4+Pj4+PiB0aGF0J3MgdW5yZWdpc3RlcmVkLgo+ID4+Pj4+ Cj4gPj4+Pj4gWW91J3JlIHJpZ2h0LCBib3RoIHBhdGhzIHdpbGwgaGF2ZSBjYWxsZWQgZHJtX2Rl dl91bnBsdWcgYnkgdGhlbi4KPiA+Pj4+PiBTaWxseSBtZS4gSSByZWFsbHkgbGlrZWQgbXkgaWRl YSA6LSkKPiA+Pj4+Pgo+ID4+Pj4+PiBJIGhhdmUgbG9va2VkIGF0IHRoZSB2YXJpb3VzIGNhbGwg Y2hhaW5zOgo+ID4+Pj4+Pgo+ID4+Pj4+PiBkcml2ZXJfdW5yZWdpc3RlciAtPgo+ID4+Pj4+PiAg ICAgYnVzX3JlbW92ZV9kcml2ZXIgLT4KPiA+Pj4+Pj4gICAgICAgICBkcml2ZXJfZGV0YWNoIC0+ Cj4gPj4+Pj4+ICAgICAgICAgICAgIGRldmljZV9yZWxlYXNlX2RyaXZlcl9pbnRlcm5hbAo+ID4+ Pj4+Pgo+ID4+Pj4+PiBkZXZpY2VfdW5yZWdpc3RlciAtPgo+ID4+Pj4+PiAgICAgZGV2aWNlX2Rl bCAtPgo+ID4+Pj4+PiAgICAgICAgIGJ1c19yZW1vdmVfZGV2aWNlIC0+Cj4gPj4+Pj4+ICAgICAg ICAgICAgIGRldmljZV9yZWxlYXNlX2RyaXZlciAtPgo+ID4+Pj4+PiAgICAgICAgICAgICAgICAg ZGV2aWNlX3JlbGVhc2VfZHJpdmVyX2ludGVybmFsCj4gPj4+Pj4+Cj4gPj4+Pj4+IHN5c2ZzOiB1 bmJpbmRfc3RvcmUgLT4KPiA+Pj4+Pj4gICAgIGRldmljZV9yZWxlYXNlX2RyaXZlciAtPgo+ID4+ Pj4+PiAgICAgICAgIGRldmljZV9yZWxlYXNlX2RyaXZlcl9pbnRlcm5hbAo+ID4+Pj4+Pgo+ID4+ Pj4+PiBUaGUgb25seSB3YXkgSSd2ZSBmb3VuZCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGhl c2UgaW4gYSBjbGVhbnVwCj4gPj4+Pj4+IGFjdGlvbiBpcyB0aGF0IGRldmljZV9kZWwoKSB1c2Vz IHRoZSBidXMgbm90aWZpZXIgdG8gc2lnbmFsCj4gPj4+Pj4+IEJVU19OT1RJRllfREVMX0RFVklD RSBiZWZvcmUgY2FsbGluZyBidXNfcmVtb3ZlX2RldmljZSgpLiBTdWNoIGEKPiA+Pj4+Pj4gbm90 aWZpZXIgY291bGQgYmUgdXNlZCB0byBzZXQgYSBkcm1fZGV2aWNlLT5wYXJlbnRfcmVtb3ZlZCBm bGFnLgo+ID4+Pj4+Cj4gPj4+Pj4gSG0sIHRoaXMgbWlnaHQgdXBzZXQgR3JlZyBLSCdzIGNvZGUg dGFzdGUgLi4uIG1heWJlIHRoZXJlJ3MgYSBiZXR0ZXIKPiA+Pj4+PiB3YXkgdG8gZG8gdGhpcywg YnV0IGJlc3QgdG8gcHJvdG90eXBlIGEgcGF0Y2ggd2l0aCB0aGlzLCBzZW5kIGl0IHRvCj4gPj4+ Pj4gaGltIGFuZCBhc2sgaG93IHRvIDotKQo+ID4+Pj4+Cj4gPj4+Pgo+ID4+Pj4gSSdsbCBsZWF2 ZSB0aGlzIHRvIHRoZSBvbmUgdGhhdCBuZWVkcyBpdC4gVGhlIHRpbnlkcm0gZHJpdmVycyBkb2Vz bid0Cj4gPj4+PiBuZWVkIHRvIHRvdWNoIGh3IGFmdGVyIERSTSB1bnJlZ2lzdGVyLgo+ID4+Pj4K PiA+Pj4+Pj4gV2h5IGlzIGl0IG5lY2Vzc2FyeSB0byBjYWxsIGRybV9hdG9taWNfaGVscGVyX3No dXRkb3duKCkgaGVyZT8gRG9lc24ndAo+ID4+Pj4+PiBldmVyeXRoaW5nIGdldCBkaXNhYmxlZCB3 aGVuIHVzZXJzcGFjZSBjbG9zZXM/IEl0IGRvZXMgaW4gbXkgdGlueWRybQo+ID4+Pj4+PiB3b3Js ZCA6LSkKPiA+Pj4+Pgo+ID4+Pj4+IElpcmMgZmJkZXYvZmJjb24gY2FuIHJlc3VsdCBpbiBsZWFr cyAuLi4gYXQgbGVhc3Qgd2UndmUgaGFkIHBhdGNoZXMKPiA+Pj4+PiB3aGVyZSBkcml2ZXJzIGxl YWtlZCBkcm1fY29ubmVjdG9yIGFuZCBkcm1fZnJhbWVidWZmZXIgb2JqZWN0cywgYW5kCj4gPj4+ Pj4gdGhleSd2ZSBiZWVuIGZpeGVkIGJ5IGNhbGxpbmcgZHJtX2F0b21pY19oZWxwZXJfc2h1dGRv d24oKSBpbiB0aGUKPiA+Pj4+PiB1bmxvYWQgcGF0aC4gTWF5YmUgdGhpcyBpcyBjYXJnby1jdWx0 aW5nLCBidXQgaXQgZ29lcyB3YXkgYmFjayB0bwo+ID4+Pj4+IHByZS1hdG9taWMsIHdoZXJlIGRy aXZlcnMgY2FsbGVkIGRybV9oZWxwZXJfZm9yY2VfZGlzYWJsZV9hbGwoKS4KPiA+Pj4+Pgo+ID4+ Pj4+IElmIHlvdSB0cnkgdG8gbW92ZSB0aGUgZmJjb24gdG8geW91ciB0aW55ZHJtIGRyaXZlcnMg KGNvbjJmYiBpcwo+ID4+Pj4+IGFwcGFyZW50bHkgdGhlIGNtZGxpbmUgdG9vbCB5b3UgbmVlZCwg bmV2ZXIgdHJpZWQgaXQsIEkgb25seSBzd2l0Y2gKPiA+Pj4+PiB0aGUga2VybmVsJ3MgY29uc29s ZSBiZXR3ZWVuIGZiY29uIGFuZCBkdW1teWNvbiBhbmQgYmFjaywgbm90IHdoYXQKPiA+Pj4+PiBm YmNvbiBkcml2ZXJzIGl0c2VsZiksIHRoZW4gSSB0aGluayB5b3Ugc2hvdWxkIGJlIGFibGUgdG8g cmVwcm9kdWNlLgo+ID4+Pj4+IEFuZCBtYXliZSB5b3UgaGF2ZSBhIGJldHRlciBpZGVhIGhvdyB0 byBkZWFsIHdpdGggdGhpcyBhbGwuCj4gPj4+Pj4KPiA+Pj4+PiBOb3RlIGFsc28gdGhhdCB0aGVy ZSdzIGJlZW4gcHJvcG9zYWxzIGZsb2F0aW5nIGFyb3VuZCB0byBvbmx5IGNsb3NlIGFuCj4gPj4+ Pj4gZHJtX2ZyYW1lYnVmZmVyLCBub3QgYWxzbyByZW1vdmUgaXQgKGxpa2UgdGhlIGN1cnJlbnQg Uk1GQiBpb2N0bAo+ID4+Pj4+IGRvZXMpLCB3aXRoIHRoYXQgY2xvc2luZyB1c2Vyc3BhY2Ugd291 bGQgbm90IG5lY2Vzc2FyaWx5IGxlYWQgdG8gYQo+ID4+Pj4+IGZ1bGwgY2xlYW51cC4KPiA+Pj4+ Pgo+ID4+Pj4+IEFub3RoZXIgdGhpbmcgKHdoaWNoIGRvZXNuJ3QgYXBwbHkgdG8gZHJtX3NpbXBs ZV9kaXNwbGF5X3BpcGUgZHJpdmVycykKPiA+Pj4+PiBpcyBpZiB5b3UgaGF2ZSB0aGUgZGlzcGxh eSBvbiwgYnV0IG5vIHBsYW5lcyBzaG93aW5nIChpLmUuIGFsbCBibGFjaykuCj4gPj4+Pj4gVGhl biBhbGwgdGhlIGZicyB3aWxsIGJlIGNsZWFuZWQgdXAsIGJ1dCBkcm1fY29ubmVjdG9yIHdpbGwg YmUKPiA+Pj4+PiBsZWFraW5nLiBUaGF0J3MgYSBjYXNlIHdoZXJlIHlvdSBuZWVkIGRybV9hdG9t aWNfaGVscGVyX3NodXRkb3duKCkKPiA+Pj4+PiBldmVuIGlmIGZiY29uL2ZiZGV2IGlzbid0IGV2 ZW4gZW5hYmxlZC4KPiA+Pj4+Pgo+ID4+Pj4KPiA+Pj4+IE9rLCB0aGlzIG1lYW5zIHRoYXQgSSBk b24ndCBuZWVkIHRvIGNhbGwgZHJtX2F0b21pY19oZWxwZXJfc2h1dGRvd24oKSBpbgo+ID4+Pj4g dGlueWRybS4gRFJNIHVzZXJzcGFjZSBkaXNhYmxlcyB0aGUgcGlwZSBvbiBjbG9zZSBhbmQgdGhl IGdlbmVyaWMgZmJkZXYKPiA+Pj4+IGVtdWxhdGlvbiBhbHNvIHJlbGVhc2VzIGV2ZXJ5dGhpbmcu Cj4gPj4+PiBFdmVuIHNvLCBtYXliZSBJIHNob3VsZCB1c2UgZGV2bV9kcm1fbW9kZV9jb25maWdf cmVzZXQoKSBhZnRlciBhbGwgdG8KPiA+Pj4+IGtlZXAgZHJpdmVycyB1bmlmb3JtLCB0byBhdm9p ZCBjb25mdXNpb246IHdoeSBkb2Vzbid0IGhlIHVzZSBpdD8KPiA+Pj4KPiA+Pj4gSG0gbWF5YmUg dGhlcmUgaXMgYW4gb2ZmaWNpYWwgd2F5IHRvIHNvbHZlIHRoaXMsIHB1bGxpbmcgaW4gR3JlZytS YWZhZWwuCj4gPj4+Cj4gPj4+IFN1cGVyIHNob3J0IHN1bW1hcnk6IFdlIHdhbnQgdG8gc3RhcnQg dXNpbmcgZGV2bSBhY3Rpb25zIHRvIGNsZWFuIHVwIGRybQo+ID4+PiBkcml2ZXJzLiBIZXJlJ3Mg dGhlIHByb2JsZW06Cj4gPj4+IC0gRm9yIGEgZHJpdmVyIHVubG9hZC91bmJpbmQgd2l0aG91dCBo b3R1bnBsdWcsIHdlIHdhbnQgdG8gcHJvcGVybHkgY2xlYW4KPiA+Pj4gICB1cCB0aGUgaGFyZHdh cmUgYW5kIHNodXQgaXQgYWxsIGRvd24uCj4gPj4KPiA+PiBUaGVuIGRvIGl0IG9uIHByb2JlL2Rp c2Nvbm5lY3QuCj4gPj4KPiA+Pj4gLSBCdXQgaWYgdGhlIGRldmljZSBpcyB1bnBsdWdnZWQgYWxy ZWFkeSwgdGhhdCdzIHByb2JhYmx5IG5vdCB0aGUgYmVzdAo+ID4+PiAgIGlkZWEsIGFuZCB3ZSBv bmx5IHdhbnQgdG8gY2xlYW4gdXAgdGhlIGtlcm5lbCdzIHJlc291cmNlcy9hbGxvY2F0aW9ucy4K PiA+Pgo+ID4+IEFnYWluLCBwcm9iZS9kaXNjb25uZWN0IHdpbGwgYmUgY2FsbGVkIGVpdGhlciB3 YXkuCj4gPj4KPiA+PiBCdXQgYXMgeW91IG5vdGUsIG1lbW9yeSB3aWxsIE5PVCBiZSBmcmVlZCBi eSB0aGUgZGV2bSBzdHVmZiBpZiB5b3UKPiA+PiBtYW51YWxseSB1bmJpbmQgYSBkcml2ZXIgZnJv bSBhIGRldmljZS4KPiA+Pgo+ID4+IFNvIGRvbid0IHRvdWNoIGhhcmR3YXJlIHRoZXJlLCBpdCdz IG5vdCBnb2luZyB0byB3b3JrIDopCj4gPj4KPiA+Pj4gV2hhdCdzIHRoZSByZWNvbW1lbmRhdGlv biBoZXJlPyBJIHNlZSBhIGZldyBvcHRpb25zOgo+ID4+Pgo+ID4+PiAtIE1ha2Ugc3VyZSBldmVy eXRoaW5nIGNhbiBkZWFsIHdpdGggdGhpcyBwcm9wZXJseS4gSG90dW5wbHVnIGNhbiBoYXBwZW4K PiA+Pj4gICBhbnl0aW1lLCBzbyB0aGVyZSdzIGEgcmFjZSBubyBtYXR0ZXIgd2hhdC4KPiA+Pgo+ ID4+IFllcy4KPiA+Pgo+ID4+PiAtIENoZWNrIHdpdGggdGhlIGRldmljZSBtb2RlbCB3aGV0aGVy IHRoZSBzdHJ1Y3QgZGV2aWNlIGlzIGRpc2FwcGVhcmluZyBvcgo+ID4+PiAgIHdoZXRoZXIgd2Un cmUganVzdCBkZWFsaW5nIHdpdGggYSBkcml2ZXIgdW5iaW5kIChubyBpZGVhIGhvdyB0byBkbwo+ ID4+PiAgIHRoYXQpLCBhbmQgYWN0IGFjY29yZGluZ2x5Lgo+ID4+Cj4gPj4gWW91IGRvbid0IGtu b3cgdGhhdCwgc29ycnkuICBKdXN0IGRvIGFueSBoYXJkd2FyZSBzdHVmZiBvbiBkaXNjb25uZWN0 Lgo+ID4+IEFzc3VtaW5nIHlvdXIgaGFyZHdhcmUgaXMgc3RpbGwgcHJlc2VudCA6KQo+ID4+Cj4g Pj4+IC0gRnVuZGFtZW50YWwgcXVlc3Rpb246IFRvdWNoaW5nIHRoZSBodyBmcm9tIGRldm0gYWN0 aW9ucywgaXMgdGhhdCBvaz8gSWYKPiA+Pj4gICBub3QsIHRoZW4gdGhlIHByZXR0eSBuaWZ0eSBw bGFuIGxhaWQgb3V0IGluIHRoaXMgdGhyZWFkIHdvbnQgd29yay4KPiA+Pgo+ID4+IE5vcGUsIHRo YXQncyBub3QgZ29pbmcgdG8gd29yaywgdGhlIGRldmljZSBjb3VsZCBlaXRoZXIgYmUgbG9uZyBn b25lLCBvcgo+ID4+IHlvdSB3aWxsIG5vdCBiZSBjYWxsZWQgZHVlIHRvIHVuYmluZCBoYXBwZW5p bmcgZnJvbSB1c2Vyc3BhY2UuCj4gPj4KPiA+PiBCdXQgcmVhbGx5LCB1bmJpbmQgZnJvbSB1c2Vy c3BhY2UgaXMgdmVyeSB2ZXJ5IHJhcmUsIGl0J3MgYSBkZXZlbG9wZXIKPiA+PiB0aGluZyBtb3N0 bHkuICBPaCBhbmQgYSB2aXJ0dWFsIGRyaXZlciB0aGluZywgYnV0IHRob3NlIHBlb3BsZSBhcmUg Y3JhenkKPiA+PiA6KQo+ID4+Cj4gPj4+IC0gU29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50 Pwo+ID4+Cj4gPj4gRG8gaXQgaW4gZGlzY29ubmVjdCA6KQo+ID4gCj4gPiBBaCwgSSBmb3Jnb3Qg dG8gbWVudGlvbiB0aGUgaW1wb3J0YW50IGNvbnN0cmFpbnQgOi0pIGRpc2Nvbm5lY3QvdW5iaW5k Cj4gPiBzaG91bGQgYmUgdGhlIGZvbGxvd2luZyBzZXF1ZW5jZToKPiA+IAo+ID4gMS4gVW5yZWdp c3RlciBhbGwgdGhlIHVzZXJzcGFjZSBpbnRlcmZhY2VzICh0aGVyZSdzIGEgbG90IG9mIHRoZW0p IGFuZAo+ID4gbWFrZSBzdXJlIGFsbCB0aGUgcGVuZGluZyBpb2N0bHMgYXJlIGRvbmUgc28gdGhh dCBmcm9tIG5vdyBvbgo+ID4gdXNlcnNwYWNlIHNlZXMgbG90cyBvZiAtRUlPIChpbiBjYXNlIGl0 IHN0aWxsIGhhcyBmZCBvcGVuLCB3aGljaCBpcwo+ID4gZ29pbmcgdG8gYmUgdGhlIG5vcm1hbCBm b3IgaG90dW5wbHVnLgo+ID4gCj4gPiAyLiBTaHV0IGRvd24gaHcgYW5kIGFsbCBvbmdvaW5nIG9w ZXJhdGlvbnMgKG9ubHkgcmVsZXZhbnQgZm9yIHVuYmluZCwKPiA+IGJ1dCBuZWVkcyB0byBiZSBh YmxlIHRvIGNvcGUgd2l0aCBzdWRkZW4gaG90dW5wbHVnIG9uIHRvcCBhbnl3YXkpLgo+ID4gCj4g PiAzLiBDbGVhbiB1cCB0aGUga2VybmVsIG1lc3MgYW5kIHJlbGVhc2UgZXZlcnl0aGluZy4KPiA+ IAo+ID4gUHJvYmUgaXMgZXhhY3RseSB0aGUgb3RoZXIgd2F5IHJvdW5kLCBzbyB3b3VsZCBwZXJm ZWN0bHkgZml0IGludG8gdGhlCj4gPiBkZXZtIG9uaW9uIGNsZWFudXAuIFNlZSBpbiB0aGUgY29t bWVudGVkIGVhcmxpZXIgcmVwbGllcyBhYm92ZSBob3cKPiA+IHRoYXQgd291bGQgbWF0Y2ggaW4g ZGV0YWlscywgYnV0IHRsZHI7IGlmIHdlIGhhdmUgdG8gZG8gMi4gaW4KPiA+IGRpc2Nvbm5lY3Qs IHRoZW4gd2UgYWxzbyBoYXZlIHRvIGRvIDEuIGluIGRpc2Nvbm5lY3RlZCwgYW5kIG9ubHkgZG9p bmcKPiA+IDMuIHRocm91Z2ggZGV2bSBpcyBhbG1vc3Qgbm90IHdvcnRoIHRoZSBib3RoZXIuIEJ1 dCBpZiB3ZSBjb3VsZCBkbyBhbGwKPiA+IHRocmVlIHRocm91Z2ggZGV2bSB0aGVuIHNpbXBsZSBk cml2ZXJzIHdvdWxkbid0IGV2ZW4gbmVlZCBhbnkKPiA+IGRpc2Nvbm5lY3QvdW5iaW5kIGNhbGxi YWNrIGF0IGFsbC4gVGhhdCdzIG91ciBtb3RpdmF0aW9uIGZvciB0cnlpbmcgdG8KPiA+IGNvbWUg dXAgd2l0aCBhbiBhbnN3ZXIgdGhhdCdzIG5vdCAiZG8gaXQgaW4gZGlzY29ubmVjdCIuICJkbyBp dCBpbgo+ID4gZGlzY29ubmVjdCIgaXMgaG93IHdlIGRvIGl0IGFsbCB0b2RheSBhbHJlYWR5Lgo+ ID4gCj4gPiBZZXMgd2UncmUgdHJ5aW5nIHRvIG1ha2UgdGlueSBkcml2ZXJzIGV2ZW4gc21hbGxl ciwgd2UgaGF2ZSBlbm91Z2gKPiA+IG5vd2FkYXlzIHRoYXQgdGhpcyBzdHVmZiB3b3VsZCBiZSB3 b3J0aCBpdCA6LSkKPiA+IAo+IAo+IEkgdGhpbmsgYSBzb2x1dGlvbiBpcyB0byBzYXkgdGhhdCBk cml2ZXJzIHRoYXQgd2FudCB0byB0b3VjaCBodyBvbgo+IGRpc2Nvbm5lY3QgbmVlZHMgdG8gdXNl IGRldmljZV9kcml2ZXItPnJlbW92ZSB0byBkbyB0aGF0LgoKVGhhdCdzIHdoYXQgSSB3YXMgdHJ5 aW5nIHRvIHNheSBhYm92ZSAicmVtb3ZlIiBpcyB3aGF0IEkgd2FzIHRyeWluZyB0bwpzYXkgaXMg ImRpc2Nvbm5lY3QiLgoKdGhhbmtzLAoKZ3JlZyBrLWgKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==