From mboxrd@z Thu Jan 1 00:00:00 1970 From: Trent Piepho Subject: Re: [PATCH v16 6/6] ARM: socfpga: fpga bridge driver support Date: Fri, 10 Jun 2016 02:18:00 +0000 Message-ID: <1465525089.15779.203.camel@rtred1test09.kymeta.local> References: <1454707803-27947-1-git-send-email-atull@opensource.altera.com> <1454707803-27947-7-git-send-email-atull@opensource.altera.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1454707803-27947-7-git-send-email-atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org> Content-Language: en-US Content-ID: Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: "atull-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org" Cc: Rob Herring , "pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org" , Moritz Fischer , Josh Cartwright , "gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org" , "monstr-pSz03upnqPeHXe+LvDLADg@public.gmane.org" , "michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org" , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Jonathan Corbet , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "delicious.quinoa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org" , "dinguyen-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx@public.gmane.org" , Matthew Gerlach List-Id: devicetree@vger.kernel.org T24gRnJpLCAyMDE2LTAyLTA1IGF0IDE1OjMwIC0wNjAwLCBhdHVsbEBvcGVuc291cmNlLmFsdGVy YS5jb20gd3JvdGU6DQo+IFN1cHBvcnRzIEFsdGVyYSBTT0NGUEdBIGJyaWRnZXM6DQo+ICAqIGZw Z2Eyc2RyYW0NCj4gICogZnBnYTJocHMNCj4gICogaHBzMmZwZ2ENCj4gICogbHdocHMyZnBnYQ0K PiANCj4gQWxsb3dzIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgYnJpZGdlcyB0aHJvdWdoIHRoZSBG UEdBDQo+IEJyaWRnZSBGcmFtZXdvcmsgQVBJIGZ1bmN0aW9ucy4NCg0KSSdtIHJlcGx5aW5nIHRv IHYxNiBiZWNhdXNlIGl0IGV4aXN0cyBvbiBnbWFuZSwgd2hpbGUgdjE3IGFwcGVhcnMgbm90DQp0 by4gIGxrbWwub3JnJ3MgZm9yd2FyZCBmZWF0dXJlIGFwcGVhcnMgdG8gYmUgYnJva2VuIHNvIEkg Y2FuJ3QgcmVwbHkgdG8NCnRoYXQgbWVzc2FnZSAobm8gd2F5IHRvIGdldCBtZXNzYWdlLWlkKS4g IEJ1dCB2MTcgb2YgdGhpcyBwYXRjaCBzaG91bGQNCmJlIHRoZSBzYW1lLiAgSWYgYSB2MTggd2Fz IHBvc3RlZCwgSSd2ZSBub3QgYmVlbiBhYmxlIHRvIGZpbmQgaXQuDQoNCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZnBnYS9hbHRlcmEtaHBzMmZwZ2EuYyBiL2RyaXZlcnMvZnBnYS9hbHRlcmEtaHBz MmZwZ2EuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwLi5jMTVkZjQ3 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZHJpdmVycy9mcGdhL2FsdGVyYS1ocHMyZnBnYS5j DQo+IEBAIC0wLDAgKzEsMjEzIEBADQo+ICsvKg0KPiArICogRlBHQSB0by9mcm9tIEhQUyBCcmlk Z2UgRHJpdmVyIGZvciBBbHRlcmEgU29DRlBHQSBEZXZpY2VzDQo+ICsgKg0KPiArICogIENvcHly aWdodCAoQykgMjAxMy0yMDE1IEFsdGVyYSBDb3Jwb3JhdGlvbiwgQWxsIFJpZ2h0cyBSZXNlcnZl ZC4NCj4gKyAqDQo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdA0KPiArICogdW5kZXIgdGhlIHRlcm1zIGFu ZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwNCj4gKyAqIHZl cnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQo+ ICsgKg0KPiArICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIGl0IHdp bGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVA0KPiArICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yDQo+ICsgKiBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yDQo+ICsgKiBtb3JlIGRldGFpbHMuDQo+ICsgKg0KPiArICogWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YWxvbmcgd2l0aA0KPiArICogdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+Lg0KPiArICovDQo+ICsNCj4gKy8qDQo+ICsgKiBUaGlzIGRyaXZl ciBtYW5hZ2VzIGJyaWRnZXMgb24gYSBBbHRlcmEgU09DRlBHQSBiZXR3ZWVuIHRoZSBBUk0gaG9z dA0KPiArICogcHJvY2Vzc29yIHN5c3RlbSAoSFBTKSBhbmQgdGhlIGVtYmVkZGVkIEZQR0EuDQo+ ICsgKg0KPiArICogVGhpcyBkcml2ZXIgc3VwcG9ydHMgZW5hYmxpbmcgYW5kIGRpc2FibGluZyBv ZiB0aGUgY29uZmlndXJlZCBwb3J0cywgd2hpY2gNCj4gKyAqIGFsbG93cyBmb3Igc2FmZSByZXBy b2dyYW1taW5nIG9mIHRoZSBGUEdBLCBhc3N1bWluZyB0aGF0IHRoZSBuZXcgRlBHQSBpbWFnZQ0K PiArICogdXNlcyB0aGUgc2FtZSBwb3J0IGNvbmZpZ3VyYXRpb24uICBCcmlkZ2VzIG11c3QgYmUg ZGlzYWJsZWQgYmVmb3JlDQo+ICsgKiByZXByb2dyYW1taW5nIHRoZSBGUEdBIGFuZCByZS1lbmFi bGVkIGFmdGVyIHRoZSBGUEdBIGhhcyBiZWVuIHByb2dyYW1tZWQuDQo+ICsgKi8NCj4gKw0KPiAr I2luY2x1ZGUgPGxpbnV4L2Nsay5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L2ZwZ2EvZnBnYS1icmlk Z2UuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9t ZmQvc3lzY29uLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+DQo+ICsjaW5jbHVkZSA8 bGludXgvb2ZfcGxhdGZvcm0uaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4NCj4gKyNp bmNsdWRlIDxsaW51eC9yZXNldC5oPg0KPiArDQo+ICsjZGVmaW5lIEFMVF9MM19SRU1BUF9PRlNU CQkJMHgwDQo+ICsjZGVmaW5lIEFMVF9MM19SRU1BUF9NUFVaRVJPX01TSwkJMHgwMDAwMDAwMQ0K PiArI2RlZmluZSBBTFRfTDNfUkVNQVBfSDJGX01TSwkJCTB4MDAwMDAwMDgNCj4gKyNkZWZpbmUg QUxUX0wzX1JFTUFQX0xXSDJGX01TSwkJCTB4MDAwMDAwMTANCj4gKw0KPiArI2RlZmluZSBIUFMy RlBHQV9CUklER0VfTkFNRQkJCSJocHMyZnBnYSINCj4gKyNkZWZpbmUgTFdIUFMyRlBHQV9CUklE R0VfTkFNRQkJCSJsd2hwczJmcGdhIg0KPiArI2RlZmluZSBGUEdBMkhQU19CUklER0VfTkFNRQkJ CSJmcGdhMmhwcyINCj4gKw0KPiArc3RydWN0IGFsdGVyYV9ocHMyZnBnYV9kYXRhIHsNCj4gKwlj b25zdCBjaGFyICpuYW1lOw0KPiArCXN0cnVjdCByZXNldF9jb250cm9sICpicmlkZ2VfcmVzZXQ7 DQo+ICsJc3RydWN0IHJlZ21hcCAqbDNyZWc7DQo+ICsJLyogVGhlIEwzIFJFTUFQIHJlZ2lzdGVy IGlzIHdyaXRlIG9ubHksIHNvIGtlZXAgYSBjYWNoZWQgdmFsdWUuICovDQo+ICsJdW5zaWduZWQg aW50IGwzX3JlbWFwX3ZhbHVlOw0KPiArCXVuc2lnbmVkIGludCByZW1hcF9tYXNrOw0KPiArCXN0 cnVjdCBjbGsgKmNsazsNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBpbnQgYWx0X2hwczJmcGdhX2Vu YWJsZV9zaG93KHN0cnVjdCBmcGdhX2JyaWRnZSAqYnJpZGdlKQ0KPiArew0KPiArCXN0cnVjdCBh bHRlcmFfaHBzMmZwZ2FfZGF0YSAqcHJpdiA9IGJyaWRnZS0+cHJpdjsNCj4gKw0KPiArCXJldHVy biByZXNldF9jb250cm9sX3N0YXR1cyhwcml2LT5icmlkZ2VfcmVzZXQpOw0KPiArfQ0KPiArDQo+ ICtzdGF0aWMgaW50IF9hbHRfaHBzMmZwZ2FfZW5hYmxlX3NldChzdHJ1Y3QgYWx0ZXJhX2hwczJm cGdhX2RhdGEgKnByaXYsDQo+ICsJCQkJICAgIGJvb2wgZW5hYmxlKQ0KPiArew0KPiArCWludCBy ZXQ7DQo+ICsNCj4gKwkvKiBicmluZyBicmlkZ2Ugb3V0IG9mIHJlc2V0ICovDQo+ICsJaWYgKGVu YWJsZSkNCj4gKwkJcmV0ID0gcmVzZXRfY29udHJvbF9kZWFzc2VydChwcml2LT5icmlkZ2VfcmVz ZXQpOw0KPiArCWVsc2UNCj4gKwkJcmV0ID0gcmVzZXRfY29udHJvbF9hc3NlcnQocHJpdi0+YnJp ZGdlX3Jlc2V0KTsNCj4gKwlpZiAocmV0KQ0KPiArCQlyZXR1cm4gcmV0Ow0KPiArDQo+ICsJLyog QWxsb3cgYnJpZGdlIHRvIGJlIHZpc2libGUgdG8gTDMgbWFzdGVycyBvciBub3QgKi8NCj4gKwlp ZiAocHJpdi0+cmVtYXBfbWFzaykgew0KPiArCQlwcml2LT5sM19yZW1hcF92YWx1ZSB8PSBBTFRf TDNfUkVNQVBfTVBVWkVST19NU0s7DQoNCkRvZXNuJ3Qgc2VlbSBsaWtlIHRoaXMgYmVsb25ncyBo ZXJlLiAgSSByZWFsaXplIHRoZSB3cml0ZS1vbmx5IHJlZ2lzdGVyDQppcyBhIHByb2JsZW0uICBN YXliZSB0aGUgc3lzY29uIGRyaXZlciBzaG91bGQgYmUgaW5pdGlhbGl6aW5nIHRoaXMNCnZhbHVl Pw0KDQo+ICsNCj4gKwkJaWYgKGVuYWJsZSkNCj4gKwkJCXByaXYtPmwzX3JlbWFwX3ZhbHVlIHw9 IHByaXYtPnJlbWFwX21hc2s7DQo+ICsJCWVsc2UNCj4gKwkJCXByaXYtPmwzX3JlbWFwX3ZhbHVl ICY9IH5wcml2LT5yZW1hcF9tYXNrOw0KPiArDQo+ICsJCXJldCA9IHJlZ21hcF93cml0ZShwcml2 LT5sM3JlZywgQUxUX0wzX1JFTUFQX09GU1QsDQo+ICsJCQkJICAgcHJpdi0+bDNfcmVtYXBfdmFs dWUpOw0KDQpUaGlzIGlzbid0IGdvaW5nIHdvcmsgaWYgbW9yZSB0aGFuIG9uZSBicmlkZ2UgaXMg dXNlZC4gIEVhY2ggYnJpZGdlIGhhcw0KaXRzIG93biBwcml2IGFuZCB0aHVzIHByaXYtPmwzX3Jl bWFwX3ZhbHVlLiAgRWFjaCBicmlkZ2UncyBwcml2IHdpbGwNCmhhdmUganVzdCB0aGUgYml0IGZv ciBpdCdzIG93biByZW1hcCBzZXQuICBUaGUgMm5kIGJyaWRnZSB0byBiZSBlbmFibGVkDQp3aWxs IHR1cm4gb2ZmIHRoZSAxc3QgYnJpZGdlIHdoZW4gaXQgcmUtd3JpdGUgdGhlIGwzIHJlZ2lzdGVy Lg0KDQpJZiBhbGwgdGhlIGJyaWRnZXMgc2hhcmVkIGEgc3RhdGljIGdsb2JhbCB0byBjYWNoZSB0 aGUgcmVnLCB0aGVuIHRoaXMNCnByb2JsZW0gd291bGQgYmUgYSByZXBsYWNlZCBieSBhIHJhY2Us IHNpbmNlIG5vdGhpbmcgd291bGQgYmUgbWFuYWdpbmcNCmNvbmN1cnJlbnQgYWNjZXNzIHRvIHRo YXQgZ2xvYmFsIGZyb20gdGhlIGluZGVwZW5kZW50IGJyaWRnZSBkZXZpY2VzLg0KDQpIb3cgYWJv dXQgdXNpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgcmVnbWFwIGNhY2hlIGFiaWxpdHkgdGFrZSBj YXJlIG9mDQp0aGlzPyAgVXNlIHJlZ21hcF91cGRhdGVfYml0cygpIHRvIHVwZGF0ZSBqdXN0IHRo ZSBkZXNpcmVkIGJpdCBhbmQgbGV0DQpyZW1hcCB0YWtlIGNhcmUgb2Yga2VlcGluZyB0cmFjayBj YWNoaW5nIHRoZSByZWdpc3RlciBhbmQgcHJvdGVjdGluZw0KYWNjZXNzIGZyb20gbXVsdGlwbGUg dXNlcnMuICBJdCBzaG91bGQgc3VwcG9ydCB0aGF0IGFuZCBpdCBzaG91bGQNCnN1cHBvcnQgd3Jp dGUtb25seSByZWdpc3RlcnMsIHdpdGggdGhlIGNyZWF0b3Igb2YgdGhlIHJlZ21hcCAodGhlIHN5 c2Nvbg0KZHJpdmVyIGluIHRoaXMgY2FzZSkgc3VwcGx5aW5nIHRoZSBpbml0aWFsIHZhbHVlIG9m IHRoZSB3cml0ZS1vbmx5IHJlZy4NCldoaWNoIGlzIHdoZXJlIEFMVF9MM19SRU1BUF9NUFVaRVJP X01TSyBjb3VsZCBnbyBpbi4NCg0KDQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIHJldDsNCj4gK30N Cj4gKw0KPiArc3RhdGljIGludCBhbHRfaHBzMmZwZ2FfZW5hYmxlX3NldChzdHJ1Y3QgZnBnYV9i cmlkZ2UgKmJyaWRnZSwgYm9vbCBlbmFibGUpDQo+ICt7DQo+ICsJcmV0dXJuIF9hbHRfaHBzMmZw Z2FfZW5hYmxlX3NldChicmlkZ2UtPnByaXYsIGVuYWJsZSk7DQo+ICt9DQo+ICsNCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgZnBnYV9icmlkZ2Vfb3BzIGFsdGVyYV9ocHMyZnBnYV9icl9vcHMgPSB7 DQo+ICsJLmVuYWJsZV9zZXQgPSBhbHRfaHBzMmZwZ2FfZW5hYmxlX3NldCwNCj4gKwkuZW5hYmxl X3Nob3cgPSBhbHRfaHBzMmZwZ2FfZW5hYmxlX3Nob3csDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMg c3RydWN0IGFsdGVyYV9ocHMyZnBnYV9kYXRhIGhwczJmcGdhX2RhdGEgID0gew0KPiArCS5uYW1l ID0gSFBTMkZQR0FfQlJJREdFX05BTUUsDQo+ICsJLnJlbWFwX21hc2sgPSBBTFRfTDNfUkVNQVBf SDJGX01TSywNCj4gK307DQoNCkVhY2ggb2YgdGhlc2UgZGF0YSBzdHJ1Y3RzIGFsc28gaW5jbHVk ZXMgc3BhY2UgZm9yIGFsbCB0aGUgcHJpdmF0ZSBkYXRhDQpmaWVsZCBvZiB0aGUgZHJpdmVycycg c3RhdGUuICBTZWVtcyBhIGJpdCBpbmVmZmljaWVudCBpZiBvbmx5IHR3byBvZg0KdGhlbSBhcmUg Y29uZmlndXJhdGlvbiBkYXRhLiAgSXQgYWxzbyBtZWFucyBvbmx5IG9uZSBkZXZpY2Ugb2YgZWFj aCB0eXBlDQpjYW4gZXhpc3RzLiAgSWYgb25lIGNyZWF0ZXMgdHdvIGJyaWRnZXMgb2YgdGhlIHNh bWUgdHlwZSB0aGV5J2xsDQooc2lsZW50bHkpIHNoYXJlIGEgcHJpdiBkYXRhIHN0cnVjdCBhbmQg cmFuZG9tbHkgYnJlYWsuICBBbmQgdGhlIGNvbmZpZw0KZGF0YSBzdHJ1Y3RzIGNhbid0IGJlIGNv bnN0Lg0KDQpXaGF0IGlmIHRoZXNlIHN0cnVjdHMgd2VyZSBhIGRpZmZlcmVudCBhbHRlcmFfaHBz X2NvbmZpZyBzdHJ1Y3QsIHdoaWNoDQp0aGUgcHJpdmF0ZSBkYXRhIHN0cnVjdCBjb3VsZCB0aGVu IGNvcHkgb3IgcG9pbnQgdG8/DQoNCnN0cnVjdCBhbHRlcmFfaHBzYnJpZGdlX2NvbmZpZyB7DQoJ Y29uc3QgY2hhciAqbmFtZTsNCgl1aW50MzJfdCByZW1hcF9tYXNrOw0KfTsNCg0Kc3RydWN0IGFs dGVyYV9ocHNicmlkZ2VfZGF0YSB7DQoJY29uc3Qgc3RydWN0IGFsdGVyYV9ocHNicmlkZ2VfY29u ZmlnICpjb25maWc7DQoJLi4uOw0KCXN0cnVjdCBjbGsgKmNsazsNCn07DQoNCg0KPiArDQo+ICtz dGF0aWMgc3RydWN0IGFsdGVyYV9ocHMyZnBnYV9kYXRhIGx3aHBzMmZwZ2FfZGF0YSAgPSB7DQo+ ICsJLm5hbWUgPSBMV0hQUzJGUEdBX0JSSURHRV9OQU1FLA0KPiArCS5yZW1hcF9tYXNrID0gQUxU X0wzX1JFTUFQX0xXSDJGX01TSywNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgYWx0ZXJh X2hwczJmcGdhX2RhdGEgZnBnYTJocHNfZGF0YSAgPSB7DQo+ICsJLm5hbWUgPSBGUEdBMkhQU19C UklER0VfTkFNRSwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNl X2lkIGFsdGVyYV9mcGdhX29mX21hdGNoW10gPSB7DQo+ICsJeyAuY29tcGF0aWJsZSA9ICJhbHRy LHNvY2ZwZ2EtaHBzMmZwZ2EtYnJpZGdlIiwNCj4gKwkgIC5kYXRhID0gJmhwczJmcGdhX2RhdGEg fSwNCj4gKwl7IC5jb21wYXRpYmxlID0gImFsdHIsc29jZnBnYS1sd2hwczJmcGdhLWJyaWRnZSIs DQo+ICsJICAuZGF0YSA9ICZsd2hwczJmcGdhX2RhdGEgfSwNCj4gKwl7IC5jb21wYXRpYmxlID0g ImFsdHIsc29jZnBnYS1mcGdhMmhwcy1icmlkZ2UiLA0KPiArCSAgLmRhdGEgPSAmZnBnYTJocHNf ZGF0YSB9LA0KPiArCXt9LA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGludCBhbHRfZnBnYV9icmlk Z2VfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gK3sNCj4gKwlzdHJ1Y3Qg ZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Ow0KPiArCXN0cnVjdCBhbHRlcmFfaHBzMmZwZ2FfZGF0 YSAqcHJpdjsNCj4gKwljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICpvZl9pZDsNCj4gKwl1MzIg ZW5hYmxlOw0KPiArCWludCByZXQ7DQo+ICsNCj4gKwlvZl9pZCA9IG9mX21hdGNoX2RldmljZShh bHRlcmFfZnBnYV9vZl9tYXRjaCwgZGV2KTsNCj4gKwlwcml2ID0gKHN0cnVjdCBhbHRlcmFfaHBz MmZwZ2FfZGF0YSAqKW9mX2lkLT5kYXRhOw0KPiArDQo+ICsJcHJpdi0+YnJpZGdlX3Jlc2V0ID0g ZGV2bV9yZXNldF9jb250cm9sX2dldChkZXYsIHByaXYtPm5hbWUpOw0KPiArCWlmIChJU19FUlIo cHJpdi0+YnJpZGdlX3Jlc2V0KSkgew0KPiArCQlkZXZfZXJyKGRldiwgIkNvdWxkIG5vdCBnZXQg JXMgcmVzZXQgY29udHJvbFxuIiwgcHJpdi0+bmFtZSk7DQo+ICsJCXJldHVybiBQVFJfRVJSKHBy aXYtPmJyaWRnZV9yZXNldCk7DQo+ICsJfQ0KPiArDQoNCg0KPiArCXByaXYtPmwzcmVnID0gc3lz Y29uX3JlZ21hcF9sb29rdXBfYnlfY29tcGF0aWJsZSgiYWx0cixsM3JlZ3MiKTsNCj4gKwlpZiAo SVNfRVJSKHByaXYtPmwzcmVnKSkgew0KPiArCQlkZXZfZXJyKGRldiwgInJlZ21hcCBmb3IgYWx0 cixsM3JlZ3MgbG9va3VwIGZhaWxlZFxuIik7DQo+ICsJCXJldHVybiBQVFJfRVJSKHByaXYtPmwz cmVnKTsNCj4gKwl9DQoNClBlcmhhcHMgdGhpcyBjb3VsZCBiZSB3cmFwcGVkIGluIGlmKHByaXYt PnJlbWFwX21hc2spIHsgfS4gIFRoZSBmcGdhMmhwcw0KYnJpZGdlIGhhcyBubyBiaXRzIGluIHRo ZSBsMyByZW1hcCByZWdpc3Rlciwgc28gd2h5IHNob3VsZCBpdCBuZWVkIGENCnBoYW5kbGUgdG8g dGhlIGwzIHN5c2Nvbj8gIFRoaXMgYWxzbyBwcmV2ZW50cyB0aGlzIGRyaXZlciBmcm9tIHdvcmtp bmcNCm9uIEFycmlhMTAsIHNpbmNlIGl0IGhhcyBubyBsM3JlbWFwIHJlZ2lzdGVyIGF0IGFsbCwg Zm9yIGFueSBvZiB0aGUNCmJyaWRnZXMsIHNvIHRoZXJlJ3Mgbm90aGluZyBmb3IgdGhlIHBoYW5k bGUgdG8gcG9pbnQgdG8uDQoNCj4gKw0KPiArCXByaXYtPmNsayA9IG9mX2Nsa19nZXQoZGV2LT5v Zl9ub2RlLCAwKTsNCj4gKwlpZiAoSVNfRVJSKHByaXYtPmNsaykpIHsNCj4gKwkJZGV2X2Vycihk ZXYsICJubyBjbG9jayBzcGVjaWZpZWRcbiIpOw0KPiArCQlyZXR1cm4gUFRSX0VSUihwcml2LT5j bGspOw0KPiArCX0NCg0KZGV2bV9jbGtfZ2V0KGRldiwgTlVMTCk7IHNob3VsZCBnZXQgdGhlIDFz dCBjbG9jayBpbiB0aGUgT0Ygbm9kZSwgYnV0DQp1c2UgdGhlIGRldiByZXNvdXJjZSBtYW5hZ2Vy LCBzbyBpdCBkb2Vzbid0IG5lZWQgdG8gYmUgcHV0Lg0KDQo+ICsNCj4gKwlyZXQgPSBjbGtfcHJl cGFyZV9lbmFibGUocHJpdi0+Y2xrKTsNCj4gKwlpZiAocmV0KSB7DQo+ICsJCWRldl9lcnIoZGV2 LCAiY291bGQgbm90IGVuYWJsZSBjbG9ja1xuIik7DQo+ICsJCXJldHVybiAtRUJVU1k7DQoNCmNs a19wdXQoKSBvbiBjbGsgbWlzc2luZyBoZXJlIGFuZCBhbHNvIHRoZSBvdGhlciBlcnJvciByZXR1 cm5zLg0KDQo+ICsJfQ0KPiArDQo+ICsJcmV0ID0gZnBnYV9icmlkZ2VfcmVnaXN0ZXIoZGV2LCBw cml2LT5uYW1lLCAmYWx0ZXJhX2hwczJmcGdhX2JyX29wcywNCj4gKwkJCQkgICBwcml2KTsNCj4g KwlpZiAocmV0KQ0KPiArCQlyZXR1cm4gcmV0Ow0KPiArDQo+ICsJaWYgKCFvZl9wcm9wZXJ0eV9y ZWFkX3UzMihkZXYtPm9mX25vZGUsICJicmlkZ2UtZW5hYmxlIiwgJmVuYWJsZSkpIHsNCj4gKwkJ aWYgKGVuYWJsZSA+IDEpIHsNCj4gKwkJCWRldl93YXJuKGRldiwgImludmFsaWQgYnJpZGdlLWVu YWJsZSAldSA+IDFcbiIsIGVuYWJsZSk7DQo+ICsJCX0gZWxzZSB7DQo+ICsJCQlkZXZfaW5mbyhk ZXYsICIlcyBicmlkZ2VcbiIsDQo+ICsJCQkJIChlbmFibGUgPyAiZW5hYmxpbmciIDogImRpc2Fi bGluZyIpKTsNCj4gKw0KPiArCQkJcmV0ID0gX2FsdF9ocHMyZnBnYV9lbmFibGVfc2V0KHByaXYs IGVuYWJsZSk7DQoNClNob3VsZCB0aGlzIGdvIHRocm91Z2ggdGhlIGJyaWRnZSBhcGksIGUuZy4g ZnBnYV9icmlkZ2VfZW5hYmxlKCk/ICBTaW5jZQ0KdGhlIGJyaWRnZSBoYXMgYWxyZWFkeSBiZWVu IHJlZ2lzdGVyZWQuICBPciBpcyB0aGUgYnJpZGdlIGZyYW1ld29yaw0Kc3VwcG9zZWQgdG8gYmUg YWJsZSB0byBzdXBwb3J0IGJyaWRnZXMgdGhhdCBtaWdodCBiZSBlbmFibGVkIG9yIGRpc2FibGVk DQpiZWhpbmQgaXRzIGJhY2s/ICBJZiBzbywgdGhlbiBpc24ndCB0aGVyZSBhIHJhY2UgaGVyZSB3 aXRoDQpfYWx0X2hwczJmcGdhX2VuYWJsZV9zZXQoKSBwb3NzaWJsZSBiZWluZyBjYWxsZWQgYXQg dGhlIHNhbWUgdGltZSBhcw0Kb3RoZXIgb3BlcmF0aW9ucyBvbiB0aGlzIGJyaWRnZSB0cmlnZ2Vy ZWQgYnkgdGhlIGNvZGUgaW4gZnBnYS1icmlkZ2UuYz8NCg0KQWx0ZXJuYXRpdmVseSwgY291bGQg dGhlIGJyaWRnZSBiZSBlbmFibGVkIG9yIGRpc2FibGVkIGJlZm9yZSBiZWluZw0KcmVnaXN0ZXJl ZD8NCg0KPiArCQkJaWYgKHJldCkgew0KPiArCQkJCWZwZ2FfYnJpZGdlX3VucmVnaXN0ZXIoJnBk ZXYtPmRldik7DQo+ICsJCQkJcmV0dXJuIHJldDsNCj4gKwkJCX0NCj4gKwkJfQ0KPiArCX0NCj4g Kw0KPiArCXJldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQgYWx0X2ZwZ2FfYnJp ZGdlX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiArew0KPiArCXN0cnVj dCBmcGdhX2JyaWRnZSAqYnJpZGdlID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7DQo+ICsJ c3RydWN0IGFsdGVyYV9ocHMyZnBnYV9kYXRhICpwcml2ID0gYnJpZGdlLT5wcml2Ow0KPiArDQo+ ICsJZnBnYV9icmlkZ2VfdW5yZWdpc3RlcigmcGRldi0+ZGV2KTsNCj4gKw0KPiArCWNsa19kaXNh YmxlX3VucHJlcGFyZShwcml2LT5jbGspOw0KPiArCWNsa19wdXQocHJpdi0+Y2xrKTsNCj4gKw0K PiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBhbHRl cmFfZnBnYV9vZl9tYXRjaCk7DQo+ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVy IGFsdF9mcGdhX2JyaWRnZV9kcml2ZXIgPSB7DQo+ICsJLnByb2JlID0gYWx0X2ZwZ2FfYnJpZGdl X3Byb2JlLA0KPiArCS5yZW1vdmUgPSBhbHRfZnBnYV9icmlkZ2VfcmVtb3ZlLA0KPiArCS5kcml2 ZXIgPSB7DQo+ICsJCS5uYW1lCT0gImFsdGVyYV9ocHMyZnBnYV9icmlkZ2UiLA0KPiArCQkub2Zf bWF0Y2hfdGFibGUgPSBvZl9tYXRjaF9wdHIoYWx0ZXJhX2ZwZ2Ffb2ZfbWF0Y2gpLA0KPiArCX0s DQo+ICt9Ow0KPiArDQo+ICttb2R1bGVfcGxhdGZvcm1fZHJpdmVyKGFsdF9mcGdhX2JyaWRnZV9k cml2ZXIpOw0KPiArDQo+ICtNT0RVTEVfREVTQ1JJUFRJT04oIkFsdGVyYSBTb0NGUEdBIEhQUyB0 byBGUEdBIEJyaWRnZSIpOw0KPiArTU9EVUxFX0FVVEhPUigiQWxhbiBUdWxsIDxhdHVsbEBvcGVu c291cmNlLmFsdGVyYS5jb20+Iik7DQo+ICtNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7DQoNCg== -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html