Return-path: Received: from mail-ew0-f216.google.com ([209.85.219.216]:42063 "EHLO mail-ew0-f216.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751454Ab0ETM6P (ORCPT ); Thu, 20 May 2010 08:58:15 -0400 Received: by ewy8 with SMTP id 8so3005189ewy.28 for ; Thu, 20 May 2010 05:58:13 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20100519013132.22206.87611.stgit@tt-desk> References: <20100519012528.22206.77550.stgit@tt-desk> <20100519013132.22206.87611.stgit@tt-desk> Date: Thu, 20 May 2010 15:58:12 +0300 Message-ID: Subject: Re: [PATCH v2 10/20] ath5k: add sysfs files for ANI parameters From: Nick Kossifidis To: Bruno Randolf Cc: linville@tuxdriver.com, ath5k-devel@lists.ath5k.org, linux-wireless@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: MjAxMC81LzE5IEJydW5vIFJhbmRvbGYgPGJyMUBlaW5mYWNoLm9yZz46Cj4gL3N5cy9jbGFzcy9p ZWVlODAyMTEvcGh5MC9kZXZpY2UvYW5pL2FuaV9tb2RlCj4gL3N5cy9jbGFzcy9pZWVlODAyMTEv cGh5MC9kZXZpY2UvYW5pL25vaXNlX2ltbXVuaXR5X2xldmVsCj4gL3N5cy9jbGFzcy9pZWVlODAy MTEvcGh5MC9kZXZpY2UvYW5pL3NwdXJfbGV2ZWwKPiAvc3lzL2NsYXNzL2llZWU4MDIxMS9waHkw L2RldmljZS9hbmkvZmlyc3RlcF9sZXZlbAo+IC9zeXMvY2xhc3MvaWVlZTgwMjExL3BoeTAvZGV2 aWNlL2FuaS9vZmRtX3dlYWtfc2lnbmFsX2RldGVjdGlvbgo+IC9zeXMvY2xhc3MvaWVlZTgwMjEx L3BoeTAvZGV2aWNlL2FuaS9jY2tfd2Vha19zaWduYWxfZGV0ZWN0aW9uCj4gL3N5cy9jbGFzcy9p ZWVlODAyMTEvcGh5MC9kZXZpY2UvYW5pL25vaXNlX2ltbXVuaXR5X2xldmVsX21heAo+IC9zeXMv Y2xhc3MvaWVlZTgwMjExL3BoeTAvZGV2aWNlL2FuaS9zcHVyX2xldmVsX21heAo+IC9zeXMvY2xh c3MvaWVlZTgwMjExL3BoeTAvZGV2aWNlL2FuaS9maXJzdGVwX2xldmVsX21heAo+Cj4gc3lzZnMg aGFzIGEgbG90IG9mIHN5bWxpbmtzLCBzbyB5b3UgY2FuIGZpbmQgdGhlIGZpbGVzIGFsc28gaW4g b3RoZXIgbG9jYXRpb25zLAo+IGxpa2UgKGJ5IFBDSSBJRCkgL3N5cy9kZXZpY2VzL3BjaTAwMDA6 MDAvMDAwMDowMDoxMS4wL2FuaSBhbmQgb3RoZXJzLgo+Cj4gU2lnbmVkLW9mZi1ieTogQnJ1bm8g UmFuZG9sZiA8YnIxQGVpbmZhY2gub3JnPgo+IC0tLQo+IMKgZHJpdmVycy9uZXQvd2lyZWxlc3Mv YXRoL2F0aDVrL01ha2VmaWxlIHwgwqAgwqAxCj4gwqBkcml2ZXJzL25ldC93aXJlbGVzcy9hdGgv YXRoNWsvYXRoNWsuaCDCoHwgwqAgwqAzICsKPiDCoGRyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9h dGg1ay9iYXNlLmMgwqAgfCDCoCDCoDMgKwo+IMKgZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0 aDVrL3Jlc2V0LmMgwqB8IMKgIMKgMQo+IMKgZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDVr L3N5c2ZzLmMgwqB8IMKgMTE2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiDCoDUg ZmlsZXMgY2hhbmdlZCwgMTIzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCj4gwqBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDVrL3N5c2ZzLmMKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoNWsvTWFrZWZpbGUgYi9k cml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoNWsvTWFrZWZpbGUKPiBpbmRleCBjYzA5NTk1Li4y MjQyYTE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9NYWtl ZmlsZQo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9NYWtlZmlsZQo+IEBA IC0xMyw1ICsxMyw2IEBAIGF0aDVrLXkgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgKz0gYmFzZS5vCj4gwqBhdGg1ay15IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKz0gbGVkLm8KPiDCoGF0aDVrLXkgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqArPSByZmtpbGwubwo+IMKgYXRoNWst eSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCs9IGFuaS5v Cj4gK2F0aDVrLXkgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqArPSBzeXNmcy5vCj4gwqBhdGg1ay0kKENPTkZJR19BVEg1S19ERUJVRykgwqAgwqArPSBkZWJ1 Zy5vCj4gwqBvYmotJChDT05GSUdfQVRINUspIMKgIMKgIMKgIMKgIMKgIMKgKz0gYXRoNWsubwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoNWsvYXRoNWsuaCBiL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9hdGg1ay5oCj4gaW5kZXggZDZmOWFmZS4uZWFj ZTc0ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoNWsvYXRoNWsu aAo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9hdGg1ay5oCj4gQEAgLTEx NTAsNiArMTE1MCw5IEBAIHN0cnVjdCBhdGg1a19odyB7Cj4gwqBpbnQgYXRoNWtfaHdfYXR0YWNo KHN0cnVjdCBhdGg1a19zb2Z0YyAqc2MpOwo+IMKgdm9pZCBhdGg1a19od19kZXRhY2goc3RydWN0 IGF0aDVrX2h3ICphaCk7Cj4KPiAraW50IGF0aDVrX3N5c2ZzX3JlZ2lzdGVyKHN0cnVjdCBhdGg1 a19zb2Z0YyAqc2MpOwo+ICt2b2lkIGF0aDVrX3N5c2ZzX3VucmVnaXN0ZXIoc3RydWN0IGF0aDVr X3NvZnRjICpzYyk7Cj4gKwo+IMKgLyogTEVEIGZ1bmN0aW9ucyAqLwo+IMKgaW50IGF0aDVrX2lu aXRfbGVkcyhzdHJ1Y3QgYXRoNWtfc29mdGMgKnNjKTsKPiDCoHZvaWQgYXRoNWtfbGVkX2VuYWJs ZShzdHJ1Y3QgYXRoNWtfc29mdGMgKnNjKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2ly ZWxlc3MvYXRoL2F0aDVrL2Jhc2UuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9i YXNlLmMKPiBpbmRleCAzYjQzYjc2Li5kNWQ1MTRmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL2F0aC9hdGg1ay9iYXNlLmMKPiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9h dGgvYXRoNWsvYmFzZS5jCj4gQEAgLTg2MSw2ICs4NjEsOCBAQCBhdGg1a19hdHRhY2goc3RydWN0 IHBjaV9kZXYgKnBkZXYsIHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3KQo+Cj4gwqAgwqAgwqAgwqBh dGg1a19pbml0X2xlZHMoc2MpOwo+Cj4gKyDCoCDCoCDCoCBhdGg1a19zeXNmc19yZWdpc3Rlcihz Yyk7Cj4gKwo+IMKgIMKgIMKgIMKgcmV0dXJuIDA7Cj4gwqBlcnJfcXVldWVzOgo+IMKgIMKgIMKg IMKgYXRoNWtfdHhxX3JlbGVhc2Uoc2MpOwo+IEBAIC04OTYsNiArODk4LDcgQEAgYXRoNWtfZGV0 YWNoKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodykKPiDCoCDC oCDCoCDCoGF0aDVrX2h3X3JlbGVhc2VfdHhfcXVldWUoc2MtPmFoLCBzYy0+YmhhbHEpOwo+IMKg IMKgIMKgIMKgYXRoNWtfdW5yZWdpc3Rlcl9sZWRzKHNjKTsKPgo+ICsgwqAgwqAgwqAgYXRoNWtf c3lzZnNfdW5yZWdpc3RlcihzYyk7Cj4gwqAgwqAgwqAgwqAvKgo+IMKgIMKgIMKgIMKgICogTkI6 IGNhbid0IHJlY2xhaW0gdGhlc2UgdW50aWwgYWZ0ZXIgaWVlZTgwMjExX2lmZGV0YWNoCj4gwqAg wqAgwqAgwqAgKiByZXR1cm5zIGJlY2F1c2Ugd2UnbGwgZ2V0IGNhbGxlZCBiYWNrIHRvIHJlY2xh aW0gbm9kZQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoNWsvcmVz ZXQuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9yZXNldC5jCj4gaW5kZXggMjg5 MGE3Zi4uYjFkMzIzOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRo NWsvcmVzZXQuYwo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9yZXNldC5j Cj4gQEAgLTg1MSw3ICs4NTEsNiBAQCBzdGF0aWMgdm9pZCBhdGg1a19od19jb21taXRfZWVwcm9t X3NldHRpbmdzKHN0cnVjdCBhdGg1a19odyAqYWgsCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBBUjVLX1BIWV9ORl9USFJFU0g2MiwKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoGVlLT5lZV90aHJfNjJbZWVfbW9kZV0pOwo+Cj4gLQo+IMKgIMKgIMKgIMKg LyogRmFsc2UgZGV0ZWN0IGJhY2tvZmYgZm9yIGNoYW5uZWxzCj4gwqAgwqAgwqAgwqAgKiB0aGF0 IGhhdmUgc3B1ciBub2lzZS4gV3JpdGUgdGhlIG5ldwo+IMKgIMKgIMKgIMKgICogY3ljbGljIHBv d2VyIFJTU0kgdGhyZXNob2xkLiAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVz cy9hdGgvYXRoNWsvc3lzZnMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9zeXNm cy5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi45MDc1N2RlCj4gLS0t IC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg1ay9zeXNmcy5j Cj4gQEAgLTAsMCArMSwxMTYgQEAKPiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgo+ICsjaW5j bHVkZSA8bGludXgvcGNpLmg+Cj4gKwo+ICsjaW5jbHVkZSAiYmFzZS5oIgo+ICsjaW5jbHVkZSAi YXRoNWsuaCIKPiArI2luY2x1ZGUgInJlZy5oIgo+ICsKPiArI2RlZmluZSBTSU1QTEVfU0hPV19T VE9SRShuYW1lLCBnZXQsIHNldCkgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBcCj4gK3N0YXRpYyBzc2l6ZV90IGF0aDVrX2F0dHJfc2hvd18jI25hbWUoc3RydWN0 IGRldmljZSAqZGV2LCDCoCDCoCDCoCDCoCDCoCDCoCDCoFwKPiArIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoFwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGNo YXIgKmJ1ZikgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBcCj4gK3sgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBcCj4gKyDCoCDCoCDCoCBzdHJ1Y3QgYXRoNWtfc29mdGMgKnNjID0gZGV2X2dldF9kcnZk YXRhKGRldik7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgXAo+ICsgwqAgwqAgwqAgcmV0dXJu IHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJWRcbiIsIGdldCk7IMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIFwKPiArfSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoFwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIFwKPiArc3RhdGljIHNzaXplX3QgYXRoNWtfYXR0cl9zdG9yZV8jI25hbWUoc3RydWN0IGRl dmljZSAqZGV2LCDCoCDCoCDCoCDCoCDCoCDCoCBcCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBcCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBjb25zdCBj aGFyICpidWYsIHNpemVfdCBjb3VudCkgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBcCj4gK3sg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBcCj4gKyDCoCDC oCDCoCBzdHJ1Y3QgYXRoNWtfc29mdGMgKnNjID0gZGV2X2dldF9kcnZkYXRhKGRldik7IMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgXAo+ICsgwqAgwqAgwqAgaW50IHZhbDsgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqBcCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBcCj4gKyDCoCDCoCDCoCB2YWwgPSAoaW50KXNpbXBsZV9zdHJ0b3VsKGJ1Ziwg TlVMTCwgMTApOyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBcCj4gKyDCoCDCoCDC oCBzZXQoc2MtPmFoLCB2YWwpOyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBcCj4gKyDCoCDCoCDCoCByZXR1cm4gY291 bnQ7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIFwKPiArfSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoFwKPiArc3RhdGljIERFVklDRV9BVFRSKG5hbWUsIFNfSVJVR08g fCBTX0lXVVNSLCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFwKPiAr IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYXRoNWtfYXR0cl9zaG93XyMjbmFtZSwgYXRoNWtf YXR0cl9zdG9yZV8jI25hbWUpCj4gKwo+ICsjZGVmaW5lIFNJTVBMRV9TSE9XKG5hbWUsIGdldCkg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgXAo+ICtzdGF0aWMgc3NpemVfdCBhdGg1a19hdHRyX3Nob3dfIyNuYW1lKHN0cnVjdCBkZXZp Y2UgKmRldiwgwqAgwqAgwqAgwqAgwqAgwqAgwqBcCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBcCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBjaGFyICpi dWYpIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgXAo+ICt7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg XAo+ICsgwqAgwqAgwqAgc3RydWN0IGF0aDVrX3NvZnRjICpzYyA9IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFwKPiArIMKgIMKgIMKgIHJldHVybiBzbnBy aW50ZihidWYsIFBBR0VfU0laRSwgIiVkXG4iLCBnZXQpOyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCBcCj4gK30gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqBcCj4gK3N0YXRpYyBERVZJQ0VfQVRUUihuYW1lLCBTX0lSVUdPLCBhdGg1a19hdHRyX3Nob3df IyNuYW1lLCBOVUxMKQo+ICsKPiArLyoqKiBBTkkgKioqLwo+ICsKPiArU0lNUExFX1NIT1dfU1RP UkUoYW5pX21vZGUsIHNjLT5hbmlfc3RhdGUuYW5pX21vZGUsIGF0aDVrX2FuaV9pbml0KTsKPiAr U0lNUExFX1NIT1dfU1RPUkUobm9pc2VfaW1tdW5pdHlfbGV2ZWwsIHNjLT5hbmlfc3RhdGUubm9p c2VfaW1tX2xldmVsLAo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYXRoNWtf YW5pX3NldF9ub2lzZV9pbW11bml0eV9sZXZlbCk7Cj4gK1NJTVBMRV9TSE9XX1NUT1JFKHNwdXJf bGV2ZWwsIHNjLT5hbmlfc3RhdGUuc3B1cl9sZXZlbCwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIGF0aDVrX2FuaV9zZXRfc3B1cl9pbW11bml0eV9sZXZlbCk7Cj4gK1NJTVBM RV9TSE9XX1NUT1JFKGZpcnN0ZXBfbGV2ZWwsIHNjLT5hbmlfc3RhdGUuZmlyc3RlcF9sZXZlbCwK PiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGF0aDVrX2FuaV9zZXRfZmlyc3Rl cF9sZXZlbCk7Cj4gK1NJTVBMRV9TSE9XX1NUT1JFKG9mZG1fd2Vha19zaWduYWxfZGV0ZWN0aW9u LCBzYy0+YW5pX3N0YXRlLm9mZG1fd2Vha19zaWcsCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBhdGg1a19hbmlfc2V0X29mZG1fd2Vha19zaWduYWxfZGV0ZWN0aW9uKTsKPiAr U0lNUExFX1NIT1dfU1RPUkUoY2NrX3dlYWtfc2lnbmFsX2RldGVjdGlvbiwgc2MtPmFuaV9zdGF0 ZS5jY2tfd2Vha19zaWcsCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBhdGg1 a19hbmlfc2V0X2Nja193ZWFrX3NpZ25hbF9kZXRlY3Rpb24pOwo+ICtTSU1QTEVfU0hPVyhzcHVy X2xldmVsX21heCwgc2MtPmFuaV9zdGF0ZS5tYXhfc3B1cl9sZXZlbCk7Cj4gKwo+ICtzdGF0aWMg c3NpemVfdCBhdGg1a19hdHRyX3Nob3dfbm9pc2VfaW1tdW5pdHlfbGV2ZWxfbWF4KHN0cnVjdCBk ZXZpY2UgKmRldiwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHN0cnVjdCBk ZXZpY2VfYXR0cmlidXRlICphdHRyLAo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgY2hhciAqYnVmKQo+ICt7Cj4gKyDCoCDCoCDCoCByZXR1cm4gc25wcmludGYoYnVmLCBQQUdF X1NJWkUsICIlZFxuIiwgQVRINUtfQU5JX01BWF9OT0lTRV9JTU1fTFZMKTsKPiArfQo+ICtzdGF0 aWMgREVWSUNFX0FUVFIobm9pc2VfaW1tdW5pdHlfbGV2ZWxfbWF4LCBTX0lSVUdPLAo+ICsgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBhdGg1a19hdHRyX3Nob3dfbm9pc2VfaW1tdW5pdHlfbGV2 ZWxfbWF4LCBOVUxMKTsKPiArCj4gK3N0YXRpYyBzc2l6ZV90IGF0aDVrX2F0dHJfc2hvd19maXJz dGVwX2xldmVsX21heChzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKPiArIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGNoYXIgKmJ1ZikKPiArewo+ICsgwqAgwqAgwqAgcmV0 dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJWRcbiIsIEFUSDVLX0FOSV9NQVhfRklSU1RF UF9MVkwpOwo+ICt9Cj4gK3N0YXRpYyBERVZJQ0VfQVRUUihmaXJzdGVwX2xldmVsX21heCwgU19J UlVHTywKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYXRoNWtfYXR0cl9zaG93X2ZpcnN0 ZXBfbGV2ZWxfbWF4LCBOVUxMKTsKPiArCj4gK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICphdGg1 a19zeXNmc19lbnRyaWVzX2FuaVtdID0gewo+ICsgwqAgwqAgwqAgJmRldl9hdHRyX2FuaV9tb2Rl LmF0dHIsCj4gKyDCoCDCoCDCoCAmZGV2X2F0dHJfbm9pc2VfaW1tdW5pdHlfbGV2ZWwuYXR0ciwK PiArIMKgIMKgIMKgICZkZXZfYXR0cl9zcHVyX2xldmVsLmF0dHIsCj4gKyDCoCDCoCDCoCAmZGV2 X2F0dHJfZmlyc3RlcF9sZXZlbC5hdHRyLAo+ICsgwqAgwqAgwqAgJmRldl9hdHRyX29mZG1fd2Vh a19zaWduYWxfZGV0ZWN0aW9uLmF0dHIsCj4gKyDCoCDCoCDCoCAmZGV2X2F0dHJfY2NrX3dlYWtf c2lnbmFsX2RldGVjdGlvbi5hdHRyLAo+ICsgwqAgwqAgwqAgJmRldl9hdHRyX25vaXNlX2ltbXVu aXR5X2xldmVsX21heC5hdHRyLAo+ICsgwqAgwqAgwqAgJmRldl9hdHRyX3NwdXJfbGV2ZWxfbWF4 LmF0dHIsCj4gKyDCoCDCoCDCoCAmZGV2X2F0dHJfZmlyc3RlcF9sZXZlbF9tYXguYXR0ciwKPiAr IMKgIMKgIMKgIE5VTEwKPiArfTsKPiArCj4gK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3Vw IGF0aDVrX2F0dHJpYnV0ZV9ncm91cF9hbmkgPSB7Cj4gKyDCoCDCoCDCoCAubmFtZSA9ICJhbmki LAo+ICsgwqAgwqAgwqAgLmF0dHJzID0gYXRoNWtfc3lzZnNfZW50cmllc19hbmksCj4gK307Cj4g Kwo+ICsKPiArLyoqKiByZWdpc3RlciAvIHVucmVnaXN0ZXIgKioqLwo+ICsKPiAraW50Cj4gK2F0 aDVrX3N5c2ZzX3JlZ2lzdGVyKHN0cnVjdCBhdGg1a19zb2Z0YyAqc2MpCj4gK3sKPiArIMKgIMKg IMKgIHN0cnVjdCBkZXZpY2UgKmRldiA9ICZzYy0+cGRldi0+ZGV2Owo+ICsgwqAgwqAgwqAgaW50 IGVycjsKPiArCj4gKyDCoCDCoCDCoCBlcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmRldi0+a29i aiwgJmF0aDVrX2F0dHJpYnV0ZV9ncm91cF9hbmkpOwo+ICsgwqAgwqAgwqAgaWYgKGVycikgewo+ ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQVRINUtfRVJSKHNjLCAiZmFpbGVkIHRvIGNyZWF0ZSBz eXNmcyBncm91cFxuIik7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCByZXR1cm4gZXJyOwo+ICsg wqAgwqAgwqAgfQo+ICsKPiArIMKgIMKgIMKgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICt2b2lkCj4g K2F0aDVrX3N5c2ZzX3VucmVnaXN0ZXIoc3RydWN0IGF0aDVrX3NvZnRjICpzYykKPiArewo+ICsg wqAgwqAgwqAgc3RydWN0IGRldmljZSAqZGV2ID0gJnNjLT5wZGV2LT5kZXY7Cj4gKwo+ICsgwqAg wqAgwqAgc3lzZnNfcmVtb3ZlX2dyb3VwKCZkZXYtPmtvYmosICZhdGg1a19hdHRyaWJ1dGVfZ3Jv dXBfYW5pKTsKPiArfQo+CgpBY2tlZC1ieTogTmljayBLb3NzaWZpZGlzIDxtaWNrZmxlbW1AZ21h aWwuY29tPgoKCgotLSAKR1BHIElEOiAweEQyMURCMkRCCkFzIHlvdSByZWFkIHRoaXMgcG9zdCBn bG9iYWwgZW50cm9weSByaXNlcy4gSGF2ZSBGdW4gOy0pCk5pY2sK