From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Luis R. Rodriguez" Subject: Re: [PATCH v3 2/3] cxgb4: use module_long_probe_init() Date: Sun, 17 Aug 2014 07:02:41 +0200 Message-ID: <20140817050241.GD3347@wotan.suse.de> References: <525DB349B3FB5444AE057A887CB2A8D85A0977@nice.asicdesigners.com> <53ECE709.5030008@chelsio.com> <20140814195321.GO21930@wotan.suse.de> <53EE4E24.9020104@chelsio.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <53EE4E24.9020104@chelsio.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: systemd-devel-bounces@lists.freedesktop.org Sender: "systemd-devel" To: Casey Leedom , "gregkh@linuxfoundation.org" Cc: One Thousand Gnomes , "tiwai@suse.de" , Kay Sievers , Sreekanth Reddy , Praveen Krishnamoorthy , Nagalakshmi Nandigama , Tetsuo Handa , "MPT-FusionLinux.pdl@avagotech.com" , Tim Gardner , Benjamin Poirier , Santosh Rastapur , Hariprasad S , Pierre Fersing , Anish Bhatt , Oleg Nesterov , Abhijit Mahajan , systemd-devel@lists.freedesktop.org, "linux-scsi@vger.kernel.org" , "netdev@vger.kernel.org" , linux-ke List-Id: linux-scsi@vger.kernel.org T24gRnJpLCBBdWcgMTUsIDIwMTQgYXQgMTE6MTU6MDBBTSAtMDcwMCwgQ2FzZXkgTGVlZG9tIHdy b3RlOgo+Cj4gT24gMDgvMTQvMjAxNCAxMjo1MyBQTSwgTHVpcyBSLiBSb2RyaWd1ZXogd3JvdGU6 Cj4+IE9uIFRodSwgQXVnIDE0LCAyMDE0IGF0IDA5OjQyOjQ5QU0gLTA3MDAsIENhc2V5IExlZWRv bSB3cm90ZToKPj4+IE9uIDA4LzEzLzIwMTQgMDQ6MzMgUE0sIEFuaXNoIEJoYXR0IHdyb3RlOgo+ Pj4+IEFkZGluZyBDYXNleSB3aG8ncyBhY3R1YWxseSBpbmNoYXJnZSBvZiB0aGlzIGNvZGUgYW5k IG1pc3NpbmcgZnJvbSB0aGUgQ0MgbGlzdAo+Pj4gICAgVGhhbmtzIEFuaXNoIQo+Pj4KPj4+ICAg IEFzIEkgbWVudGlvbmVkIHRvIEFuaXNoLCB0aGVyZSBhcmUgZnVuZGFtZW50YWxseSB0d28gcHJv YmxlbXMgaGVyZSBpbiB0aGUKPj4+IHRpbWUgYmVpbmcgY29uc3VtZWQgYnkgdGhlIGN4Z2I0IFBD SSBwcm9iZSgpIGZ1bmN0aW9uOgo+Pj4KPj4+ICAgMS4gV2hlbiB2YXJpb3VzIGZpcm13YXJlIGZp bGVzIGFyZW4ndCBwcmVzZW50LCByZXF1ZXN0X2Zpcm13YXJlKCkKPj4+ICAgICAgY2FuIHRha2Ug YSB2ZXJ5IGxvbmcgdGltZS4gIFRoaXMgaXMgZWFzaWx5IHNvbHZlZCBieSB1c2luZwo+Pj4gICAg ICByZXF1ZXN0X2Zpcm13YXJlX2RpcmVjdCgpIGFuZCBJIGNlcnRhaW5seSBoYXZlIG5vIG9iamVj dGlvbiB0byB0aGF0Lgo+PiBJIHNlbnQgYSBwYXRjaCBmb3IgdGhpcyBhIHdoaWxlIGFnbywgc2lu Y2UgdGhlcmUgaXMgbm8gb2JqZWN0aW9uIGlmCj4+IHlvdSdkIGxpa2UgdG8gYXBwbHkgdGhlIHBh dGNoOgo+Pgo+PiBodHRwOi8vcGF0Y2h3b3JrLm96bGFicy5vcmcvcGF0Y2gvMzYzNzU2Lwo+Cj4g ICBJIHRoaW5rIEknbGwgbGVhdmUgdGhhdCB0byBIYXJpcHJhc2FkIHNpbmNlIGhlJ3MgYmVlbiBk b2luZyBhbGwgdGhlIAo+IGRpcmVjdCBrZXJuZWwub3JnIHdvcmsgcmVjZW50bHkuICBBbHNvLCBJ IGhvbmVzdGx5IGRvbid0IHVuZGVyc3RhbmQgdGhlIAo+IGRpZmZlcmVuY2VzIGJldHdlZW4gcmVx dWVzdF9maXJtd2FyZSgpIGFuZCByZXF1ZXN0X2Zpcm13YXJlX2RpcmVjdCgpLiAgSXQgCj4gc291 bmRzIGxpa2UgcmVxdWVzdF9maXJtd2FyZSgpIHdpbGwgaW52b2tlIHNvbWUgdXNlci1sZXZlbCBw cm9jZXNzIGlmIGl0IAo+IGNhbid0IGZpbmQgdGhlIHNwZWNpZmllZCBmaXJtd2FyZS4gIFdoYXQg dGhhdCB1c2VyLWxldmVsIHByb2Nlc3Mgd2lsbCBkbyBpcyAKPiB1bmtub3duIGFuZCBvZiB1bmtu b3duIHZhbHVlIChhbmQgdW5kb2N1bWVudGVkIGFzIGZhciBhcyBJIGNhbiB0ZWxsKS4KClRoZSB1 c2Vyc3BhY2UgaGVscGVyIGVuZGVkIHVwIGJlaW5nIGEgYmFkIGlkZWEgc28gaXRzIGJlaW5nIHBo YXNlZCBvdXQKYW5kIHdpbGwgZXZlbnR1YWxseSBiZSByZW1vdmVkLiB1ZGV2IHVzZWQgdG8gYmUg dGhlIGRlZmF1bHQgaGVscGVyCmFuZCBpdCB3b3VsZCB3cml0ZSBmaXJtd2FyZSB1c2luZyB0aGUg c3lzZnMgaW50ZXJmYWNlLCBhbmQgaXQgd291bGQKaGF2ZSBhIHRpbWVvdXQgb2YgNjAgc2Vjb25k cy4gT3RoZXIgZHJpdmVycyBjb3VsZCBwcm92aWRlIHRoZWlyIG93bgp1c2Vyc3BhY2UgaGVscGVy IGFuZCBsYXN0IEkgY2hlY2tlZCB3ZSBvbmx5IGhhZCBvbmUgRGVsbCBkZXZpY2UgZHJpdmVyCmxl ZnQgd2hpY2ggc3RpbGwgcmVxdWlyZWQgdGhpcyBrZXJuZWwgZmVhdHVyZS4gVGhlIGdvYWwgaXMg dG8gcGhhc2UKdGhhdCBvdXQgYW5kIHNpbXBseSBudWtlIGl0LCBpbiBmYXZvciBmb3IgdGhlIGRp cmVjdCBrZXJuZWwgZmlybXdhcmUKbG9hZGluZywgdGhlIGtlcm5lbCBlc3NlbnRpYWxseSBvcGVu cyB0aGUgZmlsZSBhbmQgcmVhZHMgaXRzIGNvbnRlbnRzCmRpcmVjdGx5IGZvcm0gdGhlIGZpbGVz eXN0ZW0sIHRoaXMgcmVtb3ZlcyB0aGUgc2lsbHkgdGltZW91dC4gdWRldgppcyBwYXJ0IG9mIHN5 c3RlbWQgYW5kIGEgcGF0Y2ggaW4gTWF5IHRyaWVkIHRvIHJlbW92ZSB0aGUgdWRldiBmaXJtd2Fy ZQpsb2FkZXIgWzBdLCBpdCBob3dldmVyIHdhcyBkZWNpZGVkIGl0IHdvbid0IGJlIHVudGlsIHRo ZSBkZWxsIHJidQpkcml2ZXIgZ2V0cyBmaXhlZCB0byBub3QgcmVxdWlyZSBrZXJuZWwgc2lkZSBz dXBwb3J0IGZvciB0aGUgdXNlcnNwYWNlCmZpcm13YXJlIGhlbHBlciBbMV0uIEkgd291bGQgbm90 IGJlIHN1cnByaXNlZCBpZiB0aGlzIGhhcHBlbnMgc29vbiBhbmQKeW91IHNob3VsZCBleHBlY3Qg TGludXggZGlzdHJpYnV0aW9ucyBhdm9pZGluZyBlbmFibGluZyB0aGUga2VybmVsCkNPTkZJR19G V19MT0FERVJfVVNFUl9IRUxQRVIsIGFzIGl0IGVzc2VudGlhbGx5IGhhcyBhbiBpbmN1cnJlZApi dWlsdC1pbiB0aW1lb3V0IG9mIDYwIHNlY29uZHMgZXZlcnkgc2luZ2xlIHRpbWUgcmVxdWVzdF9m aXJtd2FyZSgpCmlzIHVzZWQuIHJlcXVlc3RfZmlybXdhcmVfZGlyZWN0KCkgZW5hYmxlcyBkZXZp Y2UgZHJpdmVycyB0aGF0IGtub3cKdGhhdCB0aGUgZmlybXdhcmVzIGJlaW5nIHJlcXVlc3RlZCBh cmUgb3B0aW9uYWwgdG8gc2tpcCB0aGUgdXNlcm1vZGUKaGVscGVyIGFuZCB0aGVyZWZvcmUgc2tp cHMgdGhlIDYwIHNlY29uZCB0aW1lb3V0IGFsbCB0b2dldGhlci4KT25jZSB0aGUgdXNlcm1vZGUg aGVscGVyIGlzIHJlbW92ZWQgcmVxdWVzdF9maXJtd2FyZSgpIHdpbGwgYmVoYXZlCnRoZSBzYW1l IGFzIHJlcXVlc3RfZmlybXdhcmVfZGlyZWN0KCkgd2l0aCB0aGUgb25seSBkaWZmZXJlbmNlCmJl aW5nIGEgcHJpbnQgb2YgZmFpbHVyZSBpZiB0aGUgZmlybXdhcmUgd2FzIGV4cGVjdGVkIHRvIGJl IHByZXNlbnQuClJpZ2h0IG5vdyB1c2luZyByZXF1ZXN0X2Zpcm13YXJlX2RpcmVjdCgpIHdpbGwg aGVscCBzcGVlZCB0aGluZ3MgdXAKZm9yIGRyaXZlcnMgdGhhdCBoYXZlIG9wdGlvbmFsIGZpcm13 YXJlIGFzIHRoZSB1c2VybW9kZSBoZWxwZXIgaXMKc3RpbGwgcHJlc2VudCwgdGhhdCdzIGFsbC4K ClswXSBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL3N5c3RlbWQtZGV2ZWwv MjAxNC1NYXkvMDE5NTg3Lmh0bWwKWzFdIGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJj aGl2ZXMvc3lzdGVtZC1kZXZlbC8yMDE0LU1heS8wMTk2MzEuaHRtbAoKPj4gQXBhcnQgZnJvbSB0 aGF0IHlvdSBhbHNvIHdhbnQgdG8gdXNlIGFzeW5jaCBmaXJtd2FyZSBsb2FkaW5nIGJ1dAo+PiB0 byB1c2UgdGhhdCBwcm9wZXJseSAoSSBhbHNvIGhhZCBzZW50IHNvbWUgYmFzaWMgaW5pdGlhbCBw YXRjaGVzCj4+IGZvciBhc3luY2ggZmlybXdhcmUgbG9hZGluZyBidXQgd2l0aG91dCBtb3Zpbmcg b3V0IG90aGVyIGxvZ2ljCj4+IHlldCkgeW91IHdhbnQgdG8gYWxzbyBsZXQgZHJpdmVyIGluaXRh bGl6YXRpb24gY29tcGxldGUKPj4gYXN5bmNocm9ub3VzbHkgbGF0ZXIuCj4KPiAgIFNvIGl0IGxv b2tlZCBsaWtlIHRoZSBtb2R1bGVfaW5pdCgpIGZ1bmN0aW9uIGlzIHdoYXQgdGhlIHZhcmlvdXMg cGF0Y2hlcyAKPiBoYXZlIG1vdmVkIGludG8gYW4gYXN5bmNocm9ub3VzIHRocmVhZCwgcmlnaHQ/ IAoKSXRzIGEgdGVtcG9yYXJ5IGhhY2sgdG8gZml4IGRyaXZlcnMgd2hpY2ggYXJlIHRha2luZyBv dmVyIDMwIHNlY29uZHMgb24KaW5pdCwgYnV0IGl0IGFsc28gaGVscHMgdXMgYW5ub3RhdGUgZHJp dmVycyB0aGF0IGFyZSBub3QgYWRoZXJpbmcgdG8gdGhlCm5ldyAzMCBzZWNvbmQgcmVxdWlyZW1l bnQgaW1wb3NlZCBvbiB1cyBieSBzeXN0ZW1kIGFuZCBub3cgc3VwcG9ydGVkCmFzIHJlYXNvbmFi bGUga2VybmVsIHBvbGljeS4gSSB3b3VsZCBpbiBubyB3YXkgY29uc2lkZXIgaXQgYXN5bmNocm9u b3VzCmZ1bmN0aW9uYWxpdHksIHlvdSBzaG91bGQgY2FsbCBpdCBhIGhhY2sgYW5kIGFubm90YXRp b24gb2YgYnJva2VuCmRyaXZlcnMgd2l0aCBsb25nIHByb2JlcyB0aGF0IG5lZWQgd29yay4KCj4g VGhhdCBzaG91bGQgYWRkcmVzcyB0aGUgCj4gd29ycnkgdGhhdCBhIGZhaWxpbmcgUENJIHByb2Jl KCkgd291bGRuJ3QgYmUgYWJsZSB0byByZXR1cm4gdGhlIGZhaWx1cmUgCj4gc3RhdHVzIHRvIHRo ZSBQQ0kgaW5mcmFzdHJ1Y3R1cmUgKGFuZCBlbnN1cmUgdGhhdCB0aGUgUENJIHJlbW92ZSgpIGZ1 bmN0aW9uIAo+IHdvdWxkbid0IGJlIGVycm9uZW91c2x5IGNhbGxlZCBmb3IgYSBkZXZpY2Ugd2hp Y2ggZmFpbGVkIHByb2JlKCkpLgoKUmlnaHQsIHRoYXQgc2hvdWxkIG5vdCBoYXBwZW4gd2l0aCB0 aGlzIGhhY2ssIHRoZSBvbmx5IGRpZmZlcmVuY2UKaGVyZSBpcyB0aGF0IGxvYWRpbmcgdGhlIGRy aXZlciB3aWxsIHJldHVybiBpbW1lZGlhdGVseSBhbmQgcmV0dXJuCmEgc3VjY2Vzcywgd2hpbGUg YmVoaWRuIHRoZSBzY2VuZXMgaXQgZ29lcyBvbiBydW5uaW5nIHRoZSBkcml2ZXIncwpvd24gb2xk IHByb2JlLiBGb3IgdGhpcyByZWFzb24gdGhlIG1vZHVsZSBsb2FkaW5nIHdpbGwgcmV0dXJuCnN1 Y2Vzc2Z1bGx5IGltbWVkaWF0ZWx5IHVubGVzcyB0aGVyZSBpcyBubyBtZW1vcnkgZm9yIHRoZSBk cml2ZXIsCmZvciBleGFtcGxlLiBUaGlzIGlzIGFjY2VwdGFibGUgZ2l2ZW4gdGhhdCBkcml2ZXIn cyBpbml0IHNlcXVlbmNlCnNob3VsZCBpbml0aWFsaXplIHRoZSBkZXZpY2UgZHJpdmVyLCBwcm9i aW5nIGZvciBkZXZpY2VzIHNob3VsZCBiZQpoYW5kbGVkIGFzeW5jaHJvbm91c2x5IGJlaGluZCB0 aGUgc2NlbmVzLiBQcm9wZXIgYXN5bmNocm9ub3VzIHByb2JpbmcKd2lsbCB2YXJ5IGRlcGVuZGlu ZyBvbiB0aGUgc3Vic3lzdGVtIGFuZCBhcmNoaXRlY3R1cmUgb2YgdGhlIGRyaXZlciwKdXNpbmcg YXN5bmNocm9ub3VzIGZpcm13YXJlIGxvYWRpbmcgaXMganVzdCBvbmUgb2YgdGhlIHN0cmF0ZWdp ZXMKZHJpdmVycyBzaG91bGQgYmUgdXNpbmcuIFlvdXIgZHJpdmVyIG9idmlvdXNseSBuZWVkcyBt dWNoIG1vcmUgd29yay4KCj4+PiAgIDIuIFdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGFkYXB0ZXJz IHByZXNlbnQgaW4gYSBzeXN0ZW0gd2hpY2gKPj4+ICAgICAgbmVlZCBmaXJtd2FyZSBkb3dubG9h ZGVkLCBlYWNoIG9uZSBpbmRpdmlkdWFsbHkgbWF5IG5vdCB0YWtlCj4+PiAgICAgIGEgdG9uIG9m IHRpbWUgYnV0IHRvZ2V0aGVyIHRoZXkgY2FuIGV4Y2VlZCBzaW1wbGUgTW9kdWxlIExvYWQKPj4+ ICAgICAgVGltZW91dHMuICBUaGVyZSdzIG5vdCBhIHNpbXBsZSBhbnN3ZXIgaGVyZS4KPj4gSSBo YWQgb3JpZ2luYWxseSByZWNvbW1lbmRlZCB0byB3cml0ZSB5b3VyIG93biBwbGF0Zm9ybSBkcml2 ZXIgZm9yCj4+IHRoaXMgYW5kIGhhdmUgZWFjaCBwb3J0IHByb2JlIGJ1dCBHcmVnIGhhcyBwcm92 aWRlZCB0aGUgbGFzdCBhZHZpY2UKPj4gZm9yIHRoaXMgb24gdGhlIHBhdGNoIEkgc2VudCB0byBh ZGQgZGVmZXJyZWQgcHJvYmUgc3VwcG9ydCBmcm9tCj4+IGluaXQsIGhpcyByZWNvbW1lbmRhdGlv biB3YXMgZm9yIHlvdSB0byB3cml0ZSB5b3VyIG93biBidXMgY29kZSBmb3IKPj4gdGhlIGRyaXZl cjoKPj4KPj4gaHR0cDovL3d3dy5zcGluaWNzLm5ldC9saXN0cy9saW51eC1zY3NpL21zZzc2Njk1 Lmh0bWwKPgo+ICAgSSdtIHVuZmFtaWxpYXIgd2l0aCB0aGUgdGVybSAicGxhdGZvcm0gZHJpdmVy IgoKZHJpdmVycy9iYXNlL3BsYXRmb3JtLmMKaW5jbHVkZS9saW51eC9wbGF0Zm9ybV9kZXZpY2Uu aAoKPiBidXQgdGhlICJwcm9iZSgpIiBpcyBvZiAKPiB0aGUgYWRhcHRlciwgbm90IHBvcnRzLiAg T3VyIGRyaXZlciBhdHRhY2hlcyB0byBhIHNpbmdsZSBQQ0kgUGh5c2ljYWwgCj4gRnVuY3Rpb24g YW5kIG1hbmFnZXMgYWxsIGFkYXB0ZXIgcmVzb3VyY2VzIChpbmNsdWRpbmcgaW5zdGFudGlhdGlu ZyAKPiBtdWx0aXBsZSBOZXR3b3JrIERldmljZXMpIGZyb20gdGhhdCBzaW5nbGUgUEYuICBUaGlz IGFsbG93cyB0aGUgZHJpdmVyIHRvIAo+IG1hbmFnZSBhZGFwdGVyIHJlc291cmNlcyBhcyBhIGFs bG9jYXRpb24gcG9vbHMsIGV0Yy4KClRoZSBpZGVhIGlzIHRvIGhhdmUgZWFjaCBuZXR3b3JrIGRl dmljZSBiZSBpbml0aWFsaXplZCB0aHJvdWdoIGFuIGludGVybmFsCmJ1cyBsb2dpYy4KCj4gICBU aGUgcHJvYmUoKSBmdW5jdGlvbiB2ZXJpZmllcyB0aGF0IHRoZSBQQ0kgRGV2aWNlIGlzIHdoYXQg d2Ugd2FudCB0byAKPiBtYW5hZ2UgYW5kIHBlcmZvcm1zIGFsbCBhZGFwdGVyIGluaXRpYWxpemF0 aW9uLiAgVGhpcyBoYXMgYmVlbiB3aGF0ICJEZXZpY2UgCj4gUHJvYmUiIHJvdXRpbmUgaGF2ZSBi ZWVuIGRvaW5nIGZvciBtb3JlIHRoYW4gZm9ydHkgeWVhcnMgKHByZWRhdGluZyBVTklYKS4gIAo+ IFNvbWUgT1NlcyBoYXZlIHNlcGFyYXRlbHkgYWJzdHJhY3RlZCB0aGUgY29uY2VwdCBvZiBEZXZp Y2UgSW5pdGlhbGl6YXRpb24gCj4gYnV0IFVOSVgvTGludXggaGF2ZSBtb3N0bHkgc3RheWVkIHdp dGggdGhlIHNpbmdsZSBEZXZpY2UgUHJvYmUgZnVuY3Rpb24gLi4uIAo+ICBTbyBJJ20gbm90IHN1 cmUgd2hlcmUgcGVvcGxlIGFyZSBhc2tpbmcgdXMgdG8gbW92ZSB0aGUgRGV2aWNlIAo+IEluaXRp YWxpemF0aW9uIGNvZGUgdG8gLi4uCgpUaGVyZSdzIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIGRyaXZl ciBpbml0aWFsaXphdGlvbiBhbmQgZGV2aWNlIGRyaXZlciBwcm9iaW5nLgpPbiBMaW51eCB3aGVu IGRldmljZSBkcml2ZXJzIGhhdmUgYXV0b3Byb2JlIGVuYWJsZWQgKG1vc3QpIHRoZSBkcml2ZXIn cyBvd24KcHJvYmUgd2lsbCBiZSBydW4gaWYgYSBkZXZpY2UgaXMgZm91bmQgdG8gaGF2ZSBhIG1h dGNoIHJpZ2h0IGFmdGVyIHRoZSBkcml2ZXIKaXMgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGVk LCB0aGlzIGluIHR1cm4gbWVhbnMgdGhhdCAqYm90aCogaW5pdCBhbmQgcHJvYmUKd2lsbCBiZSBj YWxsZWQgdXBvbiBkcml2ZXIgaW5pdGlhbGl6YXRpb24gcmlnaHQgbm93LgoKWW91IHRoZXJlZm9y ZSBhcmUgcmlnaHQgdG8geWVsbCBibG9vZHkgbXVyZGVyIGFzIGN4Z2I0X2luaXRfbW9kdWxlKCkg ZG9lc24ndApkbyBhbnl0aGluZyBvdGhlciB0aGFuIHJlZ2lzdGVyIHRoZSBQQ0kgZHJpdmVyIHdp dGggcGNpX2RyaXZlcl9yZWdpc3RlcigpLgpJdHMgeW91ciBkcml2ZXIncyBQQ0kgcHJvYmUgd2hp Y2ggdGFrZXMgZW9ucy4KCnBjaV9kcml2ZXJfcmVnaXN0ZXIoKSAtLT4gYnVzX2FkZF9kcml2ZXIo KSAtLT4gZHJpdmVyX2F0dGFjaCgpCgpOb3csIG9uZSBjb3VsZCBhcmd1ZSBhbmQgSU1ITyBpdCB3 b3VsZCBiZSByZWFzb25hYmxlIHRoYXQgdGhlIGRyaXZlcidzCnByb2Jpbmcgc2hvdWxkIGJlIGRl YWx0IHdpdGggc2VwYXJhdGVseSwgaXQgYXQgbGVhc3Qgc2VlbXMgdGhhdCdzIHdoYXQKd2Ugd2Fu dCwgZ2l2ZW4gdGhhdCBpdHMgbm90IGRyaXZlcidzIGluaXQgd2hpY2ggaXMgbG9uZywgaXRzIHRo ZSBkcml2ZXIncwpvd24gcHJvYmUgd2hpY2ggd2Ugd2lzaCB0byBzdGFydCBiZWhhdmluZyBhc3lu Y2hyb25vdXNseS4gV2UgY291bGQgaG93ZXZlcgpnZW5lcmFsaXplIG9mZmxvYWRpbmcgcHJvYmUg b24gYSBrdGhyZWFkIGFzIHdlbGwsIGJ1dCBpdHMgbm90IGNsZWFyIHRvIG1lCmlmIHRoaXMgaXMg ZGVzaXJhYmxlLCBHcmVnPyBJIHRyaWVkIHRoaXMgb24gbXkgc3lzdGVtIGFuZCBpdCBkaWQgc2Vl bSB0bwpoZWxwIHdpdGggYm9vdCB0aW1lLCBzeXN0ZW1kLWFuYWx5emUgeWllbGQgdGhpcyBiZWZv cmUgYW5kIGFmdGVyOgoKU3RhcnR1cCBmaW5pc2hlZCBpbiA0LjI3MXMgKGtlcm5lbCkgKyAyLjU0 N3MgKGluaXRyZCkgKyAzMC44NjhzICh1c2Vyc3BhY2UpID0gMzcuNjg2cwpTdGFydHVwIGZpbmlz aGVkIGluIDMuNDgzcyAoa2VybmVsKSArIDIuNDU1cyAoaW5pdHJkKSArIDMxLjU4MHMgKHVzZXJz cGFjZSkgPSAzNy41MTlzCgpBIHBhdGNoIGZvciB0aGlzIGlzIHN1cHBsaWVkIGF0IHRoZSBib3R0 b20gaW4gY2FzZSBmb2xrcyB3b3VsZCBsaWtlIHRvIHRyeS4KSSBkaWQgcnVuIGludG8gYW4gaXNz dWUgd2l0aCBteSBidWlsdCBpbiBrZXlib2FyZCBub3Qgd29ya2luZyB0aG91Z2ggYnV0CmRpZG4n dCBmaW5kIHdoeSwgYSBVU0Iga2V5Ym9hcmQgaG93ZXZlciBkaWQgdGhlIHRyaWNrLgoKPiAgIEZv ciB1cywgdGhpcyBEZXZpY2UgUHJvYmUgYWRhcHRlciBpbml0aWFsaXphdGlvbiBpbmNsdWRlcyBk b3dubG9hZGluZyB0aGUgCj4gbWFpbiBjaGlwIGZpcm13YXJlIChpZiBuZWVkZWQgd2hlbiB0aGUg YWRhcHRlciBjb250YWlucyBvbGQgdW5zdXBwb3J0ZWQgCj4gZmlybXdhcmUpIGFuZCBwb3NzaWJs eSBleHRlcm5hbCBQSFkgZmlybXdhcmUgYXMgd2VsbCBmb3IgMTBHYi9zICJCVCIgY2FyZHMgCj4g Li4uICBFdmVuIHdpdGhvdXQgdGhlIHJlcXVlc3RfZmlybXdhcmUoKSB1c2VyLWxldmVsIHByb2Nl c3MgaXNzdWVzLCBzaW1wbHkgCj4gRkxBU0gnaW5nIGJvdGggZmlybXdhcmUgaW1hZ2VzIG9uIHRo ZSBCVCBjYXJkcyBjYW4gdGFrZSBxdWl0ZSBhIHdoaWxlLgoKWXVwLCB5ZWFoIHRoaXMgaXMgd2hh dCBHcmVnIHJlY29tbWVuZGVkIGNvdWxkIGJlIGRlYWx0IHdpdGggdGhyb3VnaCBhIGRldmljZQpz cGVjaWZpYyBidXMuCgo+Pj4gICAgUGFydCBvZiB0aGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgaXQn cyBhIE1vZHVsZSBMb2FkIFRpbWVvdXQgaW5zdGVhZCBvZiBhCj4+PiBwZXItZGV2aWNlIFByb2Jl IFRpbWVvdXQuCj4+IFNlZW1zIGxpa2UgeW91IGNhbiBmaXggdGhpcyB3aXRoIGEgYnVzIGRyaXZl ci4KPgo+ICAgSSBhcG9sb2dpemUsIGFnYWluIEknbSB1bmZhbWlsaWFyIHdpdGggdGhpcyB0ZXJt IHdpdGggcmVzcGVjdCB0byBMaW51eC4gIAo+IChOb3Qgc3VycHJpc2luZyBzaW5jZSBJJ20gc3Rp bGwgYSBuZW9waHl0ZSB3aXRoIHJlZ2FyZCB0byBMaW51eC4pCgpkcml2ZXJzL3NzYi8gaXMgYW4g ZXhhbXBsZSBidXQgcGVyaGFwcyBHcmVnIGNhbiBwcm92aWRlIGEgYmV0dGVyIG1vcmUKc3VpdGFi bGUgZXhhbXBsZSA/Cgo+Pgo+Pj4gICAgUGFydCBvZiB0aGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBj dXJyZW50Cj4+PiBhcmNoaXRlY3R1cmUgaGFzIERldmljZSBQcm9iZSBoYXBwZW5pbmcgb3V0IG9m IHRoZSBNb2R1bGUgSW5pdGlhbGl6YXRpb24KPj4+IHdoZW4gd2UgY2FsbCBwY2lfcmVnaXN0ZXJf ZHJpdmVyKCkgd2l0aCBvdXIgUENJIERldmljZSBJRCBUYWJsZS4KPj4+Cj4+PiAgICBSdW5uaW5n IHRoZSBEZXZpY2UgUHJvYmVzIGFzeW5jaHJvbm91c2x5IGhhcyBiZWVuIGRpc2N1c3NlZCBidXQg dGhhdCBoYXMKPj4+IHRoZSBwcm9ibGVtIHRoYXQgaXQncyB0aGVuIGltcG9zc2libGUgdG8gcmV0 dXJuIHRoZSBEZXZpY2UgUHJvYmUgU3RhdHVzLgo+Pj4gVGhpcyBpcyBhIHByb2JsZW0gZm9yIERy aXZlciBGYWxsYmFjayBhbmQsIGlmIHRoZSBwcm9iZSBmYWlscywgd2UncmUgbm90Cj4+PiBzdXBw b3NlZCB0byBjYWxsIHRoZSBEZXZpY2UgUmVtb3ZlIGZ1bmN0aW9uLiBUbyBtYWtlIHRoaXMgd29y aywgdGhlCj4+PiBzeW5jaHJvbm91cy9hc3luY2hyb25vdXMgYm91bmRhcnkgd291bGQgcmVhbGx5 IG5lZWQgdG8gYmUgdXAgaW4gdGhlIFBDSQo+Pj4gSW5mcmFzdHJ1Y3R1cmUgbGF5ZXIgc28gdGhl IERldmljZSBQcm9iZSBzdGF0dXMgY291bGQgYmUgY2FwdHVyZWQgaW4gdGhlCj4+PiBub3JtYWwg bG9naWMuICBUaGlzIHdvdWxkIGJlIGEgbW9kZXJhdGVseSBsYXJnZSBjaGFuZ2UgdGhlcmUgLi4u Cj4+IFNvbWUgbWFpbnRhaW5lcnMgY29uc2lkZXIgbW9zdCBvZiB0aGUgd29yayB0byBnZXQgd2hh dCB5b3UgbmVlZCBkb25lCj4+IHNpbXBsZSwgSSd2ZSB0cmllZCB0byBleHBsYWluIGl0IGFpbid0 IHNvLCBzbyBnbGFkIHlvdSBwcm92aWRlZCBhIGJpdAo+PiBvZiBkZXRhaWxzIGhlcmUuIFRvIGJl IGNsZWFyIGl0cyBub3QganVzdCBhYm91dCBhc3luY2ggZmlybXdhcmUgbG9hZGluZywKPj4geW91 IG5lZWQgYSBiaXQgbW9yZSB3b3JrLiBDYW4geW91IGV2YWx1YXRlIHVzaW5nIGEgYnVzIGRyaXZl cj8KPgo+ICAgSGhtbW0sIGEgc2Vjb25kIHJlZmVyZW5jZSB0byB0aGlzIHRlcm0uICBPYnZpb3Vz bHkgSSBuZWVkIGEgcG9pbnRlciBoZXJlIAo+IGFuZCBhbiB1bmRlcnN0YW5kaW5nIG9mIGhvdyBh IEJ1cyBEcml2ZXIgZGlmZmVycyBmcm9tICJOb3JtYWwgRHJpdmVycyIgLi4uCgpTdXJlLCBzdGFy dCBsb29raW5nIGF0IHNzYiBhbmQgSSBjYW4gc2VlIGlmIHRoZXJlIGFyZSBvdGhlciBleGFtcGxl cy4KCj4+PiAgICBEZWZlcnJpbmcgdGhlIERldmljZSBJbml0aWFsaXphdGlvbiB0aWxsIHRoZSBm aXJzdCAiaWZ1cCIgaGFzIGFsc28gYmVlbgo+Pj4gZGlzY3Vzc2VkIGFuZCBpcyBjZXJ0YWlubHkg cG9zc2libGUsIHRob3VnaCBhIG1vZGVyYXRlbHkgbGFyZ2UKPj4+IGFyY2hpdGVjdHVyYWwgY2hh bmdlIHRvIGV2ZXJ5IGRyaXZlciB3aGljaCBuZWVkcyBpdC4gIEl0IGFsc28gaGFzIHRoZQo+Pj4g dW5mb3J0dW5hdGUgZWZmZWN0IG9mIGludHJvZHVjaW5nIHJhbmRvbSBsYXJnZSBkZWxheXMgZGly ZWN0bHkgb24gdXNlcgo+Pj4gY29tbWFuZHMuICBGcm9tIGEgVXNlciBFeHBlcmllbmNlIHBlcnNw ZWN0aXZlIEkgd291bGQgdGVuZCB0byB3YW50IHN1Y2gKPj4+IGxhcmdlIGRlbGF5cyBpbiB0aGUg RGV2aWNlIFByb2JlCj4+IFlvdSBzaG91bGQganVzdCB1c2UgYXN5bmNoIGZpcm13YXJlIGxvYWRp bmcgdGhlcmUgYW5kIG9ubHkgb25jZSB5b3VyCj4+IGRyaXZlciBpcyBkb25lIGxvYWRpbmcgZmly bXdhcmUgc3RhcnQgZXhwb3NpbmcgdGhlIGRldmljZShzKSBhcyB5b3UKPj4gc2VlIGZpdCB3aXRo IHlvdXIgYnVzIGRyaXZlci4KPgo+ICAgVGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0IG91ciBEZXZp Y2UgSW5pdGlhbGl6YXRpb24gZGVwZW5kcyBpbnRpbWF0ZWx5IG9uIAo+IHRoZSBtYWluIGZpcm13 YXJlLiAgT3VyIFQzIGNoaXAgYWxzbyBoYWQgZmlybXdhcmUgYnV0IHdpdGggVDQvVDUgKGFuZCAK PiBiZXlvbmQpIHdlJ3ZlIG1vdmVkIGEgbG90IG1vcmUgZnVuY3Rpb25hbGl0eSBpbnRvIHRoZSBt YWluIGZpcm13YXJlIOKAlCAKPiBpbmNsdWRpbmcgQ2hpcCBpbml0aWFsaXphdGlvbiDigJQgd2hp Y2ggaGFzIGFsbG93ZWQgdXMgdG8gc2ltcGxpZnkgdGhlIEhvc3QgCj4gRHJpdmVycyBhbmQgYWxz byBoaWQgbW9zdCBvZiB0aGUgY2hpcCB2ZXJzaW9uIGRpZmZlcmVuY2VzIGZyb20gdGhlIEhvc3Qg Cj4gRHJpdmVyLgoKT0suIFJlZ2FyZGxlc3MgeW91IHNob3VsZCB1c2UgYXN5bmNoIGZpcm13YXJl IGxvYWRpbmcuCgo+Pj4gLiAgQnV0IHRoYXQncyBzb21ldGhpbmcgdGhhdCByZWFsbHkKPj4+IGRl c2VydmVzIGEgcmVhbCBVc2VyIEludGVyYWN0aW9uIHN0dWR5IHJhdGhlciB0aGFuIHRocm93aW5n IGEgZGFydC4KPj4+Cj4+PiAgICBPbiB0aGUgd2hvbGUsIEkgdGhpbmsgdGhhdCBpbnRyb2R1Y2lu ZyB0aGVzZSBNb2R1bGUgTG9hZCBUaW1lb3V0cyBoYXNuJ3QKPj4+IGJlZW4gd2VsbCB0aG91Z2h0 IG91dCB3aXRoIHJlc3BlY3QgdG8gdGhlIHJlcGVyY3Vzc2lvbnMgYW5kIEknZCBiZSBtb3JlCj4+ PiBpbmNsaW5lZCB0byBiYWNrIHRoYXQgb3V0IHRpbGwgYSB3ZWxsIHRob3VnaHQgb3V0IGRlc2ln biBpcyBkZXZlbG9wZWQuICBCdXQKPj4+IEknbSBoZXJlIGZvciB0aGUgZGlzY3Vzc2lvbi4KPj4g VGhlIHdheSB0aGF0IHRoZSAzMCBzZWNvbmQgdGltZW91dCB3YXMgaW50cm9kdWNlZCBhcyBhIG5l dyBkcml2ZXIKPj4gaW5pdGlhbGl6YXRpb24gcmVxdWlyZW1lbnQgd2FzIGNlcnRhaW5seSBub3Qg aWRlYWwgc3BlY2lhbGx5IHNpbmNlCj4+IHRoZSByZXNwZWN0aXZlIHN5c3RlbWQgcGF0Y2ggdGhh dCBpbnRlbmRlZCB0byB0cmlnZ2VyIHRoZSBTSUdLSUxMIG9uCj4+IGttb2QgbW9kdWxlIGxvYWRp bmcgb25seSB0b29rIGVmZmVjdCBvbmNlIGtlcm5lbCBjb21taXQgNzg2MjM1ZWUKPj4gd2VudCBp biBhYm91dCBhIHllYXIgbGF0ZXIsIGFuZCBzaW5jZSB0aGUgb3JpZ2luYWwgc3lzdGVtZCBjb21t aXQKPj4gd2FzIG9ubHkgYWRkcmVzc2luZyBhc3luY2hyb25vdXMgZmlybXdhcmUgbG9hZGluZyBh cyBhIHBvc3NpYmxlCj4+IGlzc3VlIHRoYXQgZHJpdmVycyBtYXkgbmVlZCB0byBmaXguIFRoZSBj eGdiNCBkcml2ZXIgaXMgYSBnb29kCj4+IGV4YW1wbGUgdGhhdCBuZWVkcyBxdWl0ZSBhIGJpdCBv ZiBtb3JlIHdvcmsuIFJlZ2FyZGxlc3Mgc3lzdGVtZAo+PiBmb2xrcyBhcmUgcmlnaHQgLS0gYnV0 IGFnYWluLCBoYXZpbmcgdGhpcyBiZSBpbnRyb2R1Y2VkIGFzIGEgbmV3Cj4+IHJlcXVpcmVtZW50 IHRoYXQgb3RoZXJ3aXNlIHNpbXBseSBraWxscyBkcml2ZXJzIHNlZW1zIGEgYml0IHRvbwo+PiBh Z2dyZXNzaXZlIHNwZWNpYWxseSBpZiBpdHMga2lsbGluZyBib290IG9uIHNvbWUgc3lzdGVtcyBk dWUgdG8KPj4gZGVsYXlzIG9uIHN0b3JhZ2UgZHJpdmVycy4gV2hhdCdzIGRvbmUgaXMgZG9uZSAt LSBhbmQgd2UgbmVlZCB0bwo+PiBtb3ZlIG9uLiBXZSBhbHJlYWR5IHJldmlld2VkIHR3aWNlIG5v dyByZXZlcnRpbmcgNzg2MjM1ZWUgYW5kIHRoYXQKPj4gd29uJ3QgaGFwcGVuLCBhcyBhIGNvbXBy b21pc2Ugd2UncmUgbG9va2luZyBmb3IgYW4gZWFzeSBhZ3JlZWFibGUKPj4gZ2VuZXJhbCBkcml2 ZXIgd29yayBhcm91bmQgdGhhdCB3b3VsZCBib3RoIGNpcmN1bXZlbnQgdGhlIGlzc3VlCj4+IGFu ZCBsZXQgdXMgZWFzaWx5IGdyZXAgZm9yIGJyb2tlbiBkcml2ZXJzLiBUaGUgZGVmZXJyZWQgcHJv YmUgdHJpY2sKPj4gd2FzIHRoZSBmaXJzdCBhcHByb2FjaCBhbmQgdGhpcyBzZXJpZXMgYWRkcmVz c2VzIHRoZSBtb3JlIGFncmVlYWJsZQo+PiBzb2x1dGlvbi4gVGhpcyAyIGxpbmUgcGF0Y2ggdGhl biBpcyB3aGF0IHdlIGFyZSBsb29raW5nIGFzIHdvcmsKPj4gYXJvdW5kIHVudGlsIHlvdXIgZHJp dmVyIGdldHMgcHJvcGVybHkgZml4ZWQuCj4+Cj4+IEFwYXJ0IGZyb20gdGhlc2Uga2VybmVsIGNo YW5nZXMgdGhlcmUgYXJlIHN5c3RlbWQgY2hhbmdlcyB3ZSd2ZQo+PiBsb29rZWQgYXQgbW9kaWZ5 aW5nLCBIYW5uZXMnIHBhdGNoIDk3MTk4NTljMDdhLCBub3cgbWVyZ2VkIHVwc3RyZWFtIG9uCj4+ IHN5c3RlbWQgbGV0cyB5b3Ugb3ZlcnJpZGUgdGhlIHRpbWVvdXQgdmFsdWUgdGhyb3VnaCB0aGUg a2VybmVsIGNvbW1hbmQKPj4gbGluZS4gVGhpcyB3aWxsIG9ubHkgaGVscCBmb3IgYWxsIHN5c3Rl bXMgaWYgeW91IHVzZSBhIGhpZ2ggZW5vdWdoCj4+IGxhcmdlIHRpbWVvdXQgdmFsdWUsIG9yIG9u IGEgY2FzZSBieSBjYXNlIGJhc2lzIGZvciBlYWNoIHN5c3RlbS4KPj4gSSByZWNlbnRseSBwcm9w b3NlZCByZXBsYWNpbmcgYSBraWxsIGZvciBhIHdhcm4gb25seSBmb3IgdWRldgo+PiBrbW9kIGJ1 aWx0IGluIGNvbW1hbmRzLCB0aGF0J3MgdW5hY2NlcHRhYmxlIGZvciBzeXN0ZW1kJ3MgYXJjaGl0 ZWN0dXJlCj4+IHRob3VnaCBzbyB0aGUgbGFzdCB0aGluZyBJIHByb3Bvc2VkIGluc3RlYWQgdG8g dXNlICpmb3Igbm93KiBpcyBhCj4+IG11bHRpcGxpZXIgZm9yIGVhY2ggZGlmZmVyZW50IHR5cGUg b2YgdWRldiBidWlsdC1pbiBjb21tYW5kIGFuZAo+PiBmb3Iga21vZCB3ZSdkIHVzZSBhIGhpZ2gg ZW5vdWdoIHZhbHVlLCB0aGUgdGltZW91dCB0aGVyZWZvcmUgd291bGQKPj4gYmUgcmVhbGx5IGxh cmdlIGZvciBtb2R1bGUgbG9hZGluZyBmb3Igbm93LCBidXQgd2UnZCBzdGlsbCB3YW50IHRvCj4+ IGNvbGxlY3QgbG9ncyBvZiBkcml2ZXJzIHRha2luZyBsb25nIHRvIHByb2JlLiBUaGF0J3Mgc3Rp bGwgYmVpbmcKPj4gZGlzY3Vzc2VkIFswXSBidXQgbXkgaG9wZSBpcyB0aGF0IHdpdGggdGhpcyBz ZXJpZXMgYW5kIHRoYXQgb3RoZXIKPj4gc3lzdGVtZCBkaXNjdXNzaW9uIHdlJ2xsIGhhdmUgY292 ZXJlZCBib3RoIGFyZWFzIGFmZmVjdGVkIGFuZCBoYXZlCj4+IGEgZ29vZCBzdHJhdGVneSB0byBt b3ZlIGZvcndhcmQgd2l0aCB0aGlzIG5ldyBkcml2ZXIgcmVxdWlyZW1lbnQuCj4+Cj4+IFswXSBo dHRwOi8vY29tbWVudHMuZ21hbmUub3JnL2dtYW5lLmNvbXAuc3lzdXRpbHMuc3lzdGVtZC5kZXZl bC8yMTY4OQo+Cj4gICBPa2F5LCBvYnZpb3VzbHkgYSBsb3Qgb2YgaGlzdG9yeSBoZXJlLiAgSSB0 aGluayBJJ20gc3R1Y2sgd2l0aCB0aGUgYmFzaWMgCj4gZGVzaXJlIHRvIHJldHVybiBhIERldmlj ZSBQcm9iZSBmYWlsdXJlIGlmIHRoZSBhZGFwdGVyIGZhaWxzIGluaXRpYWxpemF0aW9uIAo+IGJ1 dCBhbHNvIGJlaW5nIHRvbGQgdGhhdCB3ZSBjYW4ndCB0YWtlICJ0b28gbG9uZyIgcGVyZm9ybWlu ZyB0aGUgRGV2aWNlIAo+IEluaXRpYWxpemF0aW9uIHBvcnRpb24gb2YgdGhlIERldmljZSBQcm9i ZSAuLi4gIFdoZXJlIHNob3VsZCBEZXZpY2UgCj4gSW5pdGlhbGl6YXRpb24gYmUgcGVyZm9ybWVk IGlmIG5vdCBpbiB0aGUgRGV2aWNlIFByb2JlIHJvdXRpbmU/CgpZZWFoIGl0cyBhIGdvb2QgcG9p bnQsIGl0cyBpbXBvcnRhbnQgd2UgaGlnaGxpZ2h0IHRoYXQgYWxsIGFsb25nIGl0cwpub3QgZHJp dmVyJ3MgaW5pdCBzZXF1ZW5jZSB0aGF0IGlzIHRha2luZyBsb25nLCBpdHMgdGhlIHByb2JlIHRo YXQKaXMgdGFraW5nIGxvbmcgYW5kIGl0cyBiZWNhdXNlIHdlIHRyaWdnZXIgdGhhdCByaWdodCBh ZnRlciB3ZQppbml0aWFsaXplIHRoZSBkcml2ZXIsIGltbWVkaWF0ZWx5IGlmIGF1dG9wcm9iZSBp cyBlbmFibGVkIG9uIHRoZQpidXMuIFJlZ2FyZGxlc3MgdGhvdWdoIHRoaW5ncyBsaWtlIGFzeW5j aCBmaXJtd2FyZSBsb2FkaW5nIGlzCnNvbWV0aGluZyBmb2xrcyBzaG91bGQgc3RyaXZlIGZvciAt LSB0aGF0IG5vIG9uZSBpcyBnb2luZyB0byBhcmd1ZQp3aXRoLCBpdHMgdGhlIG90aGVyIGFzcGVj dHMgb2YgcHJvYmluZyB0aGF0IHlvdSBhbHNvIG5lZWQgdG8gd29yawpvbiBzdWNoIGFzIGEgYnVz IGRyaXZlciBidXQgLS0gbm93IHRoYXQgd2UndmUgcmVhY2hlZCB0aGlzCmNsYXJpZmljYXRpb24g SSBkbyB3b25kZXIgaWYgaXQgbWFrZXMgc2Vuc2UgdG8gKm5vdCogaGF2ZSBkcml2ZXJzCnByb2Jl IGNhbGxzIHNwYXduZWQgaW1tZWRpYXRlbHkgYW5kIGluc3RlYWQgaGF2ZSB0aGVtIHJ1biB0aHJv dWdoCmt0aHJlYWRzLiBFeGFtcGxlIHBhdGNoIG9uIGhvdyB0byBkbyB0aGF0IGJlbG93LgoKICBM dWlzCgotLS0KIGRyaXZlcnMvYmFzZS9kZC5jICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysr LQogaW5jbHVkZS9saW51eC9kZXZpY2UuaCB8ICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZS9kZC5j IGIvZHJpdmVycy9iYXNlL2RkLmMKaW5kZXggZTRmZmJjZi4uYjBmNTRkYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9iYXNlL2RkLmMKKysrIGIvZHJpdmVycy9iYXNlL2RkLmMKQEAgLTQ4Miw2ICs0ODIs MTIgQEAgc3RhdGljIGludCBfX2RyaXZlcl9hdHRhY2goc3RydWN0IGRldmljZSAqZGV2LCB2b2lk ICpkYXRhKQogCXJldHVybiAwOwogfQogCitpbnQgZHJpdmVyX2F0dGFjaF9hbGwodm9pZCAqYXJn KQoreworCXN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYgPSAoc3RydWN0IGRldmljZV9kcml2ZXIg KikgYXJnOworCXJldHVybiBidXNfZm9yX2VhY2hfZGV2KGRydi0+YnVzLCBOVUxMLCBkcnYsIF9f ZHJpdmVyX2F0dGFjaCk7Cit9CisKIC8qKgogICogZHJpdmVyX2F0dGFjaCAtIHRyeSB0byBiaW5k IGRyaXZlciB0byBkZXZpY2VzLgogICogQGRydjogZHJpdmVyLgpAQCAtNDkzLDcgKzQ5OSwxMyBA QCBzdGF0aWMgaW50IF9fZHJpdmVyX2F0dGFjaChzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEpCiAgKi8KIGludCBkcml2ZXJfYXR0YWNoKHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCiB7 Ci0JcmV0dXJuIGJ1c19mb3JfZWFjaF9kZXYoZHJ2LT5idXMsIE5VTEwsIGRydiwgX19kcml2ZXJf YXR0YWNoKTsKKwlkcnYtPmF0dGFjaF90aHJlYWQgPSBrdGhyZWFkX2NyZWF0ZShkcml2ZXJfYXR0 YWNoX2FsbCwgZHJ2LCAiJXNfJXMiLAorCQkJCQkgICAgImRyaXZlcl9hdHRhY2giLCBkcnYtPm5h bWUpOworCWlmIChJU19FUlIoZHJ2LT5hdHRhY2hfdGhyZWFkKSkKKwkJcmV0dXJuIFBUUl9FUlIo ZHJ2LT5hdHRhY2hfdGhyZWFkKTsKKwlnZXRfdGFza19zdHJ1Y3QoZHJ2LT5hdHRhY2hfdGhyZWFk KTsKKwl3YWtlX3VwX3Byb2Nlc3MoZHJ2LT5hdHRhY2hfdGhyZWFkKTsKKwlyZXR1cm4gMDsKIH0K IEVYUE9SVF9TWU1CT0xfR1BMKGRyaXZlcl9hdHRhY2gpOwogCkBAIC01NjIsNiArNTc0LDExIEBA IHZvaWQgZHJpdmVyX2RldGFjaChzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2KQogewogCXN0cnVj dCBkZXZpY2VfcHJpdmF0ZSAqZGV2X3BydjsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJaW50IGVy cjsKKworCWVyciA9IGt0aHJlYWRfc3RvcChkcnYtPmF0dGFjaF90aHJlYWQpOworCWlmIChlcnIp CisJCXJldHVybjsKIAogCWZvciAoOzspIHsKIAkJc3Bpbl9sb2NrKCZkcnYtPnAtPmtsaXN0X2Rl dmljZXMua19sb2NrKTsKQEAgLTU4Niw0ICs2MDMsNSBAQCB2b2lkIGRyaXZlcl9kZXRhY2goc3Ry dWN0IGRldmljZV9kcml2ZXIgKmRydikKIAkJCWRldmljZV91bmxvY2soZGV2LT5wYXJlbnQpOwog CQlwdXRfZGV2aWNlKGRldik7CiAJfQorCXB1dF90YXNrX3N0cnVjdChkcnYtPmF0dGFjaF90aHJl YWQpOwogfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kZXZpY2UuaCBiL2luY2x1ZGUvbGlu dXgvZGV2aWNlLmgKaW5kZXggZGM3YzBiYTcuLmZhMmJjZWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv bGludXgvZGV2aWNlLmgKKysrIGIvaW5jbHVkZS9saW51eC9kZXZpY2UuaApAQCAtMjM1LDYgKzIz NSw3IEBAIHN0cnVjdCBkZXZpY2VfZHJpdmVyIHsKIAogCWJvb2wgc3VwcHJlc3NfYmluZF9hdHRy czsJLyogZGlzYWJsZXMgYmluZC91bmJpbmQgdmlhIHN5c2ZzICovCiAKKwlzdHJ1Y3QgdGFza19z dHJ1Y3QgKmF0dGFjaF90aHJlYWQ7CiAJY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZAkqb2ZfbWF0 Y2hfdGFibGU7CiAJY29uc3Qgc3RydWN0IGFjcGlfZGV2aWNlX2lkCSphY3BpX21hdGNoX3RhYmxl OwogCi0tIAoyLjAuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18Kc3lzdGVtZC1kZXZlbCBtYWlsaW5nIGxpc3QKc3lzdGVtZC1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3N5c3RlbWQtZGV2ZWwK