Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Wed, 8 Nov 2000 19:05:00 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Wed, 8 Nov 2000 19:04:50 -0500 Received: from boss.staszic.waw.pl ([195.205.163.66]:29193 "EHLO boss.staszic.waw.pl") by vger.kernel.org with ESMTP id ; Wed, 8 Nov 2000 19:04:34 -0500 Date: Thu, 9 Nov 2000 01:03:43 +0100 (CET) From: Bartlomiej Zolnierkiewicz To: linux-kernel@vger.kernel.org cc: torvalds@transmeta.com Subject: [PATCH] media/radio [check_region() removal... ] Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-1101068279-973728223=:22998" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --8323328-1101068279-973728223=:22998 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi! Patch against 2.4.0-test11-pre1. It replaces check_region() by request_region(), fixes some small bugs and tries to cleanup a bit radio drivers... I have just seen 240t11p1ac1 and I think this patch is superior then ac's radio part ;) Please apply... -- Bartlomiej Zolnierkiewicz --8323328-1101068279-973728223=:22998 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="240t11p1-radio.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="240t11p1-radio.diff" ZGlmZiAtdU5yIGxpbnV4LTI0MHQxMXAxL2RyaXZlcnMvbWVkaWEvcmFkaW8v cmFkaW8tYWltc2xhYi5jIGxpbnV4L2RyaXZlcnMvbWVkaWEvcmFkaW8vcmFk aW8tYWltc2xhYi5jDQotLS0gbGludXgtMjQwdDExcDEvZHJpdmVycy9tZWRp YS9yYWRpby9yYWRpby1haW1zbGFiLmMJVHVlIE9jdCAgMyAwMDoxNzozOSAy MDAwDQorKysgbGludXgvZHJpdmVycy9tZWRpYS9yYWRpby9yYWRpby1haW1z bGFiLmMJVGh1IE5vdiAgOSAwMDozNzo0OCAyMDAwDQpAQCAtMjcsMTUgKzI3 LDE3IEBADQogICogIA0KICAqLw0KIA0KLSNpbmNsdWRlIDxsaW51eC9tb2R1 bGUuaD4JLyogTW9kdWxlcyAJCQkqLw0KLSNpbmNsdWRlIDxsaW51eC9pbml0 Lmg+CQkvKiBJbml0ZGF0YQkJCSovDQotI2luY2x1ZGUgPGxpbnV4L2lvcG9y dC5oPgkvKiBjaGVja19yZWdpb24sIHJlcXVlc3RfcmVnaW9uCSovDQotI2lu Y2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CS8qIHVkZWxheQkJCSovDQotI2luY2x1 ZGUgPGFzbS9pby5oPgkJLyogb3V0Yiwgb3V0Yl9wCQkJKi8NCi0jaW5jbHVk ZSA8YXNtL3VhY2Nlc3MuaD4JLyogY29weSB0by9mcm9tIHVzZXIJCSovDQot I2luY2x1ZGUgPGxpbnV4L3ZpZGVvZGV2Lmg+CS8qIGtlcm5lbCByYWRpbyBz dHJ1Y3RzCQkqLw0KLSNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4JLyogQ09O RklHX1JBRElPX1JUUkFDS19QT1JUIAkqLw0KLSNpbmNsdWRlIDxhc20vc2Vt YXBob3JlLmg+CS8qIExvY2sgZm9yIHRoZSBJL08gCQkqLw0KKyNpbmNsdWRl IDxsaW51eC9tb2R1bGUuaD4NCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPg0K KyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4NCisjaW5jbHVkZSA8bGludXgv ZGVsYXkuaD4NCisjaW5jbHVkZSA8YXNtL2lvLmg+DQorI2luY2x1ZGUgPGFz bS91YWNjZXNzLmg+DQorI2luY2x1ZGUgPGxpbnV4L3ZpZGVvZGV2Lmg+DQor I2luY2x1ZGUgPGxpbnV4L2NvbmZpZy5oPg0KKyNpbmNsdWRlIDxhc20vc2Vt YXBob3JlLmg+DQorDQorI2RlZmluZSBSVFJBQ0tfSU9fRVhURU5UCTB4MDIN CiANCiAjaWZuZGVmIENPTkZJR19SQURJT19SVFJBQ0tfUE9SVA0KICNkZWZp bmUgQ09ORklHX1JBRElPX1JUUkFDS19QT1JUIC0xDQpAQCAtMzM3LDMwICsz MzksMjggQEANCiANCiBzdGF0aWMgaW50IF9faW5pdCBydHJhY2tfaW5pdCh2 b2lkKQ0KIHsNCi0JaWYoaW89PS0xKQ0KLQl7DQotCQlwcmludGsoS0VSTl9F UlIgIllvdSBtdXN0IHNldCBhbiBJL08gYWRkcmVzcyB3aXRoIGlvPTB4Pz8/ XG4iKTsNCisJcHJpbnRrKEtFUk5fSU5GTyAiQUlNU2xhYiBSYWRpb1RyYWNr L1JhZGlvUmV2ZWFsIGNhcmQgZHJpdmVyLlxuIik7DQorDQorCWlmKGlvID09 IC0xKSB7DQorCQlwcmludGsoS0VSTl9FUlIgInJ0cmFjazogeW91IG11c3Qg c2V0IGFuIEkvTyBhZGRyZXNzIHdpdGggaW89MHg/Pz9cbiIpOw0KIAkJcmV0 dXJuIC1FSU5WQUw7DQogCX0NCi0NCi0JaWYgKGNoZWNrX3JlZ2lvbihpbywg MikpIA0KLQl7DQorCXByaW50ayhLRVJOX0lORk8gInJ0cmFjazogcG9ydCAw eCV4LlxuIiwgaW8pOw0KKwlpZiAoIXJlcXVlc3RfcmVnaW9uKGlvLCBSVFJB Q0tfSU9fRVhURU5ULCAicnRyYWNrIikpIHsNCiAJCXByaW50ayhLRVJOX0VS UiAicnRyYWNrOiBwb3J0IDB4JXggYWxyZWFkeSBpbiB1c2VcbiIsIGlvKTsN CiAJCXJldHVybiAtRUJVU1k7DQogCX0NCiANCiAJcnRyYWNrX3JhZGlvLnBy aXY9JnJ0cmFja191bml0Ow0KLQkNCi0JaWYodmlkZW9fcmVnaXN0ZXJfZGV2 aWNlKCZydHJhY2tfcmFkaW8sIFZGTF9UWVBFX1JBRElPKT09LTEpDQorDQor CWlmKHZpZGVvX3JlZ2lzdGVyX2RldmljZSgmcnRyYWNrX3JhZGlvLCBWRkxf VFlQRV9SQURJTykgPT0gLTEpIHsNCisJCXJlbGVhc2VfcmVnaW9uKGlvLCBS VFJBQ0tfSU9fRVhURU5UKTsNCiAJCXJldHVybiAtRUlOVkFMOw0KLQkJDQot CXJlcXVlc3RfcmVnaW9uKGlvLCAyLCAicnRyYWNrIik7DQotCXByaW50ayhL RVJOX0lORk8gIkFJTVNsYWIgUmFkaW9UcmFjay9SYWRpb1JldmVhbCBjYXJk IGRyaXZlci5cbiIpOw0KKwl9DQogDQogCS8qIFNldCB1cCB0aGUgSS9PIGxv Y2tpbmcgKi8NCi0JDQogCWluaXRfTVVURVgoJmxvY2spOw0KLQkNCisNCiAg CS8qIG11dGUgY2FyZCAtIHByZXZlbnRzIG5vaXN5IGJvb3R1cHMgKi8NCiAN CiAJLyogdGhpcyBlbnN1cmVzIHRoYXQgdGhlIHZvbHVtZSBpcyBhbGwgdGhl IHdheSBkb3duICAqLw0KQEAgLTM3OSwxMiArMzc5LDExIEBADQogDQogRVhQ T1JUX05PX1NZTUJPTFM7DQogDQotc3RhdGljIHZvaWQgX19leGl0IGNsZWFu dXBfcnRyYWNrX21vZHVsZSh2b2lkKQ0KK3N0YXRpYyB2b2lkIF9fZXhpdCBy dHJhY2tfY2xlYW51cCh2b2lkKQ0KIHsNCiAJdmlkZW9fdW5yZWdpc3Rlcl9k ZXZpY2UoJnJ0cmFja19yYWRpbyk7DQotCXJlbGVhc2VfcmVnaW9uKGlvLDIp Ow0KKwlyZWxlYXNlX3JlZ2lvbihpbywgUlRSQUNLX0lPX0VYVEVOVCk7DQog fQ0KIA0KIG1vZHVsZV9pbml0KHJ0cmFja19pbml0KTsNCi1tb2R1bGVfZXhp dChjbGVhbnVwX3J0cmFja19tb2R1bGUpOw0KLQ0KK21vZHVsZV9leGl0KHJ0 cmFja19jbGVhbnVwKTsNCmRpZmYgLXVOciBsaW51eC0yNDB0MTFwMS9kcml2 ZXJzL21lZGlhL3JhZGlvL3JhZGlvLWF6dGVjaC5jIGxpbnV4L2RyaXZlcnMv bWVkaWEvcmFkaW8vcmFkaW8tYXp0ZWNoLmMNCi0tLSBsaW51eC0yNDB0MTFw MS9kcml2ZXJzL21lZGlhL3JhZGlvL3JhZGlvLWF6dGVjaC5jCVR1ZSBPY3Qg IDMgMDA6MTc6MzkgMjAwMA0KKysrIGxpbnV4L2RyaXZlcnMvbWVkaWEvcmFk aW8vcmFkaW8tYXp0ZWNoLmMJVGh1IE5vdiAgOSAwMDozNzozMiAyMDAwDQpA QCAtMjQsMTQgKzI0LDE2IEBADQogICogLSB0dW5pbmcgc3RydWN0dXJlIGNo YW5nZWQgLSBubyBtb3JlIGNoYXJhY3RlciBhcnJheXMsIG90aGVyIGNoYW5n ZXMNCiAqLw0KIA0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4JLyogTW9k dWxlcyAJCQkqLw0KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CQkvKiBJbml0 ZGF0YQkJCSovDQotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgkvKiBjaGVj a19yZWdpb24sIHJlcXVlc3RfcmVnaW9uCSovDQotI2luY2x1ZGUgPGxpbnV4 L2RlbGF5Lmg+CS8qIHVkZWxheQkJCSovDQotI2luY2x1ZGUgPGFzbS9pby5o PgkJLyogb3V0Yiwgb3V0Yl9wCQkJKi8NCi0jaW5jbHVkZSA8YXNtL3VhY2Nl c3MuaD4JLyogY29weSB0by9mcm9tIHVzZXIJCSovDQotI2luY2x1ZGUgPGxp bnV4L3ZpZGVvZGV2Lmg+CS8qIGtlcm5lbCByYWRpbyBzdHJ1Y3RzCQkqLw0K LSNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4JLyogQ09ORklHX1JBRElPX0Fa VEVDSF9QT1JUIAkqLw0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisj aW5jbHVkZSA8bGludXgvaW5pdC5oPg0KKyNpbmNsdWRlIDxsaW51eC9pb3Bv cnQuaD4NCisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4NCisjaW5jbHVkZSA8 YXNtL2lvLmg+DQorI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+DQorI2luY2x1 ZGUgPGxpbnV4L3ZpZGVvZGV2Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2NvbmZp Zy5oPg0KKw0KKyNkZWZpbmUgQVpURUNIX0lPX0VYVEVOVAkweDAyDQogDQog LyogYWNjZXB0YWJsZSBwb3J0czogMHgzNTAgKEpQMyBzaG9ydGVkKSwgMHgz NTggKEpQMyBvcGVuKSAqLw0KIA0KQEAgLTI4OCwyOCArMjkwLDI5IEBADQog DQogc3RhdGljIGludCBfX2luaXQgYXp0ZWNoX2luaXQodm9pZCkNCiB7DQot CWlmKGlvPT0tMSkNCi0Jew0KLQkJcHJpbnRrKEtFUk5fRVJSICJZb3UgbXVz dCBzZXQgYW4gSS9PIGFkZHJlc3Mgd2l0aCBpbz0weD8/P1xuIik7DQorCXBy aW50ayhLRVJOX0lORk8gIkF6dGVjaCByYWRpbyBjYXJkIGRyaXZlciB2MS4w MC8xOTk5MDIyNCBya3JvbGxAZXhwbG9pdHMub3JnXG4iKTsNCisNCisJaWYg KGlvID09IC0xKSB7DQorCQlwcmludGsoS0VSTl9FUlIgImF6dGVjaDogeW91 IG11c3Qgc2V0IGFuIEkvTyBhZGRyZXNzIHdpdGggaW89MHg/Pz9cbiIpOw0K IAkJcmV0dXJuIC1FSU5WQUw7DQogCX0NCi0NCi0JaWYgKGNoZWNrX3JlZ2lv bihpbywgMikpIA0KLQl7DQorCXByaW50ayhLRVJOX0lORk8gImF6dGVjaDog cG9ydCAweCV4LlxuIiwgaW8pOw0KKwlpZiAoIXJlcXVlc3RfcmVnaW9uKGlv LCBBWlRFQ0hfSU9fRVhURU5ULCAiYXp0ZWNoIikpIHsNCiAJCXByaW50ayhL RVJOX0VSUiAiYXp0ZWNoOiBwb3J0IDB4JXggYWxyZWFkeSBpbiB1c2VcbiIs IGlvKTsNCiAJCXJldHVybiAtRUJVU1k7DQogCX0NCiANCiAJaW5pdF9NVVRF WCgmbG9jayk7DQogCWF6dGVjaF9yYWRpby5wcml2PSZhenRlY2hfdW5pdDsN Ci0JDQotCWlmKHZpZGVvX3JlZ2lzdGVyX2RldmljZSgmYXp0ZWNoX3JhZGlv LCBWRkxfVFlQRV9SQURJTyk9PS0xKQ0KKw0KKwlpZih2aWRlb19yZWdpc3Rl cl9kZXZpY2UoJmF6dGVjaF9yYWRpbywgVkZMX1RZUEVfUkFESU8pID09IC0x KSB7DQorCQlyZWxlYXNlX3JlZ2lvbihpbywgQVpURUNIX0lPX0VYVEVOVCk7 DQogCQlyZXR1cm4gLUVJTlZBTDsNCi0JCQ0KLQlyZXF1ZXN0X3JlZ2lvbihp bywgMiwgImF6dGVjaCIpOw0KLQlwcmludGsoS0VSTl9JTkZPICJBenRlY2gg cmFkaW8gY2FyZCBkcml2ZXIgdjEuMDAvMTk5OTAyMjQgcmtyb2xsQGV4cGxv aXRzLm9yZ1xuIik7DQorCX0NCisNCiAJLyogbXV0ZSBjYXJkIC0gcHJldmVu dHMgbm9pc3kgYm9vdHVwcyAqLw0KIAlvdXRiICgwLCBpbyk7DQorDQogCXJl dHVybiAwOw0KIH0NCiANCkBAIC0zMjMsNyArMzI2LDcgQEANCiBzdGF0aWMg dm9pZCBfX2V4aXQgYXp0ZWNoX2NsZWFudXAodm9pZCkNCiB7DQogCXZpZGVv X3VucmVnaXN0ZXJfZGV2aWNlKCZhenRlY2hfcmFkaW8pOw0KLQlyZWxlYXNl X3JlZ2lvbihpbywyKTsNCisJcmVsZWFzZV9yZWdpb24oaW8sIEFaVEVDSF9J T19FWFRFTlQpOw0KIH0NCiANCiBtb2R1bGVfaW5pdChhenRlY2hfaW5pdCk7 DQpkaWZmIC11TnIgbGludXgtMjQwdDExcDEvZHJpdmVycy9tZWRpYS9yYWRp by9yYWRpby1jYWRldC5jIGxpbnV4L2RyaXZlcnMvbWVkaWEvcmFkaW8vcmFk aW8tY2FkZXQuYw0KLS0tIGxpbnV4LTI0MHQxMXAxL2RyaXZlcnMvbWVkaWEv cmFkaW8vcmFkaW8tY2FkZXQuYwlXZWQgTm92ICA4IDE5OjQ3OjMzIDIwMDAN CisrKyBsaW51eC9kcml2ZXJzL21lZGlhL3JhZGlvL3JhZGlvLWNhZGV0LmMJ VGh1IE5vdiAgOSAwMDozNzoxMSAyMDAwDQpAQCAtMTgsMTYgKzE4LDE4IEBA DQogICoNCiAqLw0KIA0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4JLyog TW9kdWxlcyAJCQkqLw0KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CQkvKiBJ bml0ZGF0YQkJCSovDQotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgkvKiBj aGVja19yZWdpb24sIHJlcXVlc3RfcmVnaW9uCSovDQotI2luY2x1ZGUgPGxp bnV4L2RlbGF5Lmg+CS8qIHVkZWxheQkJCSovDQotI2luY2x1ZGUgPGFzbS9p by5oPgkJLyogb3V0Yiwgb3V0Yl9wCQkJKi8NCi0jaW5jbHVkZSA8YXNtL3Vh Y2Nlc3MuaD4JLyogY29weSB0by9mcm9tIHVzZXIJCSovDQotI2luY2x1ZGUg PGxpbnV4L3ZpZGVvZGV2Lmg+CS8qIGtlcm5lbCByYWRpbyBzdHJ1Y3RzCQkq Lw0KLSNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4JLyogQ09ORklHX1JBRElP X0NBREVUX1BPUlQgCSovDQorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0K KyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2lv cG9ydC5oPg0KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPg0KKyNpbmNsdWRl IDxhc20vaW8uaD4NCisjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4NCisjaW5j bHVkZSA8bGludXgvdmlkZW9kZXYuaD4NCisjaW5jbHVkZSA8bGludXgvY29u ZmlnLmg+DQogI2luY2x1ZGUgPGxpbnV4L3BhcmFtLmg+DQogDQorI2RlZmlu ZSBDQURFVF9JT19FWFRFTlQJCTB4MDINCisNCiAjaWZuZGVmIENPTkZJR19S QURJT19DQURFVF9QT1JUDQogI2RlZmluZSBDT05GSUdfUkFESU9fQ0FERVRf UE9SVCAweDMzMA0KICNlbmRpZg0KQEAgLTQ0LDEwICs0Niw2IEBADQogc3Rh dGljIHVuc2lnbmVkIGNoYXIgcmRzYnVmW1JEU19CVUZGRVJdOw0KIHN0YXRp YyBpbnQgY2FkZXRfbG9jaz0wOw0KIA0KLSNpZm5kZWYgTU9EVUxFDQotc3Rh dGljIGludCBjYWRldF9wcm9iZSh2b2lkKTsNCi0jZW5kaWYNCi0NCiAjaWZk ZWYgQ09ORklHX0lTQVBOUA0KICNpbmNsdWRlIDxsaW51eC9pc2FwbnAuaD4N CiANCkBAIC0zMjYsMTMgKzMyNCwxMyBAQA0KICAgICAgICAgaWYoY2FkZXRf bG9jaz09MCkgew0KIAkgICAgICAgIG91dGIoMHgzLGlvKTsgICAgICAgLyog U2VsZWN0IFJEUyBEZWNvZGVyIENvbnRyb2wgKi8NCiAJCWlmKChpbmIoaW8r MSkmMHgyMCkhPTApIHsNCi0JCSAgICAgICAgcHJpbnRrKEtFUk5fQ1JJVCAi Y2FkZXQ6IFJEUyBmaWZvIG92ZXJmbG93XG4iKTsNCisJCQlwcmludGsoS0VS Tl9FUlIgImNhZGV0OiBSRFMgZmlmbyBvdmVyZmxvd1xuIik7DQogCQl9DQog CQlvdXRiKDB4ODAsaW8pOyAgICAgIC8qIFNlbGVjdCBSRFMgZmlmbyAqLw0K IAkJd2hpbGUoKGluYihpbykmMHg4MCkhPTApIHsNCiAJCSAgICAgICAgcmRz YnVmW3Jkc2luKytdPWluYihpbysxKTsNCiAJCQlpZihyZHNpbj09cmRzb3V0 KSB7DQotCQkJICAgICAgICBwcmludGsoS0VSTl9DUklUICJjYWRldDogUkRT IGJ1ZmZlciBvdmVyZmxvd1xuIik7DQorCQkJCXByaW50ayhLRVJOX0VSUiAi Y2FkZXQ6IFJEUyBidWZmZXIgb3ZlcmZsb3dcbiIpOw0KIAkJCX0NCiAJCX0N CiAJfQ0KQEAgLTU1Niw3ICs1NTQsNyBAQA0KIH07DQogDQogI2lmZGVmIENP TkZJR19JU0FQTlANCi1zdGF0aWMgaW50IGlzYXBucF9jYWRldF9wcm9iZSh2 b2lkKQ0KK3N0YXRpYyBpbnQgX19pbml0IGlzYXBucF9jYWRldF9wcm9iZSh2 b2lkKQ0KIHsNCiAJZGV2ID0gaXNhcG5wX2ZpbmRfZGV2IChOVUxMLCBJU0FQ TlBfVkVORE9SKCdNJywnUycsJ00nKSwNCiAJICAgICAgICAgICAgICAgICAg ICAgICBJU0FQTlBfRlVOQ1RJT04oMHgwYzI0KSwgTlVMTCk7DQpAQCAtNTY4 LDYzICs1NjYsNzAgQEANCiAJaWYgKCEoZGV2LT5yZXNvdXJjZVswXS5mbGFn cyAmIElPUkVTT1VSQ0VfSU8pKQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQogCWlm IChkZXYtPmFjdGl2YXRlKGRldik8MCkgew0KLQkJcHJpbnRrICgicmFkaW8t Y2FkZXQ6IGlzYXBucCBjb25maWd1cmUgZmFpbGVkIChvdXQgb2YgcmVzb3Vy Y2VzPylcbiIpOw0KKwkJcHJpbnRrKEtFUk5fRVJSICJjYWRldDogSVNBUG5Q IGNvbmZpZ3VyZSBmYWlsZWQgKG91dCBvZiByZXNvdXJjZXM/KVxuIik7DQog CQlyZXR1cm4gLUVOT01FTTsNCiAJfQ0KIA0KIAlpbyA9IGRldi0+cmVzb3Vy Y2VbMF0uc3RhcnQ7DQogDQotCXByaW50ayAoInJhZGlvLWNhZGV0OiBJU0FQ blAgcmVwb3J0cyBjYXJkIGF0ICUjeFxuIiwgaW8pOw0KKwlwcmludGsoS0VS Tl9JTkZPICJjYWRldDogSVNBUG5QIHJlcG9ydHMgY2FyZCBhdCAlI3hcbiIs IGlvKTsNCiANCiAJcmV0dXJuIGlvOw0KIH0NCi0jZW5kaWYJCS8qIENPTkZJ R19JU0FQTlAgKi8NCisjZW5kaWYgLyogQ09ORklHX0lTQVBOUCAqLw0KIA0K LSNpZmRlZiBNT0RVTEUNCi1zdGF0aWMgaW50IGNhZGV0X3Byb2JlKHZvaWQp DQorI2lmbmRlZiBNT0RVTEUNCitzdGF0aWMgaW50IF9faW5pdCBjYWRldF9w cm9iZSh2b2lkKQ0KIHsNCiAgICAgICAgIHN0YXRpYyBpbnQgaW92YWxzWzhd PXsweDMzMCwweDMzMiwweDMzNCwweDMzNiwweDMzOCwweDMzYSwweDMzYyww eDMzZX07DQogCWludCBpOw0KIA0KIAlmb3IoaT0wO2k8ODtpKyspIHsNCiAJ ICAgICAgICBpbz1pb3ZhbHNbaV07DQotCSAgICAgICAgaWYoY2hlY2tfcmVn aW9uKGlvLDIpPj0wKSB7DQorCQlpZihyZXF1ZXN0X3JlZ2lvbihpbywgQ0FE RVRfSU9fRVhURU5ULCAiY2FkZXQiKSkgPiAwKSB7DQogCQkgICAgICAgIGNh ZGV0X3NldGZyZXEoMTQxMCk7DQotCQkJaWYoY2FkZXRfZ2V0ZnJlcSgpPT0x NDEwKSB7DQotCQkJICAgICAgICByZXR1cm4gaW87DQotCQkJfQ0KKwkJCWlm KGNhZGV0X2dldGZyZXEoKSA9PSAxNDEwKQ0KKwkJCQlyZXR1cm4gaW87DQor CQkJcmVsZWFzZV9yZWdpb24oaW8sIENBREVUX0lPX0VYVEVOVCk7DQogCQl9 DQogCX0NCi0JcmV0dXJuIC0xOw0KKwlyZXR1cm4gLUVOT0RFVjsNCiB9DQot I2VuZGlmCQkvKiBNT0RVTEUgKi8NCisjZW5kaWYgLyogTU9EVUxFICovDQog DQogc3RhdGljIGludCBfX2luaXQgY2FkZXRfaW5pdCh2b2lkKQ0KIHsNCisJ cHJpbnRrKEtFUk5fSU5GTyAiQURTIENhZGV0IFJhZGlvIGNhcmQgZHJpdmVy LlxuIik7DQorDQogI2lmZGVmIENPTkZJR19JU0FQTlANCiAJaW8gPSBpc2Fw bnBfY2FkZXRfcHJvYmUoKTsNCiANCiAJaWYgKGlvIDwgMCkNCi0JCXJldHVy biAoaW8pOw0KKwkJcmV0dXJuIGlvOw0KICNlbHNlDQogI2lmbmRlZiBNT0RV TEUJCS8qIG9ubHkgcHJvYmUgb24gbm9uLUlTQVBuUCBtb25vbGl0aGljIGNv bXBpbGVzICovDQotCWlvID0gY2FkZXRfcHJvYmUgKCk7DQorCWlvID0gY2Fk ZXRfcHJvYmUoKTsNCisNCisJaWYoaW8gPiAwKQ0KKwkJZ290byByZWc7DQog I2VuZGlmIC8qIE1PRFVMRSAqLw0KICNlbmRpZiAvKiBDT05GSUdfSVNBUE5Q ICovDQogDQogICAgICAgICBpZihpbyA8IDApIHsNCi0jaWZkZWYgTU9EVUxF ICAgICAgICANCi0JCXByaW50ayhLRVJOX0VSUiAiWW91IG11c3Qgc2V0IGFu IEkvTyBhZGRyZXNzIHdpdGggaW89MHg/Pz9cbiIpOw0KLSNlbmRpZg0KLQkg ICAgICAgIHJldHVybiAtRUlOVkFMOw0KKyNpZmRlZiBNT0RVTEUNCisJCXBy aW50ayhLRVJOX0VSUiAiY2FkZXQ6IHlvdSBtdXN0IHNldCBhbiBJL08gYWRk cmVzcyB3aXRoIGlvPTB4Pz8/XG4iKTsNCisjZW5kaWYgLyogTU9EVUxFICov DQorCQlyZXR1cm4gLUVJTlZBTDsNCiAJfQ0KLQlpZiAoIXJlcXVlc3RfcmVn aW9uKGlvLDIsImNhZGV0IikpDQorCWlmICghcmVxdWVzdF9yZWdpb24oaW8s IENBREVUX0lPX0VYVEVOVCwgImNhZGV0IikpDQogCQlyZXR1cm4gLUVCVVNZ Ow0KK3JlZzoNCisJcHJpbnRrKEtFUk5fSU5GTyAiY2FkZXQ6IHBvcnQgMHgl eC5cbiIsIGlvKTsNCiAJaWYodmlkZW9fcmVnaXN0ZXJfZGV2aWNlKCZjYWRl dF9yYWRpbyxWRkxfVFlQRV9SQURJTyk9PS0xKSB7DQotCQlyZWxlYXNlX3Jl Z2lvbihpbywyKTsNCisJCXJlbGVhc2VfcmVnaW9uKGlvLCBDQURFVF9JT19F WFRFTlQpOw0KIAkJcmV0dXJuIC1FSU5WQUw7DQogCX0NCi0JcHJpbnRrKEtF Uk5fSU5GTyAiQURTIENhZGV0IFJhZGlvIENhcmQgYXQgMHgleFxuIixpbyk7 DQorDQogCXJldHVybiAwOw0KIH0NCiANCkBAIC02MzcsMTAgKzY0MiwxMCBA QA0KIA0KIEVYUE9SVF9OT19TWU1CT0xTOw0KIA0KLXN0YXRpYyB2b2lkIF9f ZXhpdCBjYWRldF9jbGVhbnVwX21vZHVsZSh2b2lkKQ0KK3N0YXRpYyB2b2lk IF9fZXhpdCBjYWRldF9jbGVhbnVwKHZvaWQpDQogew0KIAl2aWRlb191bnJl Z2lzdGVyX2RldmljZSgmY2FkZXRfcmFkaW8pOw0KLQlyZWxlYXNlX3JlZ2lv bihpbywyKTsNCisJcmVsZWFzZV9yZWdpb24oaW8sIENBREVUX0lPX0VYVEVO VCk7DQogDQogI2lmZGVmIENPTkZJR19JU0FQTlANCiAJaWYgKGRldikNCkBA IC02NDksNSArNjU0LDQgQEANCiB9DQogDQogbW9kdWxlX2luaXQoY2FkZXRf aW5pdCk7DQotbW9kdWxlX2V4aXQoY2FkZXRfY2xlYW51cF9tb2R1bGUpOw0K LQ0KK21vZHVsZV9leGl0KGNhZGV0X2NsZWFudXApOw0KZGlmZiAtdU5yIGxp bnV4LTI0MHQxMXAxL2RyaXZlcnMvbWVkaWEvcmFkaW8vcmFkaW8tZ2VtdGVr LmMgbGludXgvZHJpdmVycy9tZWRpYS9yYWRpby9yYWRpby1nZW10ZWsuYw0K LS0tIGxpbnV4LTI0MHQxMXAxL2RyaXZlcnMvbWVkaWEvcmFkaW8vcmFkaW8t Z2VtdGVrLmMJVHVlIE9jdCAgMyAwMDoxNzozOSAyMDAwDQorKysgbGludXgv ZHJpdmVycy9tZWRpYS9yYWRpby9yYWRpby1nZW10ZWsuYwlUaHUgTm92ICA5 IDAwOjM2OjEwIDIwMDANCkBAIC0xNSwxNiArMTUsMTggQEANCiAgKg0KICAq Lw0KIA0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4JLyogTW9kdWxlcyAJ CQkqLw0KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CQkvKiBJbml0ZGF0YQkJ CSovDQotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgkvKiBjaGVja19yZWdp b24sIHJlcXVlc3RfcmVnaW9uCSovDQotI2luY2x1ZGUgPGxpbnV4L2RlbGF5 Lmg+CS8qIHVkZWxheQkJCSovDQotI2luY2x1ZGUgPGFzbS9pby5oPgkJLyog b3V0Yiwgb3V0Yl9wCQkJKi8NCi0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4J LyogY29weSB0by9mcm9tIHVzZXIJCSovDQotI2luY2x1ZGUgPGxpbnV4L3Zp ZGVvZGV2Lmg+CS8qIGtlcm5lbCByYWRpbyBzdHJ1Y3RzCQkqLw0KLSNpbmNs dWRlIDxsaW51eC9jb25maWcuaD4JLyogQ09ORklHX1JBRElPX0dFTVRFS19Q T1JUIAkqLw0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisjaW5jbHVk ZSA8bGludXgvaW5pdC5oPg0KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4N CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4NCisjaW5jbHVkZSA8YXNtL2lv Lmg+DQorI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+DQorI2luY2x1ZGUgPGxp bnV4L3ZpZGVvZGV2Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2NvbmZpZy5oPg0K ICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPg0KIA0KKyNkZWZpbmUgR0VN VEVLX0lPX0VYVEVOVAkweDA0DQorDQogI2lmbmRlZiBDT05GSUdfUkFESU9f R0VNVEVLX1BPUlQNCiAjZGVmaW5lIENPTkZJR19SQURJT19HRU1URUtfUE9S VCAtMQ0KICNlbmRpZg0KQEAgLTI2NCwyNSArMjY2LDI0IEBADQogDQogc3Rh dGljIGludCBfX2luaXQgZ2VtdGVrX2luaXQodm9pZCkNCiB7DQotCWlmKGlv PT0tMSkNCi0Jew0KKwlwcmludGsoS0VSTl9JTkZPICJHZW1UZWsgcmFkaW8g Y2FyZCBkcml2ZXIuXG4iKTsNCisNCisJaWYoaW8gPT0gLTEpIHsNCiAJCXBy aW50ayhLRVJOX0VSUiAiWW91IG11c3Qgc2V0IGFuIEkvTyBhZGRyZXNzIHdp dGggaW89MHgyMGMsIGlvPTB4MzBjLCBpbz0weDI0YyBvciBpbz0weDM0YyAo aW89MHgwMjBjIG9yIGlvPTB4MjQ4IGZvciB0aGUgY29tYmluZWQgc291bmQv cmFkaW9jYXJkKVxuIik7DQogCQlyZXR1cm4gLUVJTlZBTDsNCiAJfQ0KLQ0K LQlpZiAoY2hlY2tfcmVnaW9uKGlvLCA0KSkgDQotCXsNCisJcHJpbnRrKEtF Uk5fSU5GTyAiZ2VtdGVrOiBwb3J0IDB4JXguXG4iLCBpbyk7DQorCWlmKCFy ZXF1ZXN0X3JlZ2lvbihpbywgR0VNVEVLX0lPX0VYVEVOVCwgImdlbXRlayIp KSB7DQogCQlwcmludGsoS0VSTl9FUlIgImdlbXRlazogcG9ydCAweCV4IGFs cmVhZHkgaW4gdXNlXG4iLCBpbyk7DQogCQlyZXR1cm4gLUVCVVNZOw0KIAl9 DQogDQogCWdlbXRla19yYWRpby5wcml2PSZnZW10ZWtfdW5pdDsNCi0JDQot CWlmKHZpZGVvX3JlZ2lzdGVyX2RldmljZSgmZ2VtdGVrX3JhZGlvLCBWRkxf VFlQRV9SQURJTyk9PS0xKQ0KKw0KKwlpZih2aWRlb19yZWdpc3Rlcl9kZXZp Y2UoJmdlbXRla19yYWRpbywgVkZMX1RZUEVfUkFESU8pID09IC0xKSB7DQor CQlyZWxlYXNlX3JlZ2lvbihpbywgR0VNVEVLX0lPX0VYVEVOVCk7DQogCQly ZXR1cm4gLUVJTlZBTDsNCi0JCQ0KLQlyZXF1ZXN0X3JlZ2lvbihpbywgNCwg ImdlbXRlayIpOw0KLQlwcmludGsoS0VSTl9JTkZPICJHZW1UZWsgUmFkaW8g Q2FyZCBkcml2ZXIuXG4iKTsNCisJfQ0KIA0KIAlzcGluX2xvY2tfaW5pdCgm bG9jayk7DQogIAkvKiBtdXRlIGNhcmQgLSBwcmV2ZW50cyBub2lzeSBib290 dXBzICovDQpAQCAtMjk3LDcgKzI5OCw3IEBADQogfQ0KIA0KIE1PRFVMRV9B VVRIT1IoIkpvbmFzIE11bnNpbiIpOw0KLU1PRFVMRV9ERVNDUklQVElPTigi QSBkcml2ZXIgZm9yIHRoZSBHZW1UZWsgUmFkaW8gQ2FyZCIpOw0KK01PRFVM RV9ERVNDUklQVElPTigiQSBkcml2ZXIgZm9yIHRoZSBHZW1UZWsgcmFkaW8g Y2FyZCIpOw0KIE1PRFVMRV9QQVJNKGlvLCAiaSIpOw0KIE1PRFVMRV9QQVJN X0RFU0MoaW8sICJJL08gYWRkcmVzcyBvZiB0aGUgR2VtVGVrIGNhcmQgKDB4 MjBjLCAweDMwYywgMHgyNGMgb3IgMHgzNGMgKDB4MjBjIG9yIDB4MjQ4IGhh dmUgYmVlbiByZXBvcnRlZCB0byB3b3JrIGZvciB0aGUgY29tYmluZWQgc291 bmQvcmFkaW9jYXJkKSkuIik7DQogDQpAQCAtMzA2LDE0ICszMDcsOCBAQA0K IHN0YXRpYyB2b2lkIF9fZXhpdCBnZW10ZWtfY2xlYW51cCh2b2lkKQ0KIHsN CiAJdmlkZW9fdW5yZWdpc3Rlcl9kZXZpY2UoJmdlbXRla19yYWRpbyk7DQot CXJlbGVhc2VfcmVnaW9uKGlvLDQpOw0KKwlyZWxlYXNlX3JlZ2lvbihpbywg R0VNVEVLX0lPX0VYVEVOVCk7DQogfQ0KIA0KIG1vZHVsZV9pbml0KGdlbXRl a19pbml0KTsNCiBtb2R1bGVfZXhpdChnZW10ZWtfY2xlYW51cCk7DQotDQot LyoNCi0gIExvY2FsIHZhcmlhYmxlczoNCi0gIGNvbXBpbGUtY29tbWFuZDog ImdjYyAtYyAtRE1PRFZFUlNJT05TIC1EX19LRVJORUxfXyAtRE1PRFVMRSAt TzYgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAtSSAvaG9tZS9ibHAvdG1w L2xpbnV4LTIuMS4xMTEtcnRyYWNrL2luY2x1ZGUgcmFkaW8tcnRyYWNrMi5j Ig0KLSAgRW5kOg0KLSovDQpkaWZmIC11TnIgbGludXgtMjQwdDExcDEvZHJp dmVycy9tZWRpYS9yYWRpby9yYWRpby1tYWVzdHJvLmMgbGludXgvZHJpdmVy cy9tZWRpYS9yYWRpby9yYWRpby1tYWVzdHJvLmMNCi0tLSBsaW51eC0yNDB0 MTFwMS9kcml2ZXJzL21lZGlhL3JhZGlvL3JhZGlvLW1hZXN0cm8uYwlUdWUg T2N0ICAzIDE0OjI3OjM0IDIwMDANCisrKyBsaW51eC9kcml2ZXJzL21lZGlh L3JhZGlvL3JhZGlvLW1hZXN0cm8uYwlUaHUgTm92ICA5IDAwOjA1OjA3IDIw MDANCkBAIC0zNjcsNyArMzY3LDcgQEANCiAJDQogCWlmKHJhZGlvX3Bvd2Vy X29uKCZyYWRpb191bml0KSkgew0KIAkJaWYodmlkZW9fcmVnaXN0ZXJfZGV2 aWNlKCZtYWVzdHJvX3JhZGlvLCBWRkxfVFlQRV9SQURJTyk9PS0xKSB7DQot CQkJcHJpbnRrKCJyYWRpby1tYWVzdHJvOiBjYW4ndCByZWdpc3RlciBkZXZp Y2UhIik7DQorCQkJcHJpbnRrKEtFUk5fRVJSICJyYWRpby1tYWVzdHJvOiBj YW4ndCByZWdpc3RlciBkZXZpY2UhIik7DQogCQkJcmV0dXJuIDA7DQogCQl9 DQogCQlwcmludGsoS0VSTl9JTkZPICJyYWRpby1tYWVzdHJvOiB2ZXJzaW9u ICINCmRpZmYgLXVOciBsaW51eC0yNDB0MTFwMS9kcml2ZXJzL21lZGlhL3Jh ZGlvL3JhZGlvLXJ0cmFjazIuYyBsaW51eC9kcml2ZXJzL21lZGlhL3JhZGlv L3JhZGlvLXJ0cmFjazIuYw0KLS0tIGxpbnV4LTI0MHQxMXAxL2RyaXZlcnMv bWVkaWEvcmFkaW8vcmFkaW8tcnRyYWNrMi5jCVR1ZSBPY3QgIDMgMDA6MTc6 MzkgMjAwMA0KKysrIGxpbnV4L2RyaXZlcnMvbWVkaWEvcmFkaW8vcmFkaW8t cnRyYWNrMi5jCVRodSBOb3YgIDkgMDA6MzU6MzEgMjAwMA0KQEAgLTgsMTYg KzgsMTggQEANCiAgKg0KICAqLw0KIA0KLSNpbmNsdWRlIDxsaW51eC9tb2R1 bGUuaD4JLyogTW9kdWxlcyAJCQkqLw0KLSNpbmNsdWRlIDxsaW51eC9pbml0 Lmg+CQkvKiBJbml0ZGF0YQkJCSovDQotI2luY2x1ZGUgPGxpbnV4L2lvcG9y dC5oPgkvKiBjaGVja19yZWdpb24sIHJlcXVlc3RfcmVnaW9uCSovDQotI2lu Y2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CS8qIHVkZWxheQkJCSovDQotI2luY2x1 ZGUgPGFzbS9pby5oPgkJLyogb3V0Yiwgb3V0Yl9wCQkJKi8NCi0jaW5jbHVk ZSA8YXNtL3VhY2Nlc3MuaD4JLyogY29weSB0by9mcm9tIHVzZXIJCSovDQot I2luY2x1ZGUgPGxpbnV4L3ZpZGVvZGV2Lmg+CS8qIGtlcm5lbCByYWRpbyBz dHJ1Y3RzCQkqLw0KLSNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4JLyogQ09O RklHX1JBRElPX1JUUkFDSzJfUE9SVCAJKi8NCisjaW5jbHVkZSA8bGludXgv bW9kdWxlLmg+DQorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4NCisjaW5jbHVk ZSA8bGludXgvaW9wb3J0Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+ DQorI2luY2x1ZGUgPGFzbS9pby5oPg0KKyNpbmNsdWRlIDxhc20vdWFjY2Vz cy5oPg0KKyNpbmNsdWRlIDxsaW51eC92aWRlb2Rldi5oPg0KKyNpbmNsdWRl IDxsaW51eC9jb25maWcuaD4NCiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2su aD4NCiANCisjZGVmaW5lIFJUUkFDSzJfSU9fRVhURU5UCTB4MDQNCisNCiAj aWZuZGVmIENPTkZJR19SQURJT19SVFJBQ0syX1BPUlQNCiAjZGVmaW5lIENP TkZJR19SQURJT19SVFJBQ0syX1BPUlQgLTENCiAjZW5kaWYNCkBAIC0yMzAs MjUgKzIzMiwyNSBAQA0KIA0KIHN0YXRpYyBpbnQgX19pbml0IHJ0cmFjazJf aW5pdCh2b2lkKQ0KIHsNCi0JaWYoaW89PS0xKQ0KLQl7DQotCQlwcmludGso S0VSTl9FUlIgIllvdSBtdXN0IHNldCBhbiBJL08gYWRkcmVzcyB3aXRoIGlv PTB4MjBjIG9yIGlvPTB4MzBjXG4iKTsNCisJcHJpbnRrKEtFUk5fSU5GTyAi QUlNU2xhYiBSYWRpb3RyYWNrIElJIGNhcmQgZHJpdmVyLlxuIik7DQorDQor CWlmKGlvID09IC0xKSB7DQorCQlwcmludGsoS0VSTl9FUlIgInJ0cmFjazI6 IFlvdSBtdXN0IHNldCBhbiBJL08gYWRkcmVzcyB3aXRoIGlvPTB4MjBjIG9y IGlvPTB4MzBjXG4iKTsNCiAJCXJldHVybiAtRUlOVkFMOw0KIAl9DQotCWlm IChjaGVja19yZWdpb24oaW8sIDQpKSANCi0Jew0KKwlwcmludGsoS0VSTl9J TkZPICJydHJhY2syOiBwb3J0IDB4JXguXG4iLCBpbyk7DQorCWlmICghcmVx dWVzdF9yZWdpb24oaW8sIFJUUkFDSzJfSU9fRVhURU5ULCAicnRyYWNrMiIp KSB7DQogCQlwcmludGsoS0VSTl9FUlIgInJ0cmFjazI6IHBvcnQgMHgleCBh bHJlYWR5IGluIHVzZVxuIiwgaW8pOw0KIAkJcmV0dXJuIC1FQlVTWTsNCiAJ fQ0KIA0KIAlydHJhY2syX3JhZGlvLnByaXY9JnJ0cmFjazJfdW5pdDsNCiAN Ci0Jc3Bpbl9sb2NrX2luaXQoJmxvY2spOwkNCi0JaWYodmlkZW9fcmVnaXN0 ZXJfZGV2aWNlKCZydHJhY2syX3JhZGlvLCBWRkxfVFlQRV9SQURJTyk9PS0x KQ0KKwlzcGluX2xvY2tfaW5pdCgmbG9jayk7DQorCWlmKHZpZGVvX3JlZ2lz dGVyX2RldmljZSgmcnRyYWNrMl9yYWRpbywgVkZMX1RZUEVfUkFESU8pID09 IC0xKSB7DQorCQlyZWxlYXNlX3JlZ2lvbihpbywgUlRSQUNLMl9JT19FWFRF TlQpOw0KIAkJcmV0dXJuIC1FSU5WQUw7DQotCQkNCi0JcmVxdWVzdF9yZWdp b24oaW8sIDQsICJydHJhY2syIik7DQotCXByaW50ayhLRVJOX0lORk8gIkFJ TVNsYWIgUmFkaW90cmFjayBJSSBjYXJkIGRyaXZlci5cbiIpOw0KKwl9DQog DQogIAkvKiBtdXRlIGNhcmQgLSBwcmV2ZW50cyBub2lzeSBib290dXBzICov DQogCW91dGIoMSwgaW8pOw0KQEAgLTI2NCwxNyArMjY2LDExIEBADQogDQog RVhQT1JUX05PX1NZTUJPTFM7DQogDQotc3RhdGljIHZvaWQgX19leGl0IHJ0 cmFjazJfY2xlYW51cF9tb2R1bGUodm9pZCkNCitzdGF0aWMgdm9pZCBfX2V4 aXQgcnRyYWNrMl9jbGVhbnVwKHZvaWQpDQogew0KIAl2aWRlb191bnJlZ2lz dGVyX2RldmljZSgmcnRyYWNrMl9yYWRpbyk7DQotCXJlbGVhc2VfcmVnaW9u KGlvLDQpOw0KKwlyZWxlYXNlX3JlZ2lvbihpbywgUlRSQUNLMl9JT19FWFRF TlQpOw0KIH0NCiANCiBtb2R1bGVfaW5pdChydHJhY2syX2luaXQpOw0KLW1v ZHVsZV9leGl0KHJ0cmFjazJfY2xlYW51cF9tb2R1bGUpOw0KLQ0KLS8qDQot ICBMb2NhbCB2YXJpYWJsZXM6DQotICBjb21waWxlLWNvbW1hbmQ6ICJnY2Mg LWMgLURNT0RWRVJTSU9OUyAtRF9fS0VSTkVMX18gLURNT0RVTEUgLU82IC1X YWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLUkgL2hvbWUvYmxwL3RtcC9saW51 eC0yLjEuMTExLXJ0cmFjay9pbmNsdWRlIHJhZGlvLXJ0cmFjazIuYyINCi0g IEVuZDoNCi0qLw0KK21vZHVsZV9leGl0KHJ0cmFjazJfY2xlYW51cCk7DQpk aWZmIC11TnIgbGludXgtMjQwdDExcDEvZHJpdmVycy9tZWRpYS9yYWRpby9y YWRpby1zZjE2Zm1pLmMgbGludXgvZHJpdmVycy9tZWRpYS9yYWRpby9yYWRp by1zZjE2Zm1pLmMNCi0tLSBsaW51eC0yNDB0MTFwMS9kcml2ZXJzL21lZGlh L3JhZGlvL3JhZGlvLXNmMTZmbWkuYwlUdWUgT2N0ICAzIDAwOjE3OjM5IDIw MDANCisrKyBsaW51eC9kcml2ZXJzL21lZGlhL3JhZGlvL3JhZGlvLXNmMTZm bWkuYwlUaHUgTm92ICA5IDAwOjM1OjEyIDIwMDANCkBAIC0xNCwxNCArMTQs MTQgQEANCiAgKiAgDQogICovDQogDQotI2luY2x1ZGUgPGxpbnV4L21vZHVs ZS5oPgkvKiBNb2R1bGVzIAkJCSovDQotI2luY2x1ZGUgPGxpbnV4L2luaXQu aD4JCS8qIEluaXRkYXRhCQkJKi8NCi0jaW5jbHVkZSA8bGludXgvaW9wb3J0 Lmg+CS8qIGNoZWNrX3JlZ2lvbiwgcmVxdWVzdF9yZWdpb24JKi8NCi0jaW5j bHVkZSA8bGludXgvZGVsYXkuaD4JLyogdWRlbGF5CQkJKi8NCi0jaW5jbHVk ZSA8YXNtL2lvLmg+CQkvKiBvdXRiLCBvdXRiX3AJCQkqLw0KLSNpbmNsdWRl IDxhc20vdWFjY2Vzcy5oPgkvKiBjb3B5IHRvL2Zyb20gdXNlcgkJKi8NCi0j aW5jbHVkZSA8bGludXgvdmlkZW9kZXYuaD4JLyoga2VybmVsIHJhZGlvIHN0 cnVjdHMJCSovDQotI2luY2x1ZGUgPGxpbnV4L2NvbmZpZy5oPgkvKiBDT05G SUdfUkFESU9fU0YxNk1JX1BPUlQgCSovDQorI2luY2x1ZGUgPGxpbnV4L21v ZHVsZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQorI2luY2x1ZGUg PGxpbnV4L2lvcG9ydC5oPg0KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPg0K KyNpbmNsdWRlIDxhc20vaW8uaD4NCisjaW5jbHVkZSA8YXNtL3VhY2Nlc3Mu aD4NCisjaW5jbHVkZSA8bGludXgvdmlkZW9kZXYuaD4NCisjaW5jbHVkZSA8 bGludXgvY29uZmlnLmg+DQogI2luY2x1ZGUgPGFzbS9zZW1hcGhvcmUuaD4N CiANCiBzdHJ1Y3QgZm1pX2RldmljZQ0KQEAgLTMyLDYgKzMyLDggQEANCiAg ICAgICAgIF9fdTMyIGZsYWdzOw0KIH07DQogDQorI2RlZmluZSBTRjE2Rk1J X0lPX0VYVEVOVAkweDAyDQorDQogI2lmbmRlZiBDT05GSUdfUkFESU9fU0Yx NkZNSV9QT1JUDQogI2RlZmluZSBDT05GSUdfUkFESU9fU0YxNkZNSV9QT1JU IC0xDQogI2VuZGlmDQpAQCAtMjkxLDEzICsyOTMsMTQgQEANCiANCiBzdGF0 aWMgaW50IF9faW5pdCBmbWlfaW5pdCh2b2lkKQ0KIHsNCi0JaWYoaW89PS0x KQ0KLQl7DQotCQlwcmludGsoS0VSTl9FUlIgIllvdSBtdXN0IHNldCBhbiBJ L08gYWRkcmVzcyB3aXRoIGlvPTB4Pz8/XG4iKTsNCisJcHJpbnRrKEtFUk5f SU5GTyAiU0YxNkZNeCByYWRpbyBjYXJkIGRyaXZlciAoYykgMTk5OCBQZXRy IFZhbmRyb3ZlYyA8dmFuZHJvdmVAdmMuY3Z1dC5jej5cbiIpOw0KKw0KKwlp ZihpbyA9PSAtMSkgew0KKwkJcHJpbnRrKEtFUk5fRVJSICJmbWk6IFlvdSBt dXN0IHNldCBhbiBJL08gYWRkcmVzcyB3aXRoIGlvPTB4Pz8/XG4iKTsNCiAJ CXJldHVybiAtRUlOVkFMOw0KIAl9DQotCWlmIChjaGVja19yZWdpb24oaW8s IDIpKSANCi0Jew0KKwlwcmludGsoS0VSTl9JTkZPICJmbWk6IHBvcnQgMHgl eC5cbiIsIGlvKTsNCisJaWYgKCFyZXF1ZXN0X3JlZ2lvbihpbywgU0YxNkZN SV9JT19FWFRFTlQsICJmbWkiKSkgew0KIAkJcHJpbnRrKEtFUk5fRVJSICJm bWk6IHBvcnQgMHgleCBhbHJlYWR5IGluIHVzZVxuIiwgaW8pOw0KIAkJcmV0 dXJuIC1FQlVTWTsNCiAJfQ0KQEAgLTMwNywzMyArMzEwLDMyIEBADQogCWZt aV91bml0LmN1cmZyZXEgPSAwOw0KIAlmbWlfdW5pdC5mbGFncyA9IFZJREVP X1RVTkVSX0xPVzsNCiAJZm1pX3JhZGlvLnByaXYgPSAmZm1pX3VuaXQ7DQot CQ0KKw0KIAlpbml0X01VVEVYKCZsb2NrKTsNCi0JDQotCWlmKHZpZGVvX3Jl Z2lzdGVyX2RldmljZSgmZm1pX3JhZGlvLCBWRkxfVFlQRV9SQURJTyk9PS0x KQ0KKw0KKwlpZih2aWRlb19yZWdpc3Rlcl9kZXZpY2UoJmZtaV9yYWRpbywg VkZMX1RZUEVfUkFESU8pID09IC0xKSB7DQorCQlyZWxlYXNlX3JlZ2lvbihp bywgU0YxNkZNSV9JT19FWFRFTlQpOw0KIAkJcmV0dXJuIC1FSU5WQUw7DQot CQkNCi0JcmVxdWVzdF9yZWdpb24oaW8sIDIsICJmbWkiKTsNCi0JcHJpbnRr KEtFUk5fSU5GTyAiU0YxNkZNeCByYWRpbyBjYXJkIGRyaXZlciBhdCAweCV4 LlxuIiwgaW8pOw0KLQlwcmludGsoS0VSTl9JTkZPICIoYykgMTk5OCBQZXRy IFZhbmRyb3ZlYywgdmFuZHJvdmVAdmMuY3Z1dC5jei5cbiIpOw0KKwl9DQor DQogCS8qIG11dGUgY2FyZCAtIHByZXZlbnRzIG5vaXN5IGJvb3R1cHMgKi8N CiAJZm1pX211dGUoaW8pOw0KKw0KIAlyZXR1cm4gMDsNCiB9DQogDQogTU9E VUxFX0FVVEhPUigiUGV0ciBWYW5kcm92ZWMsIHZhbmRyb3ZlQHZjLmN2dXQu Y3ogYW5kIE0uIEtpcmt3b29kIik7DQotTU9EVUxFX0RFU0NSSVBUSU9OKCJB IGRyaXZlciBmb3IgdGhlIFNGMTZNSSByYWRpby4iKTsNCitNT0RVTEVfREVT Q1JJUFRJT04oIkEgZHJpdmVyIGZvciB0aGUgU0YxNkZNeCByYWRpbyBjYXJk LiIpOw0KIE1PRFVMRV9QQVJNKGlvLCAiaSIpOw0KLU1PRFVMRV9QQVJNX0RF U0MoaW8sICJJL08gYWRkcmVzcyBvZiB0aGUgU0YxNk1JIGNhcmQgKDB4Mjg0 IG9yIDB4Mzg0KSIpOw0KK01PRFVMRV9QQVJNX0RFU0MoaW8sICJJL08gYWRk cmVzcyBvZiB0aGUgU0YxNkZNeCBjYXJkICgweDI4NCBvciAweDM4NCkiKTsN CiANCiBFWFBPUlRfTk9fU1lNQk9MUzsNCiANCi1zdGF0aWMgdm9pZCBfX2V4 aXQgZm1pX2NsZWFudXBfbW9kdWxlKHZvaWQpDQorc3RhdGljIHZvaWQgX19l eGl0IGZtaV9jbGVhbnVwKHZvaWQpDQogew0KIAl2aWRlb191bnJlZ2lzdGVy X2RldmljZSgmZm1pX3JhZGlvKTsNCi0JcmVsZWFzZV9yZWdpb24oaW8sMik7 DQorCXJlbGVhc2VfcmVnaW9uKGlvLCBTRjE2Rk1JX0lPX0VYVEVOVCk7DQog fQ0KIA0KIG1vZHVsZV9pbml0KGZtaV9pbml0KTsNCi1tb2R1bGVfZXhpdChm bWlfY2xlYW51cF9tb2R1bGUpOw0KLQ0KK21vZHVsZV9leGl0KGZtaV9jbGVh bnVwKTsNCmRpZmYgLXVOciBsaW51eC0yNDB0MTFwMS9kcml2ZXJzL21lZGlh L3JhZGlvL3JhZGlvLXRlcnJhdGVjLmMgbGludXgvZHJpdmVycy9tZWRpYS9y YWRpby9yYWRpby10ZXJyYXRlYy5jDQotLS0gbGludXgtMjQwdDExcDEvZHJp dmVycy9tZWRpYS9yYWRpby9yYWRpby10ZXJyYXRlYy5jCVR1ZSBPY3QgIDMg MDA6MTc6MzkgMjAwMA0KKysrIGxpbnV4L2RyaXZlcnMvbWVkaWEvcmFkaW8v cmFkaW8tdGVycmF0ZWMuYwlUaHUgTm92ICA5IDAwOjM0OjQxIDIwMDANCkBA IC0yMywxNiArMjMsMTggQEANCiAgKiAgDQogICovDQogDQotI2luY2x1ZGUg PGxpbnV4L21vZHVsZS5oPgkvKiBNb2R1bGVzIAkJCSovDQotI2luY2x1ZGUg PGxpbnV4L2luaXQuaD4JCS8qIEluaXRkYXRhCQkJKi8NCi0jaW5jbHVkZSA8 bGludXgvaW9wb3J0Lmg+CS8qIGNoZWNrX3JlZ2lvbiwgcmVxdWVzdF9yZWdp b24JKi8NCi0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4JLyogdWRlbGF5CQkJ Ki8NCi0jaW5jbHVkZSA8YXNtL2lvLmg+CQkvKiBvdXRiLCBvdXRiX3AJCQkq Lw0KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgkvKiBjb3B5IHRvL2Zyb20g dXNlcgkJKi8NCi0jaW5jbHVkZSA8bGludXgvdmlkZW9kZXYuaD4JLyoga2Vy bmVsIHJhZGlvIHN0cnVjdHMJCSovDQotI2luY2x1ZGUgPGxpbnV4L2NvbmZp Zy5oPgkvKiBDT05GSUdfUkFESU9fVEVSUkFURUNfUE9SVCAJKi8NCisjaW5j bHVkZSA8bGludXgvbW9kdWxlLmg+DQorI2luY2x1ZGUgPGxpbnV4L2luaXQu aD4NCisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+DQorI2luY2x1ZGUgPGxp bnV4L2RlbGF5Lmg+DQorI2luY2x1ZGUgPGFzbS9pby5oPg0KKyNpbmNsdWRl IDxhc20vdWFjY2Vzcy5oPg0KKyNpbmNsdWRlIDxsaW51eC92aWRlb2Rldi5o Pg0KKyNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4NCiAjaW5jbHVkZSA8bGlu dXgvc3BpbmxvY2suaD4NCiANCisjZGVmaW5lIFRFUlJBVEVDX0lPX0VYVEVO VAkweDAyDQorDQogI2lmbmRlZiBDT05GSUdfUkFESU9fVEVSUkFURUNfUE9S VA0KICNkZWZpbmUgQ09ORklHX1JBRElPX1RFUlJBVEVDX1BPUlQgMHg1OTAN CiAjZW5kaWYNCkBAIC0zMDksMjYgKzMxMSwyNiBAQA0KIA0KIHN0YXRpYyBp bnQgX19pbml0IHRlcnJhdGVjX2luaXQodm9pZCkNCiB7DQotCWlmKGlvPT0t MSkNCi0Jew0KLQkJcHJpbnRrKEtFUk5fRVJSICJZb3UgbXVzdCBzZXQgYW4g SS9PIGFkZHJlc3Mgd2l0aCBpbz0weD8/P1xuIik7DQorCXByaW50ayhLRVJO X0lORk8gIlRlcnJhVGVjIEFjdGl2UmFkaW8gU3RhbmRhbG9uZSBjYXJkIGRy aXZlci5cbiIpOw0KKw0KKwlpZihpbyA9PSAtMSkgew0KKwkJcHJpbnRrKEtF Uk5fRVJSICJ0ZXJyYXRlYzogeW91IG11c3Qgc2V0IGFuIEkvTyBhZGRyZXNz IHdpdGggaW89MHg/Pz9cbiIpOw0KIAkJcmV0dXJuIC1FSU5WQUw7DQogCX0N Ci0JaWYgKGNoZWNrX3JlZ2lvbihpbywgMikpIA0KLQl7DQotCQlwcmludGso S0VSTl9FUlIgIlRlcnJhVGVjOiBwb3J0IDB4JXggYWxyZWFkeSBpbiB1c2Vc biIsIGlvKTsNCisJcHJpbnRrKCJ0ZXJyYXRlYzogcG9ydCAweCV4LlxuIiwg aW8pOw0KKwlpZighcmVxdWVzdF9yZWdpb24oaW8sIFRFUlJBVEVDX0lPX0VY VEVOVCwgInRlcnJhdGVjIikpIHsNCisJCXByaW50ayhLRVJOX0VSUiAidGVy cmF0ZWM6IHBvcnQgMHgleCBhbHJlYWR5IGluIHVzZVxuIiwgaW8pOw0KIAkJ cmV0dXJuIC1FQlVTWTsNCiAJfQ0KIA0KIAl0ZXJyYXRlY19yYWRpby5wcml2 PSZ0ZXJyYXRlY191bml0Ow0KLQkNCisNCiAJc3Bpbl9sb2NrX2luaXQoJmxv Y2spOw0KLQkNCi0JaWYodmlkZW9fcmVnaXN0ZXJfZGV2aWNlKCZ0ZXJyYXRl Y19yYWRpbywgVkZMX1RZUEVfUkFESU8pPT0tMSkNCisNCisJaWYodmlkZW9f cmVnaXN0ZXJfZGV2aWNlKCZ0ZXJyYXRlY19yYWRpbywgVkZMX1RZUEVfUkFE SU8pID09IC0xKSB7DQorCQlyZWxlYXNlX3JlZ2lvbihpbywgVEVSUkFURUNf SU9fRVhURU5UKTsNCiAJCXJldHVybiAtRUlOVkFMOw0KLQkJDQotCXJlcXVl c3RfcmVnaW9uKGlvLCAyLCAidGVycmF0ZWMiKTsNCi0JcHJpbnRrKEtFUk5f SU5GTyAiVEVSUkFURUMgQWN0aXZSYWRpbyBTdGFuZGFsb25lIGNhcmQgZHJp dmVyLlxuIik7DQorCX0NCiANCiAgCS8qIG11dGUgY2FyZCAtIHByZXZlbnRz IG5vaXN5IGJvb3R1cHMgKi8NCiANCkBAIC0zNDksMTAgKzM1MSw4IEBADQog c3RhdGljIHZvaWQgX19leGl0IHRlcnJhdGVjX2NsZWFudXBfbW9kdWxlKHZv aWQpDQogew0KIAl2aWRlb191bnJlZ2lzdGVyX2RldmljZSgmdGVycmF0ZWNf cmFkaW8pOw0KLQlyZWxlYXNlX3JlZ2lvbihpbywyKTsNCi0JcHJpbnRrKEtF Uk5fSU5GTyAiVEVSUkFURUMgQWN0aXZSYWRpbyBTdGFuZGFsb25lIGNhcmQg ZHJpdmVyIHVubG9hZGVkLlxuIik7CQ0KKwlyZWxlYXNlX3JlZ2lvbihpbywg VEVSUkFURUNfSU9fRVhURU5UKTsNCiB9DQogDQogbW9kdWxlX2luaXQodGVy cmF0ZWNfaW5pdCk7DQogbW9kdWxlX2V4aXQodGVycmF0ZWNfY2xlYW51cF9t b2R1bGUpOw0KLQ0KZGlmZiAtdU5yIGxpbnV4LTI0MHQxMXAxL2RyaXZlcnMv bWVkaWEvcmFkaW8vcmFkaW8tdHJ1c3QuYyBsaW51eC9kcml2ZXJzL21lZGlh L3JhZGlvL3JhZGlvLXRydXN0LmMNCi0tLSBsaW51eC0yNDB0MTFwMS9kcml2 ZXJzL21lZGlhL3JhZGlvL3JhZGlvLXRydXN0LmMJVHVlIE9jdCAgMyAwMDox NzozOSAyMDAwDQorKysgbGludXgvZHJpdmVycy9tZWRpYS9yYWRpby9yYWRp by10cnVzdC5jCVRodSBOb3YgIDkgMDA6MzQ6MjAgMjAwMA0KQEAgLTIyLDcg KzIyLDkgQEANCiAjaW5jbHVkZSA8YXNtL2lvLmg+DQogI2luY2x1ZGUgPGFz bS91YWNjZXNzLmg+DQogI2luY2x1ZGUgPGxpbnV4L3ZpZGVvZGV2Lmg+DQot I2luY2x1ZGUgPGxpbnV4L2NvbmZpZy5oPgkvKiBDT05GSUdfUkFESU9fVFJV U1RfUE9SVCAJKi8NCisjaW5jbHVkZSA8bGludXgvY29uZmlnLmg+DQorDQor I2RlZmluZSBUUlVTVF9JT19FWFRFTlQJCTB4MDINCiANCiAvKiBhY2NlcHRh YmxlIHBvcnRzOiAweDM1MCAoSlAzIHNob3J0ZWQpLCAweDM1OCAoSlAzIG9w ZW4pICovDQogDQpAQCAtMjg2LDcgKzI4OCw3IEBADQogDQogc3RhdGljIHN0 cnVjdCB2aWRlb19kZXZpY2UgdHJ1c3RfcmFkaW89DQogew0KLQkiVHJ1c3Qg Rk0gUmFkaW8iLA0KKwkiVHJ1c3QgRk0gcmFkaW8iLA0KIAlWSURfVFlQRV9U VU5FUiwNCiAJVklEX0hBUkRXQVJFX1RSVVNULA0KIAl0cl9vcGVuLA0KQEAg LTMwMSwyMCArMzAzLDIxIEBADQogDQogc3RhdGljIGludCBfX2luaXQgdHJ1 c3RfaW5pdCh2b2lkKQ0KIHsNCisJcHJpbnRrKEtFUk5fSU5GTyAiVHJ1c3Qg Rk0gcmFkaW8gY2FyZCBkcml2ZXIgdjEuMC5cbiIpOw0KKw0KIAlpZihpbyA9 PSAtMSkgew0KLQkJcHJpbnRrKEtFUk5fRVJSICJZb3UgbXVzdCBzZXQgYW4g SS9PIGFkZHJlc3Mgd2l0aCBpbz0weD8/P1xuIik7DQorCQlwcmludGsoS0VS Tl9FUlIgInRydXN0OiB5b3UgbXVzdCBzZXQgYW4gSS9PIGFkZHJlc3Mgd2l0 aCBpbz0weD8/P1xuIik7DQogCQlyZXR1cm4gLUVJTlZBTDsNCiAJfQ0KLQlp ZihjaGVja19yZWdpb24oaW8sIDIpKSB7DQorCXByaW50ayhLRVJOX0lORk8g InRydXN0OiBwb3J0IDB4JXguXG4iLCBpbyk7DQorCWlmKCFyZXF1ZXN0X3Jl Z2lvbihpbywgVFJVU1RfSU9fRVhURU5ULCAidHJ1c3QiKSkgew0KIAkJcHJp bnRrKEtFUk5fRVJSICJ0cnVzdDogcG9ydCAweCV4IGFscmVhZHkgaW4gdXNl XG4iLCBpbyk7DQogCQlyZXR1cm4gLUVCVVNZOw0KIAl9DQotCWlmKHZpZGVv X3JlZ2lzdGVyX2RldmljZSgmdHJ1c3RfcmFkaW8sIFZGTF9UWVBFX1JBRElP KT09LTEpDQorCWlmKHZpZGVvX3JlZ2lzdGVyX2RldmljZSgmdHJ1c3RfcmFk aW8sIFZGTF9UWVBFX1JBRElPKSA9PSAtMSkgew0KKwkJcmVsZWFzZV9yZWdp b24oaW8sIFRSVVNUX0lPX0VYVEVOVCk7DQogCQlyZXR1cm4gLUVJTlZBTDsN Ci0JCQ0KLQlyZXF1ZXN0X3JlZ2lvbihpbywgMiwgIlRydXN0IEZNIFJhZGlv Iik7DQotDQotCXByaW50ayhLRVJOX0lORk8gIlRydXN0IEZNIFJhZGlvIGNh cmQgZHJpdmVyIHYxLjAuXG4iKTsNCisJfQ0KIA0KIAl3cml0ZV9pMmMoMiwg VERBNzMxOF9BRERSLCAweDgwKTsJLyogc3BlYWtlciBhdHQuIExGID0gMCBk QiAqLw0KIAl3cml0ZV9pMmMoMiwgVERBNzMxOF9BRERSLCAweGEwKTsJLyog c3BlYWtlciBhdHQuIFJGID0gMCBkQiAqLw0KQEAgLTM0MCwxMSArMzQzLDEx IEBADQogDQogRVhQT1JUX05PX1NZTUJPTFM7DQogDQotc3RhdGljIHZvaWQg X19leGl0IGNsZWFudXBfdHJ1c3RfbW9kdWxlKHZvaWQpDQorc3RhdGljIHZv aWQgX19leGl0IHRydXN0X2NsZWFudXAodm9pZCkNCiB7DQogCXZpZGVvX3Vu cmVnaXN0ZXJfZGV2aWNlKCZ0cnVzdF9yYWRpbyk7DQotCXJlbGVhc2VfcmVn aW9uKGlvLCAyKTsNCisJcmVsZWFzZV9yZWdpb24oaW8sIFRSVVNUX0lPX0VY VEVOVCk7DQogfQ0KIA0KIG1vZHVsZV9pbml0KHRydXN0X2luaXQpOw0KLW1v ZHVsZV9leGl0KGNsZWFudXBfdHJ1c3RfbW9kdWxlKTsNCittb2R1bGVfZXhp dCh0cnVzdF9jbGVhbnVwKTsNCmRpZmYgLXVOciBsaW51eC0yNDB0MTFwMS9k cml2ZXJzL21lZGlhL3JhZGlvL3JhZGlvLXR5cGhvb24uYyBsaW51eC9kcml2 ZXJzL21lZGlhL3JhZGlvL3JhZGlvLXR5cGhvb24uYw0KLS0tIGxpbnV4LTI0 MHQxMXAxL2RyaXZlcnMvbWVkaWEvcmFkaW8vcmFkaW8tdHlwaG9vbi5jCVR1 ZSBPY3QgIDMgMDA6MTc6MzkgMjAwMA0KKysrIGxpbnV4L2RyaXZlcnMvbWVk aWEvcmFkaW8vcmFkaW8tdHlwaG9vbi5jCVRodSBOb3YgIDkgMDA6MzM6Mzcg MjAwMA0KQEAgLTI5LDE3ICsyOSwxOSBAQA0KICAqIGNvbXBsZXRlbHkgc2ls ZW50Lg0KICAqLw0KIA0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4JLyog TW9kdWxlcyAgICAgICAgICAgICAgICAgICAgICAgICovDQotI2luY2x1ZGUg PGxpbnV4L2luaXQuaD4JCS8qIEluaXRkYXRhICAgICAgICAgICAgICAgICAg ICAgICAqLw0KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4JLyogY2hlY2tf cmVnaW9uLCByZXF1ZXN0X3JlZ2lvbiAgICovDQotI2luY2x1ZGUgPGxpbnV4 L3Byb2NfZnMuaD4JLyogcmFkaW8gY2FyZCBzdGF0dXMgcmVwb3J0CSAgKi8N Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CQkvKiBvdXRiLCBvdXRiX3AgICAgICAg ICAgICAgICAgICAgKi8NCi0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4JLyog Y29weSB0by9mcm9tIHVzZXIgICAgICAgICAgICAgICovDQotI2luY2x1ZGUg PGxpbnV4L3ZpZGVvZGV2Lmg+CS8qIGtlcm5lbCByYWRpbyBzdHJ1Y3RzICAg ICAgICAgICAqLw0KLSNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4JLyogQ09O RklHX1JBRElPX1RZUEhPT05fKiAgICAgICAgICovDQorI2luY2x1ZGUgPGxp bnV4L21vZHVsZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQorI2lu Y2x1ZGUgPGxpbnV4L2lvcG9ydC5oPg0KKyNpbmNsdWRlIDxsaW51eC9wcm9j X2ZzLmg+DQorI2luY2x1ZGUgPGFzbS9pby5oPg0KKyNpbmNsdWRlIDxhc20v dWFjY2Vzcy5oPg0KKyNpbmNsdWRlIDxsaW51eC92aWRlb2Rldi5oPg0KKyNp bmNsdWRlIDxsaW51eC9jb25maWcuaD4NCiANCiAjZGVmaW5lIEJBTk5FUiAi VHlwaG9vbiBSYWRpbyBDYXJkIGRyaXZlciB2MC4xXG4iDQogDQorI2RlZmlu ZSBUWVBIT09OX0lPX0VYVEVOVAkweDA4DQorDQogI2lmbmRlZiBDT05GSUdf UkFESU9fVFlQSE9PTl9QT1JUDQogI2RlZmluZSBDT05GSUdfUkFESU9fVFlQ SE9PTl9QT1JUIC0xDQogI2VuZGlmDQpAQCAtMjgzLDcgKzI4NSw3IEBADQog DQogc3RhdGljIHN0cnVjdCB2aWRlb19kZXZpY2UgdHlwaG9vbl9yYWRpbyA9 DQogew0KLQkiVHlwaG9vbiBSYWRpbyIsDQorCSJUeXBob29uIHJhZGlvIiwN CiAJVklEX1RZUEVfVFVORVIsDQogCVZJRF9IQVJEV0FSRV9UWVBIT09OLA0K IAl0eXBob29uX29wZW4sDQpAQCAtMzQxLDYgKzM0Myw4IEBADQogDQogc3Rh dGljIGludCBfX2luaXQgdHlwaG9vbl9pbml0KHZvaWQpDQogew0KKwlwcmlu dGsoS0VSTl9JTkZPIEJBTk5FUik7DQorDQogI2lmZGVmIE1PRFVMRQ0KIAlp ZiAoaW8gPT0gLTEpIHsNCiAJCXByaW50ayhLRVJOX0VSUiAicmFkaW8tdHlw aG9vbjogWW91IG11c3Qgc2V0IGFuIEkvTyBhZGRyZXNzIHdpdGggaW89MHgz MTYgb3IgaW89MHgzMzZcbiIpOw0KQEAgLTM1NiwyMCArMzYwLDE5IEBADQog CXR5cGhvb25fdW5pdC5tdXRlZnJlcSA9IG11dGVmcmVxOw0KICNlbmRpZiAv KiBNT0RVTEUgKi8NCiANCi0JcHJpbnRrKEtFUk5fSU5GTyBCQU5ORVIpOw0K IAlpbyA9IHR5cGhvb25fdW5pdC5pb2Jhc2U7DQotCWlmIChjaGVja19yZWdp b24oaW8sIDgpKSB7DQotCQlwcmludGsoS0VSTl9FUlIgInJhZGlvLXR5cGhv b246IHBvcnQgMHgleCBhbHJlYWR5IGluIHVzZVxuIiwNCi0JCSAgICAgICB0 eXBob29uX3VuaXQuaW9iYXNlKTsNCisJcHJpbnRrKEtFUk5fSU5GTyAicmFk aW8tdHlwaG9vbjogcG9ydCAweCV4LlxuIiwgaW8pOw0KKwlpZiAoIXJlcXVl c3RfcmVnaW9uKGlvLCBUWVBIT09OX0lPX0VYVEVOVCwgInR5cGhvb24iKSkg ew0KKwkJcHJpbnRrKEtFUk5fRVJSICJyYWRpby10eXBob29uOiBwb3J0IDB4 JXggYWxyZWFkeSBpbiB1c2VcbiIsIGlvKTsNCiAJCXJldHVybiAtRUJVU1k7 DQogCX0NCiANCiAJdHlwaG9vbl9yYWRpby5wcml2ID0gJnR5cGhvb25fdW5p dDsNCi0JaWYgKHZpZGVvX3JlZ2lzdGVyX2RldmljZSgmdHlwaG9vbl9yYWRp bywgVkZMX1RZUEVfUkFESU8pID09IC0xKQ0KKwlpZiAodmlkZW9fcmVnaXN0 ZXJfZGV2aWNlKCZ0eXBob29uX3JhZGlvLCBWRkxfVFlQRV9SQURJTykgPT0g LTEpIHsNCisJCXJlbGVhc2VfcmVnaW9uKGlvLCBUWVBIT09OX0lPX0VYVEVO VCk7DQogCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KIA0KLQlyZXF1ZXN0X3Jl Z2lvbih0eXBob29uX3VuaXQuaW9iYXNlLCA4LCAidHlwaG9vbiIpOw0KLQlw cmludGsoS0VSTl9JTkZPICJyYWRpby10eXBob29uOiBwb3J0IDB4JXguXG4i LCB0eXBob29uX3VuaXQuaW9iYXNlKTsNCiAJcHJpbnRrKEtFUk5fSU5GTyAi cmFkaW8tdHlwaG9vbjogbXV0ZSBmcmVxdWVuY3kgaXMgJWx1IGtIei5cbiIs DQogCSAgICAgICB0eXBob29uX3VuaXQubXV0ZWZyZXEpOw0KIAl0eXBob29u X3VuaXQubXV0ZWZyZXEgPDw9IDQ7DQpAQCAtMzc5LDI0ICszODIsMjMgQEAN CiANCiAjaWZkZWYgQ09ORklHX1JBRElPX1RZUEhPT05fUFJPQ19GUw0KIAlp ZiAoIWNyZWF0ZV9wcm9jX2luZm9fZW50cnkoImRyaXZlci9yYWRpby10eXBo b29uIiwgMCwgTlVMTCwNCi0JCQkJICAgIHR5cGhvb25fZ2V0X2luZm8pKSAN Ci0JICAgIAlwcmludGsoS0VSTl9FUlIgInJhZGlvLXR5cGhvb246IHJlZ2lz dGVyaW5nIC9wcm9jL2RyaXZlci9yYWRpby10eXBob29uIGZhaWxlZFxuIik7 DQorCQkJCSAgICB0eXBob29uX2dldF9pbmZvKSkgew0KKwkJcHJpbnRrKEtF Uk5fRVJSICJyYWRpby10eXBob29uOiByZWdpc3RlcmluZyAvcHJvYy9kcml2 ZXIvcmFkaW8tdHlwaG9vbiBmYWlsZWRcbiIpOw0KKwkJcmVsZWFzZV9yZWdp b24oaW8sIFRZUEhPT05fSU9fRVhURU5UKTsNCisJfQ0KICNlbmRpZg0KLQ0K IAlyZXR1cm4gMDsNCiB9DQogDQotc3RhdGljIHZvaWQgX19leGl0IHR5cGhv b25fY2xlYW51cF9tb2R1bGUodm9pZCkNCitzdGF0aWMgdm9pZCBfX2V4aXQg dHlwaG9vbl9jbGVhbnVwKHZvaWQpDQogew0KIA0KICNpZmRlZiBDT05GSUdf UkFESU9fVFlQSE9PTl9QUk9DX0ZTDQogCXJlbW92ZV9wcm9jX2VudHJ5KCJk cml2ZXIvcmFkaW8tdHlwaG9vbiIsIE5VTEwpOw0KICNlbmRpZg0KLQ0KIAl2 aWRlb191bnJlZ2lzdGVyX2RldmljZSgmdHlwaG9vbl9yYWRpbyk7DQotCXJl bGVhc2VfcmVnaW9uKGlvLCA4KTsNCisJcmVsZWFzZV9yZWdpb24oaW8sIFRZ UEhPT05fSU9fRVhURU5UKTsNCiB9DQogDQogbW9kdWxlX2luaXQodHlwaG9v bl9pbml0KTsNCi1tb2R1bGVfZXhpdCh0eXBob29uX2NsZWFudXBfbW9kdWxl KTsNCi0NCittb2R1bGVfZXhpdCh0eXBob29uX2NsZWFudXApOw0KZGlmZiAt dU5yIGxpbnV4LTI0MHQxMXAxL2RyaXZlcnMvbWVkaWEvcmFkaW8vcmFkaW8t em9sdHJpeC5jIGxpbnV4L2RyaXZlcnMvbWVkaWEvcmFkaW8vcmFkaW8tem9s dHJpeC5jDQotLS0gbGludXgtMjQwdDExcDEvZHJpdmVycy9tZWRpYS9yYWRp by9yYWRpby16b2x0cml4LmMJVHVlIE9jdCAgMyAwMDoxNzozOSAyMDAwDQor KysgbGludXgvZHJpdmVycy9tZWRpYS9yYWRpby9yYWRpby16b2x0cml4LmMJ VGh1IE5vdiAgOSAwMDo0NDoxNSAyMDAwDQpAQCAtMjUsMTQgKzI1LDE2IEBA DQogICoJICAgICAgLSBSZXdvcmtlZCBpb2N0bCBmdW5jdGlvbnMNCiAgKi8N CiANCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CS8qIE1vZHVsZXMgICAg ICAgICAgICAgICAgICAgICAgICAqLw0KLSNpbmNsdWRlIDxsaW51eC9pbml0 Lmg+CQkvKiBJbml0ZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0j aW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CS8qIGNoZWNrX3JlZ2lvbiwgcmVx dWVzdF9yZWdpb24gICAqLw0KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgkv KiB1ZGVsYXkgICAgICAgICAgICAgICAgICovDQotI2luY2x1ZGUgPGFzbS9p by5oPgkJLyogb3V0Yiwgb3V0Yl9wICAgICAgICAgICAgICAgICAgICovDQot I2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CS8qIGNvcHkgdG8vZnJvbSB1c2Vy ICAgICAgICAgICAgICAqLw0KLSNpbmNsdWRlIDxsaW51eC92aWRlb2Rldi5o PgkvKiBrZXJuZWwgcmFkaW8gc3RydWN0cyAgICAgICAgICAgKi8NCi0jaW5j bHVkZSA8bGludXgvY29uZmlnLmg+CS8qIENPTkZJR19SQURJT19aT0xUUklY X1BPUlQgICAgICAqLw0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisj aW5jbHVkZSA8bGludXgvaW5pdC5oPg0KKyNpbmNsdWRlIDxsaW51eC9pb3Bv cnQuaD4NCisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4NCisjaW5jbHVkZSA8 YXNtL2lvLmg+DQorI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+DQorI2luY2x1 ZGUgPGxpbnV4L3ZpZGVvZGV2Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2NvbmZp Zy5oPg0KKw0KKyNkZWZpbmUgWk9MVFJJWF9JT19FWFRFTlQJMHgwMg0KIA0K ICNpZm5kZWYgQ09ORklHX1JBRElPX1pPTFRSSVhfUE9SVA0KICNkZWZpbmUg Q09ORklHX1JBRElPX1pPTFRSSVhfUE9SVCAtMQ0KQEAgLTM1NiwyOCArMzU4 LDMwIEBADQogDQogc3RhdGljIGludCBfX2luaXQgem9sdHJpeF9pbml0KHZv aWQpDQogew0KKwlwcmludGsoS0VSTl9JTkZPICJab2x0cml4IFJhZGlvIFBs dXMgY2FyZCBkcml2ZXIuXG4iKTsNCisNCiAJaWYgKGlvID09IC0xKSB7DQot CQlwcmludGsoS0VSTl9FUlIgIllvdSBtdXN0IHNldCBhbiBJL08gYWRkcmVz cyB3aXRoIGlvPTB4Pz8/XG4iKTsNCisJCXByaW50ayhLRVJOX0VSUiAiem9s dHJpeDogeW91IG11c3Qgc2V0IGFuIEkvTyBhZGRyZXNzIHdpdGggaW89MHg/ Pz9cbiIpOw0KIAkJcmV0dXJuIC1FSU5WQUw7DQogCX0NCi0JaWYgKGNoZWNr X3JlZ2lvbihpbywgMikpIHsNCi0JCXByaW50ayhLRVJOX0VSUiAiem9sdHJp eDogcG9ydCAweCV4IGFscmVhZHkgaW4gdXNlXG4iLCBpbyk7DQotCQlyZXR1 cm4gLUVCVVNZOw0KLQl9DQorCXByaW50ayhLRVJOX0lORk8gInpvbHRyaXg6 IHBvcnQgMHgleC5cbiIsIGlvKTsNCiAJaWYgKChpbyAhPSAweDIwYykgJiYg KGlvICE9IDB4MzBjKSkgew0KIAkJcHJpbnRrKEtFUk5fRVJSICJ6b2x0cml4 OiBpbnZhbGlkIHBvcnQsIHRyeSAweDIwYyBvciAweDMwY1xuIik7DQogCQly ZXR1cm4gLUVOWElPOw0KIAl9DQorCWlmICghcmVxdWVzdF9yZWdpb24oaW8s IFpPTFRSSVhfSU9fRVhURU5ULCAiem9sdHJpeCIpKSB7DQorCQlwcmludGso S0VSTl9FUlIgInpvbHRyaXg6IHBvcnQgMHgleCBhbHJlYWR5IGluIHVzZVxu IiwgaW8pOw0KKwkJcmV0dXJuIC1FQlVTWTsNCisJfQ0KIAl6b2x0cml4X3Jh ZGlvLnByaXYgPSAmem9sdHJpeF91bml0Ow0KIA0KLQlpZiAodmlkZW9fcmVn aXN0ZXJfZGV2aWNlKCZ6b2x0cml4X3JhZGlvLCBWRkxfVFlQRV9SQURJTykg PT0gLTEpDQorCWlmICh2aWRlb19yZWdpc3Rlcl9kZXZpY2UoJnpvbHRyaXhf cmFkaW8sIFZGTF9UWVBFX1JBRElPKSA9PSAtMSkgew0KKwkJcmVsZWFzZV9y ZWdpb24oaW8sIFpPTFRSSVhfSU9fRVhURU5UKTsNCiAJCXJldHVybiAtRUlO VkFMOw0KLQ0KLQlyZXF1ZXN0X3JlZ2lvbihpbywgMiwgInpvbHRyaXgiKTsN Ci0JcHJpbnRrKEtFUk5fSU5GTyAiWm9sdHJpeCBSYWRpbyBQbHVzIGNhcmQg ZHJpdmVyLlxuIik7DQorCX0NCiANCiAJaW5pdF9NVVRFWCgmem9sdHJpeF91 bml0LmxvY2spOw0KLQkNCisNCiAJLyogbXV0ZSBjYXJkIC0gcHJldmVudHMg bm9pc3kgYm9vdHVwcyAqLw0KIA0KIAkvKiB0aGlzIGVuc3VyZXMgdGhhdCB0 aGUgdm9sdW1lIGlzIGFsbCB0aGUgd2F5IGRvd24gICovDQpAQCAtNDAxLDEy ICs0MDUsMTEgQEANCiANCiBFWFBPUlRfTk9fU1lNQk9MUzsNCiANCi1zdGF0 aWMgdm9pZCBfX2V4aXQgem9sdHJpeF9jbGVhbnVwX21vZHVsZSh2b2lkKQ0K K3N0YXRpYyB2b2lkIF9fZXhpdCB6b2x0cml4X2NsZWFudXAodm9pZCkNCiB7 DQogCXZpZGVvX3VucmVnaXN0ZXJfZGV2aWNlKCZ6b2x0cml4X3JhZGlvKTsN Ci0JcmVsZWFzZV9yZWdpb24oaW8sIDIpOw0KKwlyZWxlYXNlX3JlZ2lvbihp bywgWk9MVFJJWF9JT19FWFRFTlQpOw0KIH0NCiANCiBtb2R1bGVfaW5pdCh6 b2x0cml4X2luaXQpOw0KLW1vZHVsZV9leGl0KHpvbHRyaXhfY2xlYW51cF9t b2R1bGUpOw0KLQ0KK21vZHVsZV9leGl0KHpvbHRyaXhfY2xlYW51cCk7DQo= --8323328-1101068279-973728223=:22998-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/