--0-1514449870-1032842524=:16117
Content-Type: TEXT/PLAIN; charset=US-ASCII
Hello Linus,
I2C module_init and module_exit cleanup to i2c-core,i2c-proc and i2c-dev
for linux-2.5.39
Thanks,
Albert
-- ac9410@attbi.com--0-1514449870-1032842524=:16117 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=1-mod-cleanup-patch Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.44.0209240042040.16117@home1> Content-Description: Content-Disposition: attachment; filename=1-mod-cleanup-patch
LS0tIGxpbnV4L2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMub3JpZwkyMDAyLTA5 LTA5IDEzOjM1OjAzLjAwMDAwMDAwMCAtMDQwMA0KKysrIGxpbnV4L2RyaXZl cnMvaTJjL2kyYy1jb3JlLmMJMjAwMi0wOS0xNyAyMzoyMDo1My4wMDAwMDAw MDAgLTA0MDANCkBAIC0yMSw3ICsyMSw3IEBADQogICAgQWxsIFNNQnVzLXJl bGF0ZWQgdGhpbmdzIGFyZSB3cml0dGVuIGJ5IEZyb2RvIExvb2lqYWFyZCA8 ZnJvZG9sQGRkcy5ubD4NCiAgICBTTUJ1cyAyLjAgc3VwcG9ydCBieSBNYXJr IFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+ICAgICAgICAgICAg ICAgICovDQogDQotLyogJElkOiBpMmMtY29yZS5jLHYgMS44MyAyMDAyLzA3 LzA4IDAxOjM3OjE1IG1kcyBFeHAgJCAqLw0KKy8qICRJZDogaTJjLWNvcmUu Yyx2IDEuODYgMjAwMi8wOS8xMiAwNjo0NzoyNiBhYzk0MTAgRXhwICQgKi8N CiANCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+DQogI2luY2x1ZGUgPGxp bnV4L2tlcm5lbC5oPg0KQEAgLTM2LDEwICszNiw2IEBADQogI2luY2x1ZGUg PGxpbnV4L3ZlcnNpb24uaD4NCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPg0K IA0KLSNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigy LDMsMSkNCi0jZGVmaW5lIGluaXRfTVVURVgocykgZG8geyAqKHMpID0gTVVU RVg7IH0gd2hpbGUoMCkNCi0jZW5kaWYNCi0NCiAjaW5jbHVkZSA8YXNtL3Vh Y2Nlc3MuaD4NCiANCiAvKiAtLS0tLSBnbG9iYWwgZGVmaW5lcyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICovDQpAQCAtNzIsNyArNjgsNyBAQA0KIHN0YXRpYyBpbnQgZHJpdmVyX2Nv dW50Ow0KIA0KIC8qKioqIGRlYnVnIGxldmVsICovDQotc3RhdGljIGludCBp MmNfZGVidWc9MTsNCitzdGF0aWMgaW50IGkyY19kZWJ1ZzsNCiANCiAvKiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCiAgKiAvcHJvYyBlbnRyeSBkZWNsYXJhdGlvbnMNCkBAIC04NCwx MCArODAsNiBAQA0KIHN0YXRpYyBpbnQgaTJjcHJvY19pbml0KHZvaWQpOw0K IHN0YXRpYyBpbnQgaTJjcHJvY19jbGVhbnVwKHZvaWQpOw0KIA0KLSNpZiAo TElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsMywyNykp DQotc3RhdGljIHZvaWQgbW9uaXRvcl9idXNfaTJjKHN0cnVjdCBpbm9kZSAq aW5vZGUsIGludCBmaWxsKTsNCi0jZW5kaWYgLyogKExJTlVYX1ZFUlNJT05f Q09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDEsNTgpKSAqLw0KLQ0KIHN0YXRp YyBzc2l6ZV90IGkyY3Byb2NfYnVzX3JlYWQoc3RydWN0IGZpbGUgKiBmaWxl LCBjaGFyICogYnVmLHNpemVfdCBjb3VudCwgDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsb2ZmX3QgKnBwb3MpOw0KIHN0YXRpYyBpbnQg cmVhZF9idXNfaTJjKGNoYXIgKmJ1ZiwgY2hhciAqKnN0YXJ0LCBvZmZfdCBv ZmZzZXQsIGludCBsZW4sDQpAQCAtOTksMTIgKzkxLDYgQEANCiAJcmVhZDoJ CWkyY3Byb2NfYnVzX3JlYWQsDQogfTsNCiANCi0jaWYgKExJTlVYX1ZFUlNJ T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsMyw0OCkpDQotc3RhdGljIHN0 cnVjdCBpbm9kZV9vcGVyYXRpb25zIGkyY3Byb2NfaW5vZGVfb3BlcmF0aW9u cyA9IHsNCi0JJmkyY3Byb2Nfb3BlcmF0aW9ucw0KLX07DQotI2VuZGlmDQot DQogc3RhdGljIGludCBpMmNwcm9jX2luaXRpYWxpemVkID0gMDsNCiANCiAj ZWxzZSAvKiB1bmRlZiBDT05GSUdfUFJPQ19GUyAqLw0KQEAgLTE2NCwxNiAr MTUwLDggQEANCiAJCQlnb3RvIEVSUk9SMTsNCiAJCX0NCiANCi0jaWYgKExJ TlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDMsNDgpKQ0K IAkJcHJvY19lbnRyeS0+cHJvY19mb3BzID0gJmkyY3Byb2Nfb3BlcmF0aW9u czsNCi0jZWxzZQ0KLQkJcHJvY19lbnRyeS0+b3BzID0gJmkyY3Byb2NfaW5v ZGVfb3BlcmF0aW9uczsNCi0jZW5kaWYNCi0jaWYgKExJTlVYX1ZFUlNJT05f Q09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDMsMjcpKQ0KIAkJcHJvY19lbnRy eS0+b3duZXIgPSBUSElTX01PRFVMRTsNCi0jZWxzZQ0KLQkJcHJvY19lbnRy eS0+ZmlsbF9pbm9kZSA9ICZtb25pdG9yX2J1c19pMmM7DQotI2VuZGlmIC8q IChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMiwxLDU4 KSkgKi8NCiAJCWFkYXAtPmlub2RlID0gcHJvY19lbnRyeS0+bG93X2lubzsN CiAJfQ0KIA0KQEAgLTYxMSwxOCArNTg5LDYgQEANCiANCiAjaWZkZWYgQ09O RklHX1BST0NfRlMNCiANCi0jaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8PSBL RVJORUxfVkVSU0lPTigyLDMsMjcpKQ0KLS8qIE1vbml0b3IgYWNjZXNzIHRv IC9wcm9jL2J1cy9pMmMqOyBtYWtlIHVubG9hZGluZyBpMmMtcHJvYyBpbXBv c3NpYmxlDQotICAgaWYgc29tZSBwcm9jZXNzIHN0aWxsIHVzZXMgaXQgb3Ig c29tZSBmaWxlIGluIGl0ICovDQotdm9pZCBtb25pdG9yX2J1c19pMmMoc3Ry dWN0IGlub2RlICppbm9kZSwgaW50IGZpbGwpDQotew0KLQlpZiAoZmlsbCkN Ci0JCU1PRF9JTkNfVVNFX0NPVU5UOw0KLQllbHNlDQotCQlNT0RfREVDX1VT RV9DT1VOVDsNCi19DQotI2VuZGlmIC8qIChMSU5VWF9WRVJTSU9OX0NPREUg PD0gS0VSTkVMX1ZFUlNJT04oMiwzLDM3KSkgKi8NCi0NCiAvKiBUaGlzIGZ1 bmN0aW9uIGdlbmVyYXRlcyB0aGUgb3V0cHV0IGZvciAvcHJvYy9idXMvaTJj ICovDQogaW50IHJlYWRfYnVzX2kyYyhjaGFyICpidWYsIGNoYXIgKipzdGFy dCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuLCBpbnQgKmVvZiwgDQogICAgICAg ICAgICAgICAgICB2b2lkICpwcml2YXRlKQ0KQEAgLTY1OCwxOCArNjI0LDE5 IEBADQogCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7DQogCWludCBpLGos ayxvcmRlcl9ucixsZW49MCxsZW5fdG90YWw7DQogCWludCBvcmRlcltJMkNf Q0xJRU5UX01BWF07DQorI2RlZmluZSBPVVRQVVRfTEVOR1RIX1BFUl9MSU5F IDcwDQogDQotCWlmIChjb3VudCA+IDQwOTYpDQotCQlyZXR1cm4gLUVJTlZB TDsgDQogCWxlbl90b3RhbCA9IGZpbGUtPmZfcG9zICsgY291bnQ7DQotCS8q IFRvbyBiYWQgaWYgdGhpcyBnZXRzIGxvbmdlciAodW5saWtlbHkpICovDQot CWlmIChsZW5fdG90YWwgPiA0MDk2KQ0KLQkJbGVuX3RvdGFsID0gNDA5NjsN CisJaWYgKGxlbl90b3RhbCA+IChJMkNfQ0xJRU5UX01BWCAqIE9VVFBVVF9M RU5HVEhfUEVSX0xJTkUpICkNCisJCS8qIGFkanVzdCB0byBtYXhpbXVtIGZp bGUgc2l6ZSAqLw0KKwkJbGVuX3RvdGFsID0gKEkyQ19DTElFTlRfTUFYICog T1VUUFVUX0xFTkdUSF9QRVJfTElORSk7DQogCWZvciAoaSA9IDA7IGkgPCBJ MkNfQURBUF9NQVg7IGkrKykNCiAJCWlmIChhZGFwdGVyc1tpXS0+aW5vZGUg PT0gaW5vZGUtPmlfaW5vKSB7DQogCQkvKiBXZSBuZWVkIGEgYml0IG9mIHNs YWNrIGluIHRoZSBrZXJuZWwgYnVmZmVyOyB0aGlzIG1ha2VzIHRoZQ0KIAkJ ICAgc3ByaW50ZiBzYWZlLiAqLw0KLQkJCWlmICghIChrYnVmID0ga21hbGxv Yyhjb3VudCArIDgwLEdGUF9LRVJORUwpKSkNCisJCQlpZiAoISAoa2J1ZiA9 IGttYWxsb2MobGVuX3RvdGFsICsNCisJCQkgICAgICAgICAgICAgICAgICAg ICAgT1VUUFVUX0xFTkdUSF9QRVJfTElORSwNCisJCQkgICAgICAgICAgICAg ICAgICAgICAgR0ZQX0tFUk5FTCkpKQ0KIAkJCQlyZXR1cm4gLUVOT01FTTsN CiAJCQkvKiBPcmRlciB3aWxsIGhvbGQgdGhlIGluZGV4ZXMgb2YgdGhlIGNs aWVudHMNCiAJCQkgICBzb3J0ZWQgYnkgYWRkcmVzcyAqLw0KQEAgLTczMSwx MSArNjk4LDcgQEANCiAJCXJldHVybiAtRU5PRU5UOw0KICAJfQ0KIAlwcm9j X2J1c19pMmMtPnJlYWRfcHJvYyA9ICZyZWFkX2J1c19pMmM7DQotI2lmIChM SU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMiwzLDI3KSkN CiAJcHJvY19idXNfaTJjLT5vd25lciA9IFRISVNfTU9EVUxFOw0KLSNlbHNl DQotCXByb2NfYnVzX2kyYy0+ZmlsbF9pbm9kZSA9ICZtb25pdG9yX2J1c19p MmM7DQotI2VuZGlmIC8qIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVM X1ZFUlNJT04oMiwzLDI3KSkgKi8NCiAJaTJjcHJvY19pbml0aWFsaXplZCAr PSAyOw0KIAlyZXR1cm4gMDsNCiB9DQpAQCAtMTQ5Miw2ICsxNDU1LDExIEBA DQogCXJldHVybiAwOw0KIH0NCiANCitzdGF0aWMgdm9pZCBfX2V4aXQgaTJj X2V4aXQodm9pZCkNCit7DQorCWkyY3Byb2NfY2xlYW51cCgpOw0KK30NCisN CiAjaWZuZGVmIE1PRFVMRQ0KICNpZmRlZiBDT05GSUdfSTJDX0NIQVJERVYN CiAJZXh0ZXJuIGludCBpMmNfZGV2X2luaXQodm9pZCk7DQpAQCAtMTYyMiwy MCArMTU5MCwxMSBAQA0KIEVYUE9SVF9TWU1CT0woaTJjX2dldF9mdW5jdGlv bmFsaXR5KTsNCiBFWFBPUlRfU1lNQk9MKGkyY19jaGVja19mdW5jdGlvbmFs aXR5KTsNCiANCi0jaWZkZWYgTU9EVUxFDQogTU9EVUxFX0FVVEhPUigiU2lt b24gRy4gVm9nbCA8c2ltb25AdGsudW5pLWxpbnouYWMuYXQ+Iik7DQogTU9E VUxFX0RFU0NSSVBUSU9OKCJJMkMtQnVzIG1haW4gbW9kdWxlIik7DQogTU9E VUxFX1BBUk0oaTJjX2RlYnVnLCAiaSIpOw0KIE1PRFVMRV9QQVJNX0RFU0Mo aTJjX2RlYnVnLCJkZWJ1ZyBsZXZlbCIpOw0KIE1PRFVMRV9MSUNFTlNFKCJH UEwiKTsNCiANCi1pbnQgaW5pdF9tb2R1bGUodm9pZCkgDQotew0KLQlyZXR1 cm4gaTJjX2luaXQoKTsNCi19DQotDQotdm9pZCBjbGVhbnVwX21vZHVsZSh2 b2lkKSANCi17DQotCWkyY3Byb2NfY2xlYW51cCgpOw0KLX0NCi0jZW5kaWYN Cittb2R1bGVfaW5pdChpMmNfaW5pdCk7DQorbW9kdWxlX2V4aXQoaTJjX2V4 aXQpOw0KLS0tIGxpbnV4L2RyaXZlcnMvaTJjL2kyYy1wcm9jLmMub3JpZwky MDAyLTA5LTE3IDIzOjQxOjM5LjAwMDAwMDAwMCAtMDQwMA0KKysrIGxpbnV4 L2RyaXZlcnMvaTJjL2kyYy1wcm9jLmMJMjAwMi0wOS0xNyAyMzo0Mzo1OC4w MDAwMDAwMDAgLTA0MDANCkBAIC01NCw4ICs1NCw2IEBADQogCQkJCXZvaWQg Km5ld3ZhbCwgc2l6ZV90IG5ld2xlbiwNCiAJCQkJdm9pZCAqKmNvbnRleHQp Ow0KIA0KLWludCBfX2luaXQgc2Vuc29yc19pbml0KHZvaWQpOw0KLQ0KICNk ZWZpbmUgU0VOU09SU19FTlRSWV9NQVggMjANCiBzdGF0aWMgc3RydWN0IGN0 bF90YWJsZV9oZWFkZXIgKmkyY19lbnRyaWVzW1NFTlNPUlNfRU5UUllfTUFY XTsNCiANCkBAIC04MTUsMzUgKzgxMywyMyBAQA0KIAlyZXR1cm4gMDsNCiB9 DQogDQorc3RhdGljIHZvaWQgX19leGl0IGkyY19jbGVhbnVwKHZvaWQpDQor ew0KKwlpZiAoaTJjX2luaXRpYWxpemVkID49IDEpIHsNCisJCXVucmVnaXN0 ZXJfc3lzY3RsX3RhYmxlKGkyY19wcm9jX2hlYWRlcik7DQorCQlpMmNfaW5p dGlhbGl6ZWQtLTsNCisJfQ0KK30NCisNCiBFWFBPUlRfU1lNQk9MKGkyY19k ZXJlZ2lzdGVyX2VudHJ5KTsNCiBFWFBPUlRfU1lNQk9MKGkyY19kZXRlY3Qp Ow0KIEVYUE9SVF9TWU1CT0woaTJjX3Byb2NfcmVhbCk7DQogRVhQT1JUX1NZ TUJPTChpMmNfcmVnaXN0ZXJfZW50cnkpOw0KIEVYUE9SVF9TWU1CT0woaTJj X3N5c2N0bF9yZWFsKTsNCiANCi0jaWZkZWYgTU9EVUxFDQotDQogTU9EVUxF X0FVVEhPUigiRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiIpOw0K IE1PRFVMRV9ERVNDUklQVElPTigiaTJjLXByb2MgZHJpdmVyIik7DQogTU9E VUxFX0xJQ0VOU0UoIkdQTCIpOw0KIA0KLWludCBpMmNfY2xlYW51cCh2b2lk KQ0KLXsNCi0JaWYgKGkyY19pbml0aWFsaXplZCA+PSAxKSB7DQotCQl1bnJl Z2lzdGVyX3N5c2N0bF90YWJsZShpMmNfcHJvY19oZWFkZXIpOw0KLQkJaTJj X2luaXRpYWxpemVkLS07DQotCX0NCi0JcmV0dXJuIDA7DQotfQ0KLQ0KLWlu dCBpbml0X21vZHVsZSh2b2lkKQ0KLXsNCi0JcmV0dXJuIHNlbnNvcnNfaW5p dCgpOw0KLX0NCi0NCi1pbnQgY2xlYW51cF9tb2R1bGUodm9pZCkNCi17DQot CXJldHVybiBpMmNfY2xlYW51cCgpOw0KLX0NCi0NCi0jZW5kaWYJCQkJLyog TU9EVUxFICovDQorbW9kdWxlX2luaXQoc2Vuc29yc19pbml0KTsNCittb2R1 bGVfZXhpdChpMmNfY2xlYW51cCk7DQotLS0gbGludXgvZHJpdmVycy9pMmMv aTJjLWRldi5jLm9yaWcJMjAwMi0wOS0xNyAyMzo0Nzo0MS4wMDAwMDAwMDAg LTA0MDANCisrKyBsaW51eC9kcml2ZXJzL2kyYy9pMmMtZGV2LmMJMjAwMi0w OS0xNyAyMzo1MzozNS4wMDAwMDAwMDAgLTA0MDANCkBAIC0zNiw5ICszNiw3 IEBADQogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+DQogI2luY2x1ZGUgPGxpbnV4 L3NsYWIuaD4NCiAjaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPg0KLSNpZiBM SU5VWF9LRVJORUxfVkVSU0lPTiA+PSBLRVJORUxfVkVSU0lPTigyLDQsMCkN CiAjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4NCi0jZW5kaWYgLyogTElO VVhfS0VSTkVMX1ZFUlNJT04gPj0gS0VSTkVMX1ZFUlNJT04oMiw0LDApICov DQogI2lmZGVmIENPTkZJR19ERVZGU19GUw0KICNpbmNsdWRlIDxsaW51eC9k ZXZmc19mc19rZXJuZWwuaD4NCiAjZW5kaWYNCkBAIC01MiwxNiArNTAsOCBA QA0KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4NCiAjaW5jbHVkZSA8bGludXgv aTJjLWRldi5oPg0KIA0KLSNpZmRlZiBNT0RVTEUNCi1leHRlcm4gaW50IGlu aXRfbW9kdWxlKHZvaWQpOw0KLWV4dGVybiBpbnQgY2xlYW51cF9tb2R1bGUo dm9pZCk7DQotI2VuZGlmIC8qIGRlZiBNT0RVTEUgKi8NCi0NCiAvKiBzdHJ1 Y3QgZmlsZV9vcGVyYXRpb25zIGNoYW5nZWQgdG9vIG9mdGVuIGluIHRoZSAy LjEgc2VyaWVzIGZvciBuaWNlIGNvZGUgKi8NCiANCi0jaWYgTElOVVhfS0VS TkVMX1ZFUlNJT04gPCBLRVJORUxfVkVSU0lPTigyLDQsOSkNCi1zdGF0aWMg bG9mZl90IGkyY2Rldl9sc2VlayAoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZf dCBvZmZzZXQsIGludCBvcmlnaW4pOw0KLSNlbmRpZg0KIHN0YXRpYyBzc2l6 ZV90IGkyY2Rldl9yZWFkIChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciAqYnVm LCBzaXplX3QgY291bnQsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsb2ZmX3QgKm9mZnNldCk7DQogc3RhdGljIHNzaXplX3QgaTJjZGV2X3dy aXRlIChzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciAqYnVmLCBzaXpl X3QgY291bnQsIA0KQEAgLTc4LDIzICs2OCw5IEBADQogc3RhdGljIGludCBp MmNkZXZfY29tbWFuZChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1bnNp Z25lZCBpbnQgY21kLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZv aWQgKmFyZyk7DQogDQotI2lmZGVmIE1PRFVMRQ0KLXN0YXRpYw0KLSNlbHNl DQotZXh0ZXJuDQotI2VuZGlmDQotICAgICAgIGludCBfX2luaXQgaTJjX2Rl dl9pbml0KHZvaWQpOw0KLXN0YXRpYyBpbnQgaTJjZGV2X2NsZWFudXAodm9p ZCk7DQotDQogc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgaTJjZGV2 X2ZvcHMgPSB7DQotI2lmIExJTlVYX0tFUk5FTF9WRVJTSU9OID49IEtFUk5F TF9WRVJTSU9OKDIsNCwwKQ0KIAlvd25lcjoJCVRISVNfTU9EVUxFLA0KLSNl bmRpZiAvKiBMSU5VWF9LRVJORUxfVkVSU0lPTiA+PSBLRVJORUxfVkVSU0lP TigyLDQsMCkgKi8NCi0jaWYgTElOVVhfS0VSTkVMX1ZFUlNJT04gPCBLRVJO RUxfVkVSU0lPTigyLDQsOSkNCi0JbGxzZWVrOgkJaTJjZGV2X2xzZWVrLA0K LSNlbHNlDQogCWxsc2VlazoJCW5vX2xsc2VlaywNCi0jZW5kaWYNCiAJcmVh ZDoJCWkyY2Rldl9yZWFkLA0KIAl3cml0ZToJCWkyY2Rldl93cml0ZSwNCiAJ aW9jdGw6CQlpMmNkZXZfaW9jdGwsDQpAQCAtMTMyLDIwICsxMDgsNiBAQA0K IA0KIHN0YXRpYyBpbnQgaTJjZGV2X2luaXRpYWxpemVkOw0KIA0KLSNpZiBM SU5VWF9LRVJORUxfVkVSU0lPTiA8IEtFUk5FTF9WRVJTSU9OKDIsNCw5KQ0K LS8qIE5vdGUgdGhhdCB0aGUgbHNlZWsgZnVuY3Rpb24gaXMgY2FsbGVkIGxs c2VlayBpbiAyLjEga2VybmVscy4gQnV0IHRoaW5ncw0KLSAgIGFyZSBjb21w bGljYXRlZCBlbm91Z2ggYXMgaXMuICovDQotbG9mZl90IGkyY2Rldl9sc2Vl ayAoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmln aW4pDQotew0KLSNpZmRlZiBERUJVRw0KLQlzdHJ1Y3QgaW5vZGUgKmlub2Rl ID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7DQotCXByaW50ayhLRVJOX0RF QlVHICJpMmMtZGV2Lm86IGkyYy0lZCBsc2VlayB0byAlbGQgYnl0ZXMgcmVs YXRpdmUgdG8gJWQuXG4iLA0KLQkgICAgICAgbWlub3IoaW5vZGUtPmlfcmRl diksKGxvbmcpIG9mZnNldCxvcmlnaW4pOw0KLSNlbmRpZiAvKiBERUJVRyAq Lw0KLQlyZXR1cm4gLUVTUElQRTsNCi19DQotI2VuZGlmDQotDQogc3RhdGlj IHNzaXplX3QgaTJjZGV2X3JlYWQgKHN0cnVjdCBmaWxlICpmaWxlLCBjaGFy ICpidWYsIHNpemVfdCBjb3VudCwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbG9mZl90ICpvZmZzZXQpDQogew0KQEAgLTQxMSw5ICszNzMsNiBA QA0KIA0KIAlpZiAoaTJjZGV2X2FkYXBzW21pbm9yXS0+aW5jX3VzZSkNCiAJ CWkyY2Rldl9hZGFwc1ttaW5vcl0tPmluY191c2UoaTJjZGV2X2FkYXBzW21p bm9yXSk7DQotI2lmIExJTlVYX0tFUk5FTF9WRVJTSU9OIDwgS0VSTkVMX1ZF UlNJT04oMiw0LDApDQotCU1PRF9JTkNfVVNFX0NPVU5UOw0KLSNlbmRpZiAv KiBMSU5VWF9LRVJORUxfVkVSU0lPTiA8IEtFUk5FTF9WRVJTSU9OKDIsNCww KSAqLw0KIA0KICNpZmRlZiBERUJVRw0KIAlwcmludGsoS0VSTl9ERUJVRyAi aTJjLWRldi5vOiBvcGVuZWQgaTJjLSVkXG4iLG1pbm9yKTsNCkBAIC00Mjks MTYgKzM4OCwxMCBAQA0KICNpZmRlZiBERUJVRw0KIAlwcmludGsoS0VSTl9E RUJVRyAiaTJjLWRldi5vOiBDbG9zZWQ6IGkyYy0lZFxuIiwgbWlub3IpOw0K ICNlbmRpZg0KLSNpZiBMSU5VWF9LRVJORUxfVkVSU0lPTiA8IEtFUk5FTF9W RVJTSU9OKDIsNCwwKQ0KLQlNT0RfREVDX1VTRV9DT1VOVDsNCi0jZWxzZSAv KiBMSU5VWF9LRVJORUxfVkVSU0lPTiA+PSBLRVJORUxfVkVSU0lPTigyLDQs MCkgKi8NCiAJbG9ja19rZXJuZWwoKTsNCi0jZW5kaWYgLyogTElOVVhfS0VS TkVMX1ZFUlNJT04gPCBLRVJORUxfVkVSU0lPTigyLDQsMCkgKi8NCiAJaWYg KGkyY2Rldl9hZGFwc1ttaW5vcl0tPmRlY191c2UpDQogCQlpMmNkZXZfYWRh cHNbbWlub3JdLT5kZWNfdXNlKGkyY2Rldl9hZGFwc1ttaW5vcl0pOw0KLSNp ZiBMSU5VWF9LRVJORUxfVkVSU0lPTiA+PSBLRVJORUxfVkVSU0lPTigyLDQs MCkNCiAJdW5sb2NrX2tlcm5lbCgpOw0KLSNlbmRpZiAvKiBMSU5VWF9LRVJO RUxfVkVSU0lPTiA+PSBLRVJORUxfVkVSU0lPTigyLDQsMCkgKi8NCiAJcmV0 dXJuIDA7DQogfQ0KIA0KQEAgLTQ5MSw2ICs0NDQsMzAgQEANCiAJcmV0dXJu IC0xOw0KIH0NCiANCitzdGF0aWMgdm9pZCBpMmNkZXZfY2xlYW51cCh2b2lk KQ0KK3sNCisJaW50IHJlczsNCisNCisJaWYgKGkyY2Rldl9pbml0aWFsaXpl ZCA+PSAyKSB7DQorCQlpZiAoKHJlcyA9IGkyY19kZWxfZHJpdmVyKCZpMmNk ZXZfZHJpdmVyKSkpIHsNCisJCQlwcmludGsoS0VSTl9FUlIgImkyYy1kZXYu bzogRHJpdmVyIGRlcmVnaXN0cmF0aW9uIGZhaWxlZCwgIg0KKwkJCSAgICAg ICAibW9kdWxlIG5vdCByZW1vdmVkLlxuIik7DQorCQl9DQorCWkyY2Rldl9p bml0aWFsaXplZCAtLTsNCisJfQ0KKw0KKwlpZiAoaTJjZGV2X2luaXRpYWxp emVkID49IDEpIHsNCisjaWZkZWYgQ09ORklHX0RFVkZTX0ZTDQorCQlkZXZm c191bnJlZ2lzdGVyKGRldmZzX2hhbmRsZSk7DQorI2VuZGlmDQorCQlpZiAo KHJlcyA9IHVucmVnaXN0ZXJfY2hyZGV2KEkyQ19NQUpPUiwiaTJjIikpKSB7 DQorCQkJcHJpbnRrKEtFUk5fRVJSICJpMmMtZGV2Lm86IHVuYWJsZSB0byBy ZWxlYXNlIG1ham9yICVkIGZvciBpMmMgYnVzXG4iLA0KKwkJCSAgICAgICBJ MkNfTUFKT1IpOw0KKwkJfQ0KKwkJaTJjZGV2X2luaXRpYWxpemVkIC0tOw0K Kwl9DQorfQ0KKw0KIGludCBfX2luaXQgaTJjX2Rldl9pbml0KHZvaWQpDQog ew0KIAlpbnQgcmVzOw0KQEAgLTUxNyw1MCArNDk0LDExIEBADQogCXJldHVy biAwOw0KIH0NCiANCi1pbnQgaTJjZGV2X2NsZWFudXAodm9pZCkNCi17DQot CWludCByZXM7DQotDQotCWlmIChpMmNkZXZfaW5pdGlhbGl6ZWQgPj0gMikg ew0KLQkJaWYgKChyZXMgPSBpMmNfZGVsX2RyaXZlcigmaTJjZGV2X2RyaXZl cikpKSB7DQotCQkJcHJpbnRrKEtFUk5fRVJSICJpMmMtZGV2Lm86IERyaXZl ciBkZXJlZ2lzdHJhdGlvbiBmYWlsZWQsICINCi0JCQkgICAgICAgIm1vZHVs ZSBub3QgcmVtb3ZlZC5cbiIpOw0KLQkJCXJldHVybiByZXM7DQotCQl9DQot CWkyY2Rldl9pbml0aWFsaXplZCAtLTsNCi0JfQ0KLQ0KLQlpZiAoaTJjZGV2 X2luaXRpYWxpemVkID49IDEpIHsNCi0jaWZkZWYgQ09ORklHX0RFVkZTX0ZT DQotCQlkZXZmc191bnJlZ2lzdGVyKGRldmZzX2hhbmRsZSk7DQotI2VuZGlm DQotCQlpZiAoKHJlcyA9IHVucmVnaXN0ZXJfY2hyZGV2KEkyQ19NQUpPUiwi aTJjIikpKSB7DQotCQkJcHJpbnRrKEtFUk5fRVJSICJpMmMtZGV2Lm86IHVu YWJsZSB0byByZWxlYXNlIG1ham9yICVkIGZvciBpMmMgYnVzXG4iLA0KLQkJ CSAgICAgICBJMkNfTUFKT1IpOw0KLQkJCXJldHVybiByZXM7DQotCQl9DQot CQlpMmNkZXZfaW5pdGlhbGl6ZWQgLS07DQotCX0NCi0JcmV0dXJuIDA7DQot fQ0KLQ0KIEVYUE9SVF9OT19TWU1CT0xTOw0KIA0KLSNpZmRlZiBNT0RVTEUN Ci0NCiBNT0RVTEVfQVVUSE9SKCJGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBk ZHMubmw+IGFuZCBTaW1vbiBHLiBWb2dsIDxzaW1vbkB0ay51bmktbGluei5h Yy5hdD4iKTsNCiBNT0RVTEVfREVTQ1JJUFRJT04oIkkyQyAvZGV2IGVudHJp ZXMgZHJpdmVyIik7DQogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOw0KIA0KLWlu dCBpbml0X21vZHVsZSh2b2lkKQ0KLXsNCi0JcmV0dXJuIGkyY19kZXZfaW5p dCgpOw0KLX0NCi0NCi1pbnQgY2xlYW51cF9tb2R1bGUodm9pZCkNCi17DQot CXJldHVybiBpMmNkZXZfY2xlYW51cCgpOw0KLX0NCi0NCi0jZW5kaWYgLyog ZGVmIE1PRFVMRSAqLw0KLQ0KK21vZHVsZV9pbml0KGkyY19kZXZfaW5pdCk7 DQorbW9kdWxlX2V4aXQoaTJjZGV2X2NsZWFudXApOw0K --0-1514449870-1032842524=:16117-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/