From mboxrd@z Thu Jan 1 00:00:00 1970 From: frederic rodo Subject: [PATCH] MX27 FEC add mii bus Date: Mon, 9 Feb 2009 18:57:42 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0015174bdf286c353b0462801bdf Cc: linux-arm-kernel@lists.arm.linux.org.uk, netdev@vger.kernel.org, gerg@snapgear.com To: Sascha Hauer Return-path: Received: from mail-ew0-f21.google.com ([209.85.219.21]:42659 "EHLO mail-ew0-f21.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753037AbZBIR5p (ORCPT ); Mon, 9 Feb 2009 12:57:45 -0500 Received: by ewy14 with SMTP id 14so2677090ewy.13 for ; Mon, 09 Feb 2009 09:57:42 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: --0015174bdf286c353b0462801bdf Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi, I have made the corrections you have asked, and I test it successfully with my custom board and a pcm038 thanks --0015174bdf286c353b0462801bdf Content-Type: text/plain; charset=US-ASCII; name="0001-fec-add-mii-bus.txt" Content-Disposition: attachment; filename="0001-fec-add-mii-bus.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fqzg0wnk0 RnJvbSBjNjhiZGJlYTM4NWUzZjk3Y2Y3YzUzZGQ2Yzc1NDgwOGQwYWY4ZDUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBSb2RvIDxmcmVkLnJvZG9AZ21haWwuY29tPgpE YXRlOiBNb24sIDkgRmViIDIwMDkgMTc6NDc6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIXSBmZWM6 IGFkZCBtaWkgYnVzCgoKU2lnbmVkLW9mZi1ieTogRnJlZGVyaWMgUm9kbyA8ZnJlZC5yb2RvQGdt YWlsLmNvbT4KLS0tCiBkcml2ZXJzL25ldC9LY29uZmlnIHwgICAgMSArCiBkcml2ZXJzL25ldC9m ZWMuYyAgIHwgIDM3NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0KIGluY2x1ZGUvbGludXgvZmVjLmggfCAgIDI2ICsrKysKIDMgZmlsZXMgY2hhbmdl ZCwgMzgyIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L0tjb25maWcgYi9kcml2ZXJzL25ldC9LY29uZmlnCmluZGV4IDJkN2NkNjEuLmM2YTc3 NzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L0tjb25maWcKKysrIGIvZHJpdmVycy9uZXQvS2Nv bmZpZwpAQCAtMTgzMCw2ICsxODMwLDcgQEAgY29uZmlnIDY4MzYwX0VORVQKIGNvbmZpZyBGRUMK IAlib29sICJGRUMgZXRoZXJuZXQgY29udHJvbGxlciAob2YgQ29sZEZpcmUgYW5kIHNvbWUgaS5N WCBDUFVzKSIKIAlkZXBlbmRzIG9uIE01MjN4IHx8IE01Mjd4IHx8IE01MjcyIHx8IE01Mjh4IHx8 IE01MjB4IHx8IE1BQ0hfTVgyNworCXNlbGVjdCBQSFlMSUIgaWYgTUFDSF9NWDI3CiAJaGVscAog CSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIGJ1aWx0LWluIDEwLzEwMCBGYXN0 IGV0aGVybmV0CiAJICBjb250cm9sbGVyIG9uIHNvbWUgTW90b3JvbGEgQ29sZEZpcmUgYW5kIEZy ZWVzY2FsZSBpLk1YIHByb2Nlc3NvcnMuCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9mZWMuYyBi L2RyaXZlcnMvbmV0L2ZlYy5jCmluZGV4IGVhMjNiYWEuLmUwODcxMjUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2ZlYy5jCisrKyBiL2RyaXZlcnMvbmV0L2ZlYy5jCkBAIC00MCw2ICs0MCw3IEBA CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVk ZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGh5Lmg+CiAKICNp bmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgogCkBAIC01MSw2ICs1Miw3IEBACiAjaW5jbHVkZSAi ZmVjLmgiCiAKICNpZmRlZiBDT05GSUdfQVJDSF9NWEMKKyNpbmNsdWRlIDxsaW51eC9mZWMuaD4K ICNpbmNsdWRlIDxtYWNoL2hhcmR3YXJlLmg+CiAjZGVmaW5lIEZFQ19BTElHTk1FTlQJMHhmCiAj ZWxzZQpAQCAtMTEwLDggKzExMiw2IEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyCWZlY19tYWNfZGVm YXVsdFtdID0gewogI2RlZmluZQlGRUNfRkxBU0hNQUMJMAogI2VuZGlmCiAKLSNlbmRpZiAvKiBG RUNfTEVHQUNZICovCi0KIC8qIEZvcndhcmQgZGVjbGFyYXRpb25zIG9mIHNvbWUgc3RydWN0dXJl cyB0byBzdXBwb3J0IGRpZmZlcmVudCBQSFlzCiAqLwogCkBAIC0xMzAsNiArMTMwLDggQEAgdHlw ZWRlZiBzdHJ1Y3QgewogCWNvbnN0IHBoeV9jbWRfdCAqc2h1dGRvd247CiB9IHBoeV9pbmZvX3Q7 CiAKKyNlbmRpZiAvKiBGRUNfTEVHQUNZICovCisKIC8qIFRoZSBudW1iZXIgb2YgVHggYW5kIFJ4 IGJ1ZmZlcnMuICBUaGVzZSBhcmUgYWxsb2NhdGVkIGZyb20gdGhlIHBhZ2UKICAqIHBvb2wuICBU aGUgY29kZSBtYXkgYXNzdW1lIHRoZXNlIGFyZSBwb3dlciBvZiB0d28sIHNvIGl0IGl0IGJlc3QK ICAqIHRvIGtlZXAgdGhlbSB0aGF0IHNpemUuCkBAIC0yMTMsMTMgKzIxNSwxMyBAQCBzdHJ1Y3Qg ZmVjX2VuZXRfcHJpdmF0ZSB7CiAJdWludAl0eF9mdWxsOwogCS8qIGhvbGQgd2hpbGUgYWNjZXNz aW5nIHRoZSBIVyBsaWtlIHJpbmdidWZmZXIgZm9yIHR4L3J4IGJ1dCBub3QgTUFDICovCiAJc3Bp bmxvY2tfdCBod19sb2NrOworI2lmZGVmIEZFQ19MRUdBQ1kKIAkvKiBob2xkIHdoaWxlIGFjY2Vz c2luZyB0aGUgbWlpX2xpc3RfdCgpIGVsZW1lbnRzICovCiAJc3BpbmxvY2tfdCBtaWlfbG9jazsK IAogCXVpbnQJcGh5X2lkOwogCXVpbnQJcGh5X2lkX2RvbmU7CiAJdWludAlwaHlfc3RhdHVzOwot CXVpbnQJcGh5X3NwZWVkOwogCXBoeV9pbmZvX3QgY29uc3QJKnBoeTsKIAlzdHJ1Y3Qgd29ya19z dHJ1Y3QgcGh5X3Rhc2s7CiAKQEAgLTIyOCwxNiArMjMwLDI1IEBAIHN0cnVjdCBmZWNfZW5ldF9w cml2YXRlIHsKIAogCXVpbnQJcGh5X2FkZHI7CiAKKwlpbnQJb2xkX2xpbms7CisjZWxzZQorCXN0 cnVjdAlwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisJc3RydWN0CW1paV9idXMgKm1paV9idXM7CisJ c3RydWN0CXBoeV9kZXZpY2UgKnBoeV9kZXY7CisJaW50CW1paV90aW1lb3V0OworI2VuZGlmCisJ dWludAlwaHlfc3BlZWQ7CiAJaW50CWluZGV4OwogCWludAlvcGVuZWQ7CiAJaW50CWxpbms7Ci0J aW50CW9sZF9saW5rOwogCWludAlmdWxsX2R1cGxleDsKIH07CiAKIHN0YXRpYyBpbnQgZmVjX2Vu ZXRfb3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIHN0YXRpYyBpbnQgZmVjX2VuZXRfc3Rh cnRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKKyNp ZmRlZiBGRUNfTEVHQUNZCiBzdGF0aWMgdm9pZCBmZWNfZW5ldF9taWkoc3RydWN0IG5ldF9kZXZp Y2UgKmRldik7CisjZW5kaWYKIHN0YXRpYyBpcnFyZXR1cm5fdCBmZWNfZW5ldF9pbnRlcnJ1cHQo aW50IGlycSwgdm9pZCAqIGRldl9pZCk7CiBzdGF0aWMgdm9pZCBmZWNfZW5ldF90eChzdHJ1Y3Qg bmV0X2RldmljZSAqZGV2KTsKIHN0YXRpYyB2b2lkIGZlY19lbmV0X3J4KHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYpOwpAQCAtMjQ4LDYgKzI1OSwxMSBAQCBzdGF0aWMgdm9pZCBmZWNfc3RvcChzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2KTsKIHN0YXRpYyB2b2lkIGZlY19zZXRfbWFjX2FkZHJlc3Moc3Ry dWN0IG5ldF9kZXZpY2UgKmRldik7CiAKIAorLyogVHJhbnNtaXR0ZXIgdGltZW91dC4KKyovCisj ZGVmaW5lIFRYX1RJTUVPVVQgKDIqSFopCisKKyNpZmRlZiBGRUNfTEVHQUNZCiAvKiBNSUkgcHJv Y2Vzc2luZy4gIFdlIGtlZXAgdGhpcyBhcyBzaW1wbGUgYXMgcG9zc2libGUuICBSZXF1ZXN0cyBh cmUKICAqIHBsYWNlZCBvbiB0aGUgbGlzdCAoaWYgdGhlcmUgaXMgcm9vbSkuICBXaGVuIHRoZSBy ZXF1ZXN0IGlzIGZpbmlzaGVkCiAgKiBieSB0aGUgTUlJLCBhbiBvcHRpb25hbCBmdW5jdGlvbiBt YXkgYmUgY2FsbGVkLgpAQCAtMjc0LDEwICsyOTAsNiBAQCBzdGF0aWMgaW50CW1paV9xdWV1ZShz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgcmVxdWVzdCwKIAkJCQkJCShWQUwgJiAweGZmZmYp KQogI2RlZmluZSBta19taWlfZW5kCTAKIAotLyogVHJhbnNtaXR0ZXIgdGltZW91dC4KLSovCi0j ZGVmaW5lIFRYX1RJTUVPVVQgKDIqSFopCi0KIC8qIFJlZ2lzdGVyIGRlZmluaXRpb25zIGZvciB0 aGUgUEhZLgogKi8KIApAQCAtMzEwLDYgKzMyMiwxOCBAQCBzdGF0aWMgaW50CW1paV9xdWV1ZShz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgcmVxdWVzdCwKICNkZWZpbmUgUEhZX1NUQVRfMTAw SERYCTB4NDAwMCAgLyogMTAwIE1iaXQgaGFsZiBkdXBsZXggc2VsZWN0ZWQgKi8KICNkZWZpbmUg UEhZX1NUQVRfMTAwRkRYCTB4ODAwMCAgLyogMTAwIE1iaXQgZnVsbCBkdXBsZXggc2VsZWN0ZWQg Ki8KIAorI2Vsc2UKKy8qIEZFQyBNTUZSIGJpdHMgZGVmaW5pdGlvbiAqLworI2RlZmluZSBGRUNf TU1GUl9TVAkJKDEgPDwgMzApCisjZGVmaW5lIEZFQ19NTUZSX09QX1JFQUQJKDIgPDwgMjgpCisj ZGVmaW5lIEZFQ19NTUZSX09QX1dSSVRFCSgxIDw8IDI4KQorI2RlZmluZSBGRUNfTU1GUl9QQSh2 KQkJKCh2ICYgMHgxZikgPDwgMjMpCisjZGVmaW5lIEZFQ19NTUZSX1JBKHYpCQkoKHYgJiAweDFm KSA8PCAxOCkKKyNkZWZpbmUgRkVDX01NRlJfVEEJCSgyIDw8IDE2KQorI2RlZmluZSBGRUNfTU1G Ul9EQVRBKHYpCSh2ICYgMHhmZmZmKQorCisjZGVmaW5lIEZFQ19NSUlfVFJJRVMJCTEwMDAwCisj ZW5kaWYKIAogc3RhdGljIGludAogZmVjX2VuZXRfc3RhcnRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAq c2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQpAQCAtNDkwLDEwICs1MTQsMTIgQEAgZmVjX2Vu ZXRfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKiBkZXZfaWQpCiAJCQlmZWNfZW5ldF90eChkZXYp OwogCQl9CiAKKyNpZmRlZiBGRUNfTEVHQUNZCiAJCWlmIChpbnRfZXZlbnRzICYgRkVDX0VORVRf TUlJKSB7CiAJCQlyZXQgPSBJUlFfSEFORExFRDsKIAkJCWZlY19lbmV0X21paShkZXYpOwogCQl9 CisjZW5kaWYKIAogCX0gd2hpbGUgKGludF9ldmVudHMpOwogCkBAIC03MTEsNiArNzM3LDcgQEAg d2hpbGUgKCEoKHN0YXR1cyA9IGJkcC0+Y2JkX3NjKSAmIEJEX0VORVRfUlhfRU1QVFkpKSB7CiB9 CiAKIAorI2lmZGVmIEZFQ19MRUdBQ1kKIC8qIGNhbGxlZCBmcm9tIGludGVycnVwdCBjb250ZXh0 ICovCiBzdGF0aWMgdm9pZAogZmVjX2VuZXRfbWlpKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCkBA IC0xMjM4LDYgKzEyNjUsNyBAQCBzdGF0aWMgcGh5X2luZm9fdCBjb25zdCAqIGNvbnN0IHBoeV9p bmZvW10gPSB7CiAJTlVMTAogfTsKIAorI2VuZGlmIC8qIEZFQ19MRUdBQ1kgKi8KIC8qIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gKi8KICNpZmRlZiBIQVZFX21paV9saW5rX2ludGVycnVwdAogc3RhdGljIGly cXJldHVybl90CkBAIC0xNzI2LDYgKzE3NTQsNyBAQCBzdGF0aWMgdm9pZCBfX2lubGluZV9fIGZl Y19waHlfYWNrX2ludHIodm9pZCkKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCisjaWZkZWYg RkVDX0xFR0FDWQogc3RhdGljIHZvaWQgbWlpX2Rpc3BsYXlfc3RhdHVzKHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYpCiB7CiAJc3RydWN0IGZlY19lbmV0X3ByaXZhdGUgKmZlcCA9IG5ldGRldl9wcml2 KGRldik7CkBAIC0xOTI3LDkgKzE5NTYsNyBAQCBtaWlfZGlzY292ZXJfcGh5KHVpbnQgbWlpX3Jl Zywgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAkJcHJpbnRrKCJGRUM6IE5vIFBIWSBkZXZpY2Ug Zm91bmQuXG4iKTsKIAkJLyogRGlzYWJsZSBleHRlcm5hbCBNSUkgaW50ZXJmYWNlICovCiAJCWZl Y3AtPmZlY19taWlfc3BlZWQgPSBmZXAtPnBoeV9zcGVlZCA9IDA7Ci0jaWZkZWYgRlJFQ19MRUdB Q1kKIAkJZmVjX2Rpc2FibGVfcGh5X2ludHIoKTsKLSNlbmRpZgogCX0KIH0KIApAQCAtMTk1NCw2 ICsxOTgxLDI4MSBAQCBtaWlfbGlua19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqIGRldl9pZCkK IAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAjZW5kaWYKKyNlbHNlCitzdGF0aWMgdm9pZCBmZWNf ZW5ldF9oYW5kbGVfbGlua19jaGFuZ2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKK3sKKwlzdHJ1 Y3QgZmVjX2VuZXRfcHJpdmF0ZSAqZmVwID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5X2RldiA9IGZlcC0+cGh5X2RldjsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwor CisJaW50IHN0YXR1c19jaGFuZ2UgPSAwOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmZlcC0+aHdf bG9jaywgZmxhZ3MpOworCisJLyogUHJldmVudCBhIHN0YXRlIGhhbHRlZCBvbiBtaWkgZXJyb3Ig Ki8KKwlpZiAoZmVwLT5taWlfdGltZW91dCAmJiBwaHlfZGV2LT5zdGF0ZSA9PSBQSFlfSEFMVEVE KSB7CisJCXBoeV9kZXYtPnN0YXRlID0gUEhZX1JFU1VNSU5HOworCQlnb3RvIHNwaW5fdW5sb2Nr OworCX0KKworCWlmIChwaHlfZGV2LT5saW5rKSB7CisJCWlmIChmZXAtPmZ1bGxfZHVwbGV4ICE9 IHBoeV9kZXYtPmR1cGxleCkgeworCQkJZmVjX3Jlc3RhcnQoZGV2LCBwaHlfZGV2LT5kdXBsZXgp OworCQkJc3RhdHVzX2NoYW5nZSA9IDE7CisJCX0KKwl9CisKKwlpZiAocGh5X2Rldi0+bGluayAh PSBmZXAtPmxpbmspIHsKKwkJZmVwLT5saW5rID0gcGh5X2Rldi0+bGluazsKKwkJaWYgKHBoeV9k ZXYtPmxpbmspCisJCQlmZWNfcmVzdGFydChkZXYsIHBoeV9kZXYtPmR1cGxleCk7CisJCWVsc2UK KwkJCWZlY19zdG9wKGRldik7CisJCXN0YXR1c19jaGFuZ2UgPSAxOworCX0KK3NwaW5fdW5sb2Nr OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZlcC0+aHdfbG9jaywgZmxhZ3MpOworCisJaWYg KHN0YXR1c19jaGFuZ2UpCisJCXBoeV9wcmludF9zdGF0dXMocGh5X2Rldik7Cit9CisKKy8qIFBo eSBzZWN0aW9uCisgKiBOT1RFOiBhIG1paSB0cmFuc2FjdGlvbiBpcyBkdXJpbmcgYXJvdW5kIDI1 IHVzLCBzbyBwb2xsaW5nIGl0Li4uCisgKi8KK3N0YXRpYyBpbnQgZmVjX2VuZXRfbWRpb19yZWFk KHN0cnVjdCBtaWlfYnVzICpidXMsIGludCBtaWlfaWQsIGludCByZWdudW0pCit7CisJc3RydWN0 IGZlY19lbmV0X3ByaXZhdGUgKmZlcCA9IGJ1cy0+cHJpdjsKKwl2b2xhdGlsZSBmZWNfdCAqZXA7 CisJaW50IHRyaWVzID0gRkVDX01JSV9UUklFUzsKKworCWZlcC0+bWlpX3RpbWVvdXQgPSAwOwor CWVwID0gZmVwLT5od3A7CisKKwkvKiBjbGVhciBNSUkgZW5kIG9mIHRyYW5zZmVyIGJpdCovCisJ ZXAtPmZlY19pZXZlbnQgPSBGRUNfRU5FVF9NSUk7CisKKwkvKiBzdGFydCBhIHJlYWQgb3AgKi8K KwllcC0+ZmVjX21paV9kYXRhID0gRkVDX01NRlJfU1QgfCBGRUNfTU1GUl9PUF9SRUFEIHwKKwkJ CSAgIEZFQ19NTUZSX1BBKG1paV9pZCkgfCBGRUNfTU1GUl9SQShyZWdudW0pIHwKKwkJCSAgIEZF Q19NTUZSX1RBOworCisJLyogd2FpdCBmb3IgZW5kIG9mIHRyYW5zZmVyICovCisJd2hpbGUgKCEo ZXAtPmZlY19pZXZlbnQgJiBGRUNfRU5FVF9NSUkpICYmIC0tdHJpZXMpCisJCWNwdV9yZWxheCgp OworCisJaWYgKCF0cmllcykgeworCQlmZXAtPm1paV90aW1lb3V0ID0gMTsKKwkJcmV0dXJuIC1F VElNRURPVVQ7CisJfQorCisJLyogcmV0dXJuIHZhbHVlICovCisJcmV0dXJuIEZFQ19NTUZSX0RB VEEoZXAtPmZlY19taWlfZGF0YSk7Cit9CisKK3N0YXRpYyBpbnQgZmVjX2VuZXRfbWRpb193cml0 ZShzdHJ1Y3QgbWlpX2J1cyAqYnVzLCBpbnQgbWlpX2lkLCBpbnQgcmVnbnVtLAorCQkJICAgdTE2 IHZhbHVlKQoreworCXN0cnVjdCBmZWNfZW5ldF9wcml2YXRlICpmZXAgPSBidXMtPnByaXY7CisJ dm9sYXRpbGUgZmVjX3QJKmVwOworCWludCB0cmllcyA9IEZFQ19NSUlfVFJJRVM7CisKKwlmZXAt Pm1paV90aW1lb3V0ID0gMDsKKwllcCA9IGZlcC0+aHdwOworCisJLyogY2xlYXIgTUlJIGVuZCBv ZiB0cmFuc2ZlciBiaXQqLworCWVwLT5mZWNfaWV2ZW50ID0gRkVDX0VORVRfTUlJOworCisJLyog c3RhcnQgYSByZWFkIG9wICovCisJZXAtPmZlY19taWlfZGF0YSA9IEZFQ19NTUZSX1NUIHwgRkVD X01NRlJfT1BfUkVBRCB8CisJCQkgICBGRUNfTU1GUl9QQShtaWlfaWQpIHwgRkVDX01NRlJfUkEo cmVnbnVtKSB8CisJCQkgICBGRUNfTU1GUl9UQSB8IEZFQ19NTUZSX0RBVEEodmFsdWUpOworCisJ Lyogd2FpdCBmb3IgZW5kIG9mIHRyYW5zZmVyICovCisJd2hpbGUgKCEoZXAtPmZlY19pZXZlbnQg JiBGRUNfRU5FVF9NSUkpICYmIC0tdHJpZXMpCisJCWNwdV9yZWxheCgpOworCisJaWYgKCF0cmll cykgeworCQlmZXAtPm1paV90aW1lb3V0ID0gMTsKKwkJcmV0dXJuIC1FVElNRURPVVQ7CisJfQor CXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGZlY19lbmV0X21kaW9fcmVzZXQoc3RydWN0IG1p aV9idXMgKmJ1cykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBmZWNfZW5ldF9taWlf cHJvYmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgZmVjX2VuZXRfcHJpdmF0 ZSAqZmVwID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlzdHJ1Y3QgcGh5X2RldmljZSAqcGh5X2RldiA9 IE5VTEw7CisJaW50IHBoeV9hZGRyOworCisJLyogZmluZCB0aGUgZmlyc3QgcGh5ICovCisJZm9y IChwaHlfYWRkciA9IDA7IHBoeV9hZGRyIDwgUEhZX01BWF9BRERSOyBwaHlfYWRkcisrKSB7CisJ CWlmIChmZXAtPm1paV9idXMtPnBoeV9tYXBbcGh5X2FkZHJdKSB7CisJCQlwaHlfZGV2ID0gZmVw LT5taWlfYnVzLT5waHlfbWFwW3BoeV9hZGRyXTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYg KCFwaHlfZGV2KSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IG5vIFBIWSBmb3VuZFxuIiwgZGV2 LT5uYW1lKTsKKwkJcmV0dXJuIC0xOworCX0KKworCS8qIGF0dGFjaCB0aGUgbWFjIHRvIHRoZSBw aHkgKi8KKwlwaHlfZGV2ID0gcGh5X2Nvbm5lY3QoZGV2LCBwaHlfZGV2LT5kZXYuYnVzX2lkLAor CQkJICAgICAmZmVjX2VuZXRfaGFuZGxlX2xpbmtfY2hhbmdlLCAwLAorCQkJICAgICBQSFlfSU5U RVJGQUNFX01PREVfTUlJKTsKKwlpZiAoSVNfRVJSKHBoeV9kZXYpKSB7CisJCXByaW50ayhLRVJO X0VSUiAiJXM6IENvdWxkIG5vdCBhdHRhY2ggdG8gUEhZXG4iLCBkZXYtPm5hbWUpOworCQlyZXR1 cm4gUFRSX0VSUihwaHlfZGV2KTsKKwl9CisKKwkvKiBtYXNrIHdpdGggTUFDIHN1cHBvcnRlZCBm ZWF0dXJlcyAqLworCXBoeV9kZXYtPnN1cHBvcnRlZCAmPSBQSFlfQkFTSUNfRkVBVFVSRVM7CisJ cGh5X2Rldi0+YWR2ZXJ0aXNpbmcgPSBwaHlfZGV2LT5zdXBwb3J0ZWQ7CisKKwlmZXAtPnBoeV9k ZXYgPSBwaHlfZGV2OworCWZlcC0+bGluayA9IDA7CisJZmVwLT5mdWxsX2R1cGxleCA9IDA7CisK KwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBmZWNfZW5ldF9taWlfaW5pdChzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBwbGF0Zm9y bV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgZmVjX2VuZXRfcHJpdmF0ZSAqZmVwID0gbmV0 ZGV2X3ByaXYoZGV2KTsKKwlzdHJ1Y3QgZmVjX2VuZXRfcGxhdGZvcm1fZGF0YSAqcGRhdGE7CisJ dm9sYXRpbGUgZmVjX3QJKmVwOworCWludCBlcnIgPSAtRU5YSU8sIGk7CisKKwllcCA9IGZlcC0+ aHdwOworCisJZmVwLT5taWlfdGltZW91dCA9IDA7CisJLyoKKwkgKiBTZXQgTUlJIHNwZWVkIHRv IDIuNSBNSHoKKwkgKi8KKwlmZXAtPnBoeV9zcGVlZCA9ICgoKChjbGtfZ2V0X3JhdGUoZmVwLT5j bGspIC8gMiArIDQ5OTk5OTkpCisJCQkJCS8gMjUwMDAwMCkgLyAyKSAmIDB4M0YpIDw8IDE7CisJ ZXAtPmZlY19taWlfc3BlZWQgPSBmZXAtPnBoeV9zcGVlZDsKKworCWZlcC0+bWlpX2J1cyA9IG1k aW9idXNfYWxsb2MoKTsKKwlpZiAoZmVwLT5taWlfYnVzID09IE5VTEwpIHsKKwkJZXJyID0gLUVO T01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCWZlcC0+bWlpX2J1cy0+bmFtZSA9ICJmZWNf ZW5ldF9taWlfYnVzIjsKKwlmZXAtPm1paV9idXMtPnJlYWQgPSAmZmVjX2VuZXRfbWRpb19yZWFk OworCWZlcC0+bWlpX2J1cy0+d3JpdGUgPSAmZmVjX2VuZXRfbWRpb193cml0ZTsKKwlmZXAtPm1p aV9idXMtPnJlc2V0ID0gJmZlY19lbmV0X21kaW9fcmVzZXQ7CisJc25wcmludGYoZmVwLT5taWlf YnVzLT5pZCwgTUlJX0JVU19JRF9TSVpFLCAiJXgiLCBwZGV2LT5pZCk7CisJZmVwLT5taWlfYnVz LT5wcml2ID0gZmVwOworCWZlcC0+bWlpX2J1cy0+cGFyZW50ID0gJnBkZXYtPmRldjsKKwlwZGF0 YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCisJaWYgKHBkYXRhKQorCQlmZXAtPm1paV9i dXMtPnBoeV9tYXNrID0gcGRhdGEtPnBoeV9tYXNrOworCisJZmVwLT5taWlfYnVzLT5pcnEgPSBr bWFsbG9jKHNpemVvZihpbnQpICogUEhZX01BWF9BRERSLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWZl cC0+bWlpX2J1cy0+aXJxKSB7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dF9mcmVl X21kaW9idXM7CisJfQorCisJZm9yIChpID0gMDsgaSA8IFBIWV9NQVhfQUREUjsgaSsrKQorCQlm ZXAtPm1paV9idXMtPmlycVtpXSA9IFBIWV9QT0xMOworCisJcGxhdGZvcm1fc2V0X2RydmRhdGEo ZGV2LCBmZXAtPm1paV9idXMpOworCisJaWYgKG1kaW9idXNfcmVnaXN0ZXIoZmVwLT5taWlfYnVz KSkKKwkJZ290byBlcnJfb3V0X2ZyZWVfbWRpb19pcnE7CisKKwlpZiAoZmVjX2VuZXRfbWlpX3By b2JlKGRldikgIT0gMCkKKwkJZ290byBlcnJfb3V0X3VucmVnaXN0ZXJfYnVzOworCisJcmV0dXJu IDA7CisKK2Vycl9vdXRfdW5yZWdpc3Rlcl9idXM6CisJbWRpb2J1c191bnJlZ2lzdGVyKGZlcC0+ bWlpX2J1cyk7CitlcnJfb3V0X2ZyZWVfbWRpb19pcnE6CisJa2ZyZWUoZmVwLT5taWlfYnVzLT5p cnEpOworZXJyX291dF9mcmVlX21kaW9idXM6CisJbWRpb2J1c19mcmVlKGZlcC0+bWlpX2J1cyk7 CitlcnJfb3V0OgorCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyB2b2lkIGZlY19lbmV0X21paV9y ZW1vdmUoc3RydWN0IGZlY19lbmV0X3ByaXZhdGUgKmZlcCkKK3sKKwlpZiAoZmVwLT5waHlfZGV2 KQorCQlwaHlfZGlzY29ubmVjdChmZXAtPnBoeV9kZXYpOworCW1kaW9idXNfdW5yZWdpc3Rlcihm ZXAtPm1paV9idXMpOworCWtmcmVlKGZlcC0+bWlpX2J1cy0+aXJxKTsKKwltZGlvYnVzX2ZyZWUo ZmVwLT5taWlfYnVzKTsKK30KKworCitzdGF0aWMgaW50IGZlY19lbmV0X2dldF9zZXR0aW5ncyhz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJCSAgc3RydWN0IGV0aHRvb2xfY21kICpjbWQpCit7 CisJc3RydWN0IGZlY19lbmV0X3ByaXZhdGUgKmZlcCA9IG5ldGRldl9wcml2KGRldik7CisJc3Ry dWN0IHBoeV9kZXZpY2UgKnBoeWRldiA9IGZlcC0+cGh5X2RldjsKKworCWlmICghcGh5ZGV2KQor CQlyZXR1cm4gLUVOT0RFVjsKKworCXJldHVybiBwaHlfZXRodG9vbF9nc2V0KHBoeWRldiwgY21k KTsKK30KKworc3RhdGljIGludCBmZWNfZW5ldF9zZXRfc2V0dGluZ3Moc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwKKwkJCQkgc3RydWN0IGV0aHRvb2xfY21kICpjbWQpCit7CisJc3RydWN0IGZlY19l bmV0X3ByaXZhdGUgKmZlcCA9IG5ldGRldl9wcml2KGRldik7CisJc3RydWN0IHBoeV9kZXZpY2Ug KnBoeWRldiA9IGZlcC0+cGh5X2RldjsKKworCWlmICghcGh5ZGV2KQorCQlyZXR1cm4gLUVOT0RF VjsKKworCXJldHVybiBwaHlfZXRodG9vbF9zc2V0KHBoeWRldiwgY21kKTsKK30KKworc3RhdGlj IHZvaWQgZmVjX2VuZXRfZ2V0X2RydmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKKwkJCQkg c3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbykKK3sKKwlzdHJ1Y3QgZmVjX2VuZXRfcHJpdmF0 ZSAqZmVwID0gbmV0ZGV2X3ByaXYoZGV2KTsKKworCXN0cmNweShpbmZvLT5kcml2ZXIsIGZlcC0+ cGRldi0+ZGV2LmRyaXZlci0+bmFtZSk7CisJc3RyY3B5KGluZm8tPnZlcnNpb24sICJSZXZpc2lv bjogMS4wIik7CisJc3RyY3B5KGluZm8tPmJ1c19pbmZvLCBmZXAtPnBkZXYtPmRldi5idXNfaWQp OworfQorCitzdGF0aWMgc3RydWN0IGV0aHRvb2xfb3BzIGZlY19lbmV0X2V0aHRvb2xfb3BzID0g eworCS5nZXRfc2V0dGluZ3MJCT0gZmVjX2VuZXRfZ2V0X3NldHRpbmdzLAorCS5zZXRfc2V0dGlu Z3MJCT0gZmVjX2VuZXRfc2V0X3NldHRpbmdzLAorCS5nZXRfZHJ2aW5mbwkJPSBmZWNfZW5ldF9n ZXRfZHJ2aW5mbywKKwkuZ2V0X2xpbmsJCT0gZXRodG9vbF9vcF9nZXRfbGluaywKK307CisKK3N0 YXRpYyBpbnQgZmVjX2VuZXRfaW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGlm cmVxICpycSwgaW50IGNtZCkKK3sKKwlzdHJ1Y3QgZmVjX2VuZXRfcHJpdmF0ZSAqZmVwID0gbmV0 ZGV2X3ByaXYoZGV2KTsKKwlzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2ID0gZmVwLT5waHlfZGV2 OworCisJaWYgKCFuZXRpZl9ydW5uaW5nKGRldikpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYg KCFwaHlkZXYpCisJCXJldHVybiAtRU5PREVWOworCisJcmV0dXJuIHBoeV9taWlfaW9jdGwocGh5 ZGV2LCBpZl9taWkocnEpLCBjbWQpOworfQorI2VuZGlmIC8qIEZFQ19MRUdBQ1kgKi8KIAogc3Rh dGljIGludAogZmVjX2VuZXRfb3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQpAQCAtMTk2NSw5 ICsyMjY3LDEwIEBAIGZlY19lbmV0X29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAkgKi8K IAlmZWNfc2V0X21hY19hZGRyZXNzKGRldik7CiAKLQlmZXAtPnNlcXVlbmNlX2RvbmUgPSAwOwog CWZlcC0+bGluayA9IDA7CiAKKyNpZmRlZiBGRUNfTEVHQUNZCisJZmVwLT5zZXF1ZW5jZV9kb25l ID0gMDsKIAlpZiAoZmVwLT5waHkpIHsKIAkJbWlpX2RvX2NtZChkZXYsIGZlcC0+cGh5LT5hY2tf aW50KTsKIAkJbWlpX2RvX2NtZChkZXYsIGZlcC0+cGh5LT5jb25maWcpOwpAQCAtMTk5Niw2ICsy Mjk5LDEwIEBAIGZlY19lbmV0X29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAkJZmVjX3Jl c3RhcnQoZGV2LCAxKTsKIAl9CiAKKyNlbHNlCisJLyogc2NoZWR1bGUgYSBsaW5rIHN0YXRlIGNo ZWNrICovCisJcGh5X3N0YXJ0KGZlcC0+cGh5X2Rldik7CisjZW5kaWYKIAluZXRpZl9zdGFydF9x dWV1ZShkZXYpOwogCWZlcC0+b3BlbmVkID0gMTsKIAlyZXR1cm4gMDsJCS8qIFN1Y2Nlc3MgKi8K QEAgLTIwMDksNiArMjMxNiw5IEBAIGZlY19lbmV0X2Nsb3NlKHN0cnVjdCBuZXRfZGV2aWNlICpk ZXYpCiAJLyogRG9uJ3Qga25vdyB3aGF0IHRvIGRvIHlldC4KIAkqLwogCWZlcC0+b3BlbmVkID0g MDsKKyNpZm5kZWYgRkVDX0xFR0FDWQorCXBoeV9zdG9wKGZlcC0+cGh5X2Rldik7CisjZW5kaWYK IAluZXRpZl9zdG9wX3F1ZXVlKGRldik7CiAJZmVjX3N0b3AoZGV2KTsKIApAQCAtMjEzNSw3ICsy NDQ1LDkgQEAgaW50IF9faW5pdCBmZWNfZW5ldF9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYs IGludCBpbmRleCkKIAl9CiAKIAlzcGluX2xvY2tfaW5pdCgmZmVwLT5od19sb2NrKTsKKyNpZmRl ZiBGRUNfTEVHQUNZCiAJc3Bpbl9sb2NrX2luaXQoJmZlcC0+bWlpX2xvY2spOworI2VuZGlmCiAK IAkvKiBDcmVhdGUgYW4gRXRoZXJuZXQgZGV2aWNlIGluc3RhbmNlLgogCSovCkBAIC0yMjYwLDI4 ICsyNTcyLDI4IEBAIGludCBfX2luaXQgZmVjX2VuZXRfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2LCBpbnQgaW5kZXgpCiAJZGV2LT5zdG9wID0gZmVjX2VuZXRfY2xvc2U7CiAJZGV2LT5zZXRf bXVsdGljYXN0X2xpc3QgPSBzZXRfbXVsdGljYXN0X2xpc3Q7CiAKKyNpZmRlZiBGRUNfTEVHQUNZ CiAJZm9yIChpPTA7IGk8Tk1JSS0xOyBpKyspCiAJCW1paV9jbWRzW2ldLm1paV9uZXh0ID0gJm1p aV9jbWRzW2krMV07CiAJbWlpX2ZyZWUgPSBtaWlfY21kczsKIAogCS8qIHNldHVwIE1JSSBpbnRl cmZhY2UgKi8KLSNpZmRlZiBGRUNfTEVHQUNZCiAJZmVjX3NldF9taWkoZGV2LCBmZXApOwogI2Vs c2UKKwlkZXYtPmRvX2lvY3RsID0gZmVjX2VuZXRfaW9jdGw7CisJZGV2LT5ldGh0b29sX29wcyA9 ICZmZWNfZW5ldF9ldGh0b29sX29wczsKKwogCWZlY3AtPmZlY19yX2NudHJsID0gT1BUX0ZSQU1F X1NJWkUgfCAweDA0OwogCWZlY3AtPmZlY194X2NudHJsID0gMHgwMDsKKyNlbmRpZgogCi0JLyoK LQkgKiBTZXQgTUlJIHNwZWVkIHRvIDIuNSBNSHoKLQkgKi8KLQlmZXAtPnBoeV9zcGVlZCA9ICgo KChjbGtfZ2V0X3JhdGUoZmVwLT5jbGspIC8gMiArIDQ5OTk5OTkpCi0JCQkJCS8gMjUwMDAwMCkg LyAyKSAmIDB4M0YpIDw8IDE7Ci0JZmVjcC0+ZmVjX21paV9zcGVlZCA9IGZlcC0+cGh5X3NwZWVk OworI2lmZGVmIEZFQ19MRUdBQ1kKIAlmZWNfcmVzdGFydChkZXYsIDApOwogI2VuZGlmCiAKIAkv KiBDbGVhciBhbmQgZW5hYmxlIGludGVycnVwdHMgKi8KIAlmZWNwLT5mZWNfaWV2ZW50ID0gMHhm ZmMwMDAwMDsKKyNpZmRlZiBGRUNfTEVHQUNZCiAJZmVjcC0+ZmVjX2ltYXNrID0gKEZFQ19FTkVU X1RYRiB8IEZFQ19FTkVUX1JYRiB8IEZFQ19FTkVUX01JSSk7CiAKIAkvKiBRdWV1ZSB1cCBjb21t YW5kIHRvIGRldGVjdCB0aGUgUEhZIGFuZCBpbml0aWFsaXplIHRoZQpAQCAtMjI5MCw2ICsyNjAy LDkgQEAgaW50IF9faW5pdCBmZWNfZW5ldF9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGlu dCBpbmRleCkKIAlmZXAtPnBoeV9pZF9kb25lID0gMDsKIAlmZXAtPnBoeV9hZGRyID0gMDsKIAlt aWlfcXVldWUoZGV2LCBta19taWlfcmVhZChNSUlfUkVHX1BIWUlSMSksIG1paV9kaXNjb3Zlcl9w aHkpOworI2Vsc2UKKwlmZWNwLT5mZWNfaW1hc2sgPSAoRkVDX0VORVRfVFhGIHwgRkVDX0VORVRf UlhGKTsKKyNlbmRpZgogCiAJcmV0dXJuIDA7CiB9CkBAIC0yMzE2LDcgKzI2MzEsNyBAQCBmZWNf cmVzdGFydChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgZHVwbGV4KQogCiAJLyogQ2xlYXIg YW55IG91dHN0YW5kaW5nIGludGVycnVwdC4KIAkqLwotCWZlY3AtPmZlY19pZXZlbnQgPSAweGZm YzAwMDAwOworCWZlY3AtPmZlY19pZXZlbnQgPSAweGZmYzAwMDAwICYgfkZFQ19FTkVUX01JSTsK IAogCS8qIFNldCBzdGF0aW9uIGFkZHJlc3MuCiAJKi8KQEAgLTI0MDYsNyArMjcyMSwxMSBAQCBm ZWNfcmVzdGFydChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgZHVwbGV4KQogCiAJLyogRW5h YmxlIGludGVycnVwdHMgd2Ugd2lzaCB0byBzZXJ2aWNlLgogCSovCisjaWZkZWYgRkVDX0xFR0FD WQogCWZlY3AtPmZlY19pbWFzayA9IChGRUNfRU5FVF9UWEYgfCBGRUNfRU5FVF9SWEYgfCBGRUNf RU5FVF9NSUkpOworI2Vsc2UKKwlmZWNwLT5mZWNfaW1hc2sgPSAoRkVDX0VORVRfVFhGIHwgRkVD X0VORVRfUlhGKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgdm9pZApAQCAtMjQzOCw3ICsyNzU3LDEx IEBAIGZlY19zdG9wKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJKi8KIAlmZWNwLT5mZWNfaWV2 ZW50ID0gRkVDX0VORVRfTUlJOwogCisjaWZkZWYgRkVDX0xFR0FDWQogCWZlY3AtPmZlY19pbWFz ayA9IEZFQ19FTkVUX01JSTsKKyNlbHNlCisJZmVjcC0+ZmVjX2ltYXNrID0gMDsKKyNlbmRpZgog CWZlY3AtPmZlY19taWlfc3BlZWQgPSBmZXAtPnBoeV9zcGVlZDsKIH0KIApAQCAtMjUwMCw2ICsy ODIzLDcgQEAgZmVjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJbWVtc2V0 KGZlcCwgMCwgc2l6ZW9mKCpmZXApKTsKIAogCW5kZXYtPmJhc2VfYWRkciA9ICh1bnNpZ25lZCBs b25nKWlvcmVtYXAoci0+c3RhcnQsIHJlc291cmNlX3NpemUocikpOworCWZlcC0+cGRldiA9IHBk ZXY7CiAKIAlpZiAoIW5kZXYtPmJhc2VfYWRkcikgewogCQlyZXQgPSAtRU5PTUVNOwpAQCAtMjUz NSwxMyArMjg1OSwyNCBAQCBmZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK IAlpZiAocmV0KQogCQlnb3RvIGZhaWxlZF9pbml0OwogCisJcmV0ID0gZmVjX2VuZXRfbWlpX2lu aXQocGRldik7CisJaWYgKHJldCkKKwkJZ290byBmYWlsZWRfbWlpX2luaXQ7CisKIAlyZXQgPSBy ZWdpc3Rlcl9uZXRkZXYobmRldik7CiAJaWYgKHJldCkKIAkJZ290byBmYWlsZWRfcmVnaXN0ZXI7 CiAKKwlwcmludGsoS0VSTl9JTkZPICIlczogRnJlZXNjYWxlIEZFQyBQSFkgZHJpdmVyIFslc10g IgorCSAgICAgICAiKG1paV9idXM6cGh5X2FkZHI9JXMsIGlycT0lZClcbiIsIG5kZXYtPm5hbWUs CisJICAgICAgIGZlcC0+cGh5X2Rldi0+ZHJ2LT5uYW1lLCBmZXAtPnBoeV9kZXYtPmRldi5idXNf aWQsCisJICAgICAgIGZlcC0+cGh5X2Rldi0+aXJxKTsKKwogCXJldHVybiAwOwogCiBmYWlsZWRf cmVnaXN0ZXI6CisJZmVjX2VuZXRfbWlpX3JlbW92ZShmZXApOworZmFpbGVkX21paV9pbml0Ogog ZmFpbGVkX2luaXQ6CiAJY2xrX2Rpc2FibGUoZmVwLT5jbGspOwogCWNsa19wdXQoZmVwLT5jbGsp OwpAQCAtMjU2OCw2ICsyOTAzLDcgQEAgZmVjX2Rydl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKIAogCWZlY19z dG9wKG5kZXYpOworCWZlY19lbmV0X21paV9yZW1vdmUoZmVwKTsKIAljbGtfZGlzYWJsZShmZXAt PmNsayk7CiAJY2xrX3B1dChmZXAtPmNsayk7CiAJaW91bm1hcCgodm9pZCBfX2lvbWVtICopbmRl di0+YmFzZV9hZGRyKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZmVjLmggYi9pbmNsdWRl L2xpbnV4L2ZlYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwYTRmYzkK LS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2ZlYy5oCkBAIC0wLDAgKzEsMjYgQEAK Ky8qCisgKiBDb3B5cmlnaHQgMjAwOSBGcmVkZXJpYyBSb2RvLCBmcmVkLnJvZG9AZ21haWwuY29t CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRl IHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K KworI2lmbmRlZiBfX0xJTlVYX0ZFQ19ICisjZGVmaW5lIF9fTElOVVhfRkVDX0gKKworc3RydWN0 IGZlY19lbmV0X3BsYXRmb3JtX2RhdGEgeworCXUzMiBwaHlfbWFzazsJLyogU2V0IHggYml0IHRv IG1hc2sgcGh5IGF0IGFkZHJlc3MgeCAqLworfTsKKworI2VuZGlmIC8qIF9fTElOVVhfRkVDX0gg Ki8KLS0gCjEuNC40LjQKCg== --0015174bdf286c353b0462801bdf--