From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Gaignard Subject: [PATCH 1/2] drm: sti: fix sub-components bind Date: Fri, 17 Jul 2015 13:45:09 +0200 Message-ID: <1437133510-13615-1-git-send-email-benjamin.gaignard@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by gabe.freedesktop.org (Postfix) with ESMTPS id 94C388A4B1 for ; Fri, 17 Jul 2015 04:45:31 -0700 (PDT) Received: by wibxm9 with SMTP id xm9so36895836wib.0 for ; Fri, 17 Jul 2015 04:45:30 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, khilman@linaro.org, arnd@arndb.de, olof@lixom.net, maxime.coquelin@st.com, vincent.abriou@st.com, dri-devel@lists.freedesktop.org, thierry.reding@gmail.com Cc: Benjamin Gaignard List-Id: dri-devel@lists.freedesktop.org Rml4IG1pc3VuZGVyc3RhbmRpbmcgaW4gaG93IHVzZSBjb21wb25lbnQgZnJhbWV3b3JrLgpkcm1f cGxhdGZvcm1faW5pdCgpIGlzIG5vdyBjYWxsIG9ubHkgd2hlbiBhbGwgdGhlCnN1Yi1jb21wb25l bnRzIGFyZSByZWdpc3RlciB0aGVtc2VsdmVzIGluc3RlYWQgb2YgdGhlCnByZXZpb3VzIGJyb2tl biB0d28gc3RhZ2VzIG1lY2hhbmlzbS4KClVwZGF0ZSBiaW5kaW5ncyBkb2N1bWVudGF0aW9uLgoK U2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFy by5vcmc+Ci0tLQogLi4uL2RldmljZXRyZWUvYmluZGluZ3MvZ3B1L3N0LHN0aWg0eHgudHh0ICAg ICAgICAgfCA3MiArKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV9kcm1fZHJ2LmMgICAgICAgICAgICAgICAgICB8IDQ1ICsrLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMgICAgICAgICAgICAgICAgICAgICB8IDI1ICsrKystLS0t CiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV90dm91dC5jICAgICAgICAgICAgICAgICAgICB8IDQ2 ICsrLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDEzMSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvZ3B1L3N0LHN0aWg0eHgudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdz L2dwdS9zdCxzdGloNHh4LnR4dAppbmRleCA2YjFkNzVmLi5hMzZkZmNlIDEwMDY0NAotLS0gYS9E b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3B1L3N0LHN0aWg0eHgudHh0CisrKyBi L0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ncHUvc3Qsc3RpaDR4eC50eHQKQEAg LTUyLDEwICs1Miw5IEBAIFNUTWljcm9lbGVjdHJvbmljcyBzdGloNHh4IHBsYXRmb3JtcwogICAg IFNlZSAuLi9yZXNldC9yZXNldC50eHQgZm9yIGRldGFpbHMuCiAgIC0gcmVzZXQtbmFtZXM6IG5h bWVzIG9mIHRoZSByZXNldHMgbGlzdGVkIGluIHJlc2V0cyBwcm9wZXJ0eSBpbiB0aGUgc2FtZQog ICAgIG9yZGVyLgotICAtIHJhbmdlczogdG8gYWxsb3cgcHJvYmluZyBvZiBzdWJkZXZpY2VzCiAK IC0gc3RpLWhkbWk6IGhkbWkgb3V0cHV0IGJsb2NrCi0gIG11c3QgYmUgYSBjaGlsZCBvZiBzdGkt dHZvdXQKKyAgbXVzdCBiZSBhIGNoaWxkIG9mIHN0aS1kaXNwbGF5LXN1YnN5c3RlbQogICBSZXF1 aXJlZCBwcm9wZXJ0aWVzOgogICAtIGNvbXBhdGlibGU6ICJzdCxzdGloPGNoaXA+LWhkbWkiOwog ICAtIHJlZzogUGh5c2ljYWwgYmFzZSBhZGRyZXNzIG9mIHRoZSBJUCByZWdpc3RlcnMgYW5kIGxl bmd0aCBvZiBtZW1vcnkgbWFwcGVkIHJlZ2lvbi4KQEAgLTcyLDcgKzcxLDcgQEAgU1RNaWNyb2Vs ZWN0cm9uaWNzIHN0aWg0eHggcGxhdGZvcm1zCiAKIHN0aS1oZGE6CiAgIFJlcXVpcmVkIHByb3Bl cnRpZXM6Ci0gIG11c3QgYmUgYSBjaGlsZCBvZiBzdGktdHZvdXQKKyAgbXVzdCBiZSBhIGNoaWxk IG9mIHN0aS1kaXNwbGF5LXN1YnN5c3RlbQogICAtIGNvbXBhdGlibGU6ICJzdCxzdGloPGNoaXA+ LWhkYSIKICAgLSByZWc6IFBoeXNpY2FsIGJhc2UgYWRkcmVzcyBvZiB0aGUgSVAgcmVnaXN0ZXJz IGFuZCBsZW5ndGggb2YgbWVtb3J5IG1hcHBlZCByZWdpb24uCiAgIC0gcmVnLW5hbWVzOiBuYW1l cyBvZiB0aGUgbWFwcGVkIG1lbW9yeSByZWdpb25zIGxpc3RlZCBpbiByZWdzIHByb3BlcnR5IGlu CkBAIC04NSw3ICs4NCw3IEBAIHN0aS1oZGE6CiAKIHN0aS1kdm86CiAgIFJlcXVpcmVkIHByb3Bl cnRpZXM6Ci0gIG11c3QgYmUgYSBjaGlsZCBvZiBzdGktdHZvdXQKKyAgbXVzdCBiZSBhIGNoaWxk IG9mIHN0aS1kaXNwbGF5LXN1YnN5c3RlbQogICAtIGNvbXBhdGlibGU6ICJzdCxzdGloPGNoaXA+ LWR2byIKICAgLSByZWc6IFBoeXNpY2FsIGJhc2UgYWRkcmVzcyBvZiB0aGUgSVAgcmVnaXN0ZXJz IGFuZCBsZW5ndGggb2YgbWVtb3J5IG1hcHBlZCByZWdpb24uCiAgIC0gcmVnLW5hbWVzOiBuYW1l cyBvZiB0aGUgbWFwcGVkIG1lbW9yeSByZWdpb25zIGxpc3RlZCBpbiByZWdzIHByb3BlcnR5IGlu CkBAIC0xOTUsMzggKzE5NCwzNyBAQCBFeGFtcGxlOgogCQkJcmVnLW5hbWVzCT0gInR2b3V0LXJl ZyIsICJoZGEtcmVnIiwgInN5c2NmZyI7CiAJCQlyZXNldC1uYW1lcyAgICAgPSAidHZvdXQiOwog CQkJcmVzZXRzICAgICAgICAgID0gPCZzb2Z0cmVzZXQgU1RJSDQxNl9IRFRWT1VUX1NPRlRSRVNF VD47Ci0JCQlyYW5nZXM7Ci0KLQkJCXN0aS1oZG1pQGZlODVjMDAwIHsKLQkJCQljb21wYXRpYmxl CT0gInN0LHN0aWg0MTYtaGRtaSI7Ci0JCQkJcmVnCQk9IDwweGZlODVjMDAwIDB4MTAwMD4sIDww eGZlODMwMDAwIDB4MTAwMDA+OwotCQkJCXJlZy1uYW1lcwk9ICJoZG1pLXJlZyIsICJzeXNjZmci OwotCQkJCWludGVycnVwdHMJPSA8R0lDX1NQSSAxNzMgSVJRX1RZUEVfTk9ORT47Ci0JCQkJaW50 ZXJydXB0LW5hbWVzCT0gImlycSI7Ci0JCQkJY2xvY2stbmFtZXMJPSAicGl4IiwgInRtZHMiLCAi cGh5IiwgImF1ZGlvIjsKLQkJCQljbG9ja3MgICAgICAgICAgPSA8JmNsb2NrZ2VuX2NfdmNjIENM S19TX1BJWF9IRE1JPiwgPCZjbG9ja2dlbl9jX3ZjYyBDTEtfU19UTURTX0hETUk+LCA8JmNsb2Nr Z2VuX2NfdmNjIENMS19TX0hETUlfUkVKRUNUX1BMTD4sIDwmY2xvY2tnZW5fYjEgQ0xLX1NfUENN XzA+OwotCQkJfTsKLQotCQkJc3RpLWhkYUBmZTg1YTAwMCB7Ci0JCQkJY29tcGF0aWJsZQk9ICJz dCxzdGloNDE2LWhkYSI7Ci0JCQkJcmVnCQk9IDwweGZlODVhMDAwIDB4NDAwPiwgPDB4ZmU4MzA4 NWMgMHg0PjsKLQkJCQlyZWctbmFtZXMJPSAiaGRhLXJlZyIsICJ2aWRlby1kYWNzLWN0cmwiOwot CQkJCWNsb2NrLW5hbWVzCT0gInBpeCIsICJoZGRhYyI7Ci0JCQkJY2xvY2tzICAgICAgICAgID0g PCZjbG9ja2dlbl9jX3ZjYyBDTEtfU19QSVhfSEQ+LCA8JmNsb2NrZ2VuX2NfdmNjIENMS19TX0hE REFDPjsKLQkJCX07Ci0KLQkJCXN0aS1kdm9AOGQwMDQwMCB7Ci0JCQkJY29tcGF0aWJsZQk9ICJz dCxzdGloNDA3LWR2byI7Ci0JCQkJcmVnCQk9IDwweDhkMDA0MDAgMHgyMDA+OwotCQkJCXJlZy1u YW1lcwk9ICJkdm8tcmVnIjsKLQkJCQljbG9jay1uYW1lcwk9ICJkdm9fcGl4IiwgImR2byIsCi0J CQkJCQkgICJtYWluX3BhcmVudCIsICJhdXhfcGFyZW50IjsKLQkJCQljbG9ja3MJCT0gPCZjbGtf c19kMl9mbGV4Z2VuIENMS19QSVhfRFZPPiwgPCZjbGtfc19kMl9mbGV4Z2VuIENMS19EVk8+LAot CQkJCQkJICA8JmNsa19zX2QyX3F1YWRmcyAwPiwgPCZjbGtfc19kMl9xdWFkZnMgMT47Ci0JCQkJ cGluY3RybC1uYW1lcwk9ICJkZWZhdWx0IjsKLQkJCQlwaW5jdHJsLTAJPSA8JnBpbmN0cmxfZHZv PjsKLQkJCQlzdGkscGFuZWwJPSA8JnBhbmVsX2R2bz47Ci0JCQl9OworCQl9OworCisJCXN0aS1o ZG1pQGZlODVjMDAwIHsKKwkJCWNvbXBhdGlibGUJPSAic3Qsc3RpaDQxNi1oZG1pIjsKKwkJCXJl ZwkJPSA8MHhmZTg1YzAwMCAweDEwMDA+LCA8MHhmZTgzMDAwMCAweDEwMDAwPjsKKwkJCXJlZy1u YW1lcwk9ICJoZG1pLXJlZyIsICJzeXNjZmciOworCQkJaW50ZXJydXB0cwk9IDxHSUNfU1BJIDE3 MyBJUlFfVFlQRV9OT05FPjsKKwkJCWludGVycnVwdC1uYW1lcwk9ICJpcnEiOworCQkJY2xvY2st bmFtZXMJPSAicGl4IiwgInRtZHMiLCAicGh5IiwgImF1ZGlvIjsKKwkJCWNsb2NrcyAgICAgICAg ICA9IDwmY2xvY2tnZW5fY192Y2MgQ0xLX1NfUElYX0hETUk+LCA8JmNsb2NrZ2VuX2NfdmNjIENM S19TX1RNRFNfSERNST4sIDwmY2xvY2tnZW5fY192Y2MgQ0xLX1NfSERNSV9SRUpFQ1RfUExMPiwg PCZjbG9ja2dlbl9iMSBDTEtfU19QQ01fMD47CisJCX07CisKKwkJc3RpLWhkYUBmZTg1YTAwMCB7 CisJCQljb21wYXRpYmxlCT0gInN0LHN0aWg0MTYtaGRhIjsKKwkJCXJlZwkJPSA8MHhmZTg1YTAw MCAweDQwMD4sIDwweGZlODMwODVjIDB4ND47CisJCQlyZWctbmFtZXMJPSAiaGRhLXJlZyIsICJ2 aWRlby1kYWNzLWN0cmwiOworCQkJY2xvY2stbmFtZXMJPSAicGl4IiwgImhkZGFjIjsKKwkJCWNs b2NrcyAgICAgICAgICA9IDwmY2xvY2tnZW5fY192Y2MgQ0xLX1NfUElYX0hEPiwgPCZjbG9ja2dl bl9jX3ZjYyBDTEtfU19IRERBQz47CisJCX07CisKKwkJc3RpLWR2b0A4ZDAwNDAwIHsKKwkJCWNv bXBhdGlibGUJPSAic3Qsc3RpaDQwNy1kdm8iOworCQkJcmVnCQk9IDwweDhkMDA0MDAgMHgyMDA+ OworCQkJcmVnLW5hbWVzCT0gImR2by1yZWciOworCQkJY2xvY2stbmFtZXMJPSAiZHZvX3BpeCIs ICJkdm8iLAorCQkJCQkgICJtYWluX3BhcmVudCIsICJhdXhfcGFyZW50IjsKKwkJCWNsb2NrcwkJ PSA8JmNsa19zX2QyX2ZsZXhnZW4gQ0xLX1BJWF9EVk8+LCA8JmNsa19zX2QyX2ZsZXhnZW4gQ0xL X0RWTz4sCisJCQkJCSAgPCZjbGtfc19kMl9xdWFkZnMgMD4sIDwmY2xrX3NfZDJfcXVhZGZzIDE+ OworCQkJcGluY3RybC1uYW1lcwk9ICJkZWZhdWx0IjsKKwkJCXBpbmN0cmwtMAk9IDwmcGluY3Ry bF9kdm8+OworCQkJc3RpLHBhbmVsCT0gPCZwYW5lbF9kdm8+OwogCQl9OwogCiAJCXN0aS1ocXZk cEA5YzAwMDAwMCB7CkBAIC0yMzcsNyArMjM1LDcgQEAgRXhhbXBsZToKIAkJCQlyZXNldC1uYW1l cyAgICAgPSAiaHF2ZHAiOwogCQkJCXJlc2V0cyAgICAgICAgICA9IDwmc29mdHJlc2V0IFNUSUg0 MDdfSERRVkRQX1NPRlRSRVNFVD47CiAJCQkJc3QsdnRnCQk9IDwmdnRnX21haW4+OwotCQkJfTsK KwkJfTsKIAl9OwogCS4uLgogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2RybV9kcnYuYwppbmRleCBkMGZi NTRhLi42MGJlNmNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcm1fZHJ2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJtX2Rydi5jCkBAIC0yNDUsMTUgKzI0 NSwxNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9tYXN0ZXJfb3BzIHN0aV9kcm1f b3BzID0gewogCS51bmJpbmQgPSBzdGlfZHJtX3VuYmluZCwKIH07CiAKLXN0YXRpYyBpbnQgc3Rp X2RybV9tYXN0ZXJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBp bnQgc3RpX2RybV9wbGF0Zm9ybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQog ewogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7Ci0Jc3RydWN0IGRldmljZV9ub2Rl ICpub2RlID0gZGV2LT5wYXJlbnQtPm9mX25vZGU7CisJc3RydWN0IGRldmljZV9ub2RlICpub2Rl ID0gZGV2LT5vZl9ub2RlOwogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqY2hpbGRfbnA7CiAJc3RydWN0 IGNvbXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxMOwogCiAJZG1hX3NldF9jb2hlcmVudF9tYXNr KGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7CiAKKwlvZl9wbGF0Zm9ybV9wb3B1bGF0ZShub2RlLCBO VUxMLCBOVUxMLCBkZXYpOworCiAJY2hpbGRfbnAgPSBvZl9nZXRfbmV4dF9hdmFpbGFibGVfY2hp bGQobm9kZSwgTlVMTCk7CiAKIAl3aGlsZSAoY2hpbGRfbnApIHsKQEAgLTI2NSw0NiArMjY3LDEx IEBAIHN0YXRpYyBpbnQgc3RpX2RybV9tYXN0ZXJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKIAlyZXR1cm4gY29tcG9uZW50X21hc3Rlcl9hZGRfd2l0aF9tYXRjaChkZXYsICZz dGlfZHJtX29wcywgbWF0Y2gpOwogfQogCi1zdGF0aWMgaW50IHN0aV9kcm1fbWFzdGVyX3JlbW92 ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQotewotCWNvbXBvbmVudF9tYXN0ZXJfZGVs KCZwZGV2LT5kZXYsICZzdGlfZHJtX29wcyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1 Y3QgcGxhdGZvcm1fZHJpdmVyIHN0aV9kcm1fbWFzdGVyX2RyaXZlciA9IHsKLQkucHJvYmUgPSBz dGlfZHJtX21hc3Rlcl9wcm9iZSwKLQkucmVtb3ZlID0gc3RpX2RybV9tYXN0ZXJfcmVtb3ZlLAot CS5kcml2ZXIgPSB7Ci0JCS5uYW1lID0gRFJJVkVSX05BTUUgIl9fbWFzdGVyIiwKLQl9LAotfTsK LQotc3RhdGljIGludCBzdGlfZHJtX3BsYXRmb3JtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpCi17Ci0Jc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKLQlzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5vZGUgPSBkZXYtPm9mX25vZGU7Ci0Jc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqbWFzdGVyOwotCi0Jb2ZfcGxhdGZvcm1fcG9wdWxhdGUobm9kZSwgTlVMTCwgTlVMTCwgZGV2 KTsKLQotCXBsYXRmb3JtX2RyaXZlcl9yZWdpc3Rlcigmc3RpX2RybV9tYXN0ZXJfZHJpdmVyKTsK LQltYXN0ZXIgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfcmVzbmRhdGEoZGV2LAotCQkJRFJJ VkVSX05BTUUgIl9fbWFzdGVyIiwgLTEsCi0JCQlOVUxMLCAwLCBOVUxMLCAwKTsKLQlpZiAoSVNf RVJSKG1hc3RlcikpCi0gICAgICAgICAgICAgICByZXR1cm4gUFRSX0VSUihtYXN0ZXIpOwotCi0J cGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgbWFzdGVyKTsKLQlyZXR1cm4gMDsKLX0KLQogc3Rh dGljIGludCBzdGlfZHJtX3BsYXRmb3JtX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQogewotCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm1hc3RlciA9IHBsYXRmb3JtX2dldF9k cnZkYXRhKHBkZXYpOwotCisJY29tcG9uZW50X21hc3Rlcl9kZWwoJnBkZXYtPmRldiwgJnN0aV9k cm1fb3BzKTsKIAlvZl9wbGF0Zm9ybV9kZXBvcHVsYXRlKCZwZGV2LT5kZXYpOwotCXBsYXRmb3Jt X2RldmljZV91bnJlZ2lzdGVyKG1hc3Rlcik7Ci0JcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIo JnN0aV9kcm1fbWFzdGVyX2RyaXZlcik7CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlf aGRtaS5jCmluZGV4IGYyOGE0ZDUuLjA2NTk1ZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9zdGkvc3RpX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKQEAg LTY5MywyMSArNjkzLDggQEAgc3RhdGljIGludCBzdGlfaGRtaV9iaW5kKHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQogCXN0cnVjdCBzdGlfaGRt aV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqZHJtX2Nvbm5l Y3RvcjsKIAlzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlOwotCXN0cnVjdCBkZXZpY2Vfbm9kZSAq ZGRjOwogCWludCBlcnI7CiAKLQlkZGMgPSBvZl9wYXJzZV9waGFuZGxlKGRldi0+b2Zfbm9kZSwg ImRkYyIsIDApOwotCWlmIChkZGMpIHsKLQkJaGRtaS0+ZGRjX2FkYXB0ID0gb2ZfZmluZF9pMmNf YWRhcHRlcl9ieV9ub2RlKGRkYyk7Ci0JCWlmICghaGRtaS0+ZGRjX2FkYXB0KSB7Ci0JCQllcnIg PSAtRVBST0JFX0RFRkVSOwotCQkJb2Zfbm9kZV9wdXQoZGRjKTsKLQkJCXJldHVybiBlcnI7Ci0J CX0KLQotCQlvZl9ub2RlX3B1dChkZGMpOwotCX0KLQogCS8qIFNldCB0aGUgZHJtIGRldmljZSBo YW5kbGUgKi8KIAloZG1pLT5kcm1fZGV2ID0gZHJtX2RldjsKIApAQCAtNzk2LDYgKzc4Myw3IEBA IHN0YXRpYyBpbnQgc3RpX2hkbWlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK IAlzdHJ1Y3Qgc3RpX2hkbWkgKmhkbWk7CiAJc3RydWN0IGRldmljZV9ub2RlICpucCA9IGRldi0+ b2Zfbm9kZTsKIAlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKmRk YzsKIAlpbnQgcmV0OwogCiAJRFJNX0lORk8oIiVzXG4iLCBfX2Z1bmNfXyk7CkBAIC04MDQsNiAr NzkyLDE3IEBAIHN0YXRpYyBpbnQgc3RpX2hkbWlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKIAlpZiAoIWhkbWkpCiAJCXJldHVybiAtRU5PTUVNOwogCisJZGRjID0gb2ZfcGFy c2VfcGhhbmRsZShwZGV2LT5kZXYub2Zfbm9kZSwgImRkYyIsIDApOworCWlmIChkZGMpIHsKKwkJ aGRtaS0+ZGRjX2FkYXB0ID0gb2ZfZmluZF9pMmNfYWRhcHRlcl9ieV9ub2RlKGRkYyk7CisJCWlm ICghaGRtaS0+ZGRjX2FkYXB0KSB7CisJCQlvZl9ub2RlX3B1dChkZGMpOworCQkJcmV0dXJuIC1F UFJPQkVfREVGRVI7CisJCX0KKworCQlvZl9ub2RlX3B1dChkZGMpOworCX0KKwogCWhkbWktPmRl diA9IHBkZXYtPmRldjsKIAogCS8qIEdldCByZXNvdXJjZXMgKi8KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9zdGkvc3RpX3R2b3V0LmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV90dm91 dC5jCmluZGV4IDVjYzUzMTEuLjU3NmI1YmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9z dGkvc3RpX3R2b3V0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdHZvdXQuYwpAQCAt NjQ0LDcgKzY0NCw2IEBAIHN0YXRpYyBpbnQgc3RpX3R2b3V0X2JpbmQoc3RydWN0IGRldmljZSAq ZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAJc3RydWN0IHN0aV90dm91 dCAqdHZvdXQgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJt X2RldiA9IGRhdGE7CiAJdW5zaWduZWQgaW50IGk7Ci0JaW50IHJldDsKIAogCXR2b3V0LT5kcm1f ZGV2ID0gZHJtX2RldjsKIApAQCAtNjU4LDE3ICs2NTcsMTUgQEAgc3RhdGljIGludCBzdGlfdHZv dXRfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAq ZGF0YSkKIAogCXN0aV90dm91dF9jcmVhdGVfZW5jb2RlcnMoZHJtX2RldiwgdHZvdXQpOwogCi0J cmV0ID0gY29tcG9uZW50X2JpbmRfYWxsKGRldiwgZHJtX2Rldik7Ci0JaWYgKHJldCkKLQkJc3Rp X3R2b3V0X2Rlc3Ryb3lfZW5jb2RlcnModHZvdXQpOwotCi0JcmV0dXJuIHJldDsKKwlyZXR1cm4g MDsKIH0KIAogc3RhdGljIHZvaWQgc3RpX3R2b3V0X3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYs IHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKIAl2b2lkICpkYXRhKQogewotCS8qIGRvIG5vdGhpbmcg Ki8KKwlzdHJ1Y3Qgc3RpX3R2b3V0ICp0dm91dCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJ c3RpX3R2b3V0X2Rlc3Ryb3lfZW5jb2RlcnModHZvdXQpOwogfQogCiBzdGF0aWMgY29uc3Qgc3Ry dWN0IGNvbXBvbmVudF9vcHMgc3RpX3R2b3V0X29wcyA9IHsKQEAgLTY3NiwzNCArNjczLDEyIEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X29wcyBzdGlfdHZvdXRfb3BzID0gewogCS51 bmJpbmQJPSBzdGlfdHZvdXRfdW5iaW5kLAogfTsKIAotc3RhdGljIGludCBjb21wYXJlX29mKHN0 cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gZGV2LT5vZl9ub2RlID09 IGRhdGE7Ci19Ci0KLXN0YXRpYyBpbnQgc3RpX3R2b3V0X21hc3Rlcl9iaW5kKHN0cnVjdCBkZXZp Y2UgKmRldikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgc3RpX3R2b3V0X21hc3Rl cl91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQotewotCS8qIGRvIG5vdGhpbmcgKi8KLX0KLQot c3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfbWFzdGVyX29wcyBzdGlfdHZvdXRfbWFzdGVy X29wcyA9IHsKLQkuYmluZCA9IHN0aV90dm91dF9tYXN0ZXJfYmluZCwKLQkudW5iaW5kID0gc3Rp X3R2b3V0X21hc3Rlcl91bmJpbmQsCi19OwotCiBzdGF0aWMgaW50IHN0aV90dm91dF9wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZw ZGV2LT5kZXY7CiAJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gZGV2LT5vZl9ub2RlOwogCXN0 cnVjdCBzdGlfdHZvdXQgKnR2b3V0OwogCXN0cnVjdCByZXNvdXJjZSAqcmVzOwotCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqY2hpbGRfbnA7Ci0Jc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBO VUxMOwogCiAJRFJNX0lORk8oIiVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTczNCwyNCArNzA5LDEx IEBAIHN0YXRpYyBpbnQgc3RpX3R2b3V0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCiAKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCB0dm91dCk7CiAKLQlvZl9wbGF0Zm9y bV9wb3B1bGF0ZShub2RlLCBOVUxMLCBOVUxMLCBkZXYpOwotCi0JY2hpbGRfbnAgPSBvZl9nZXRf bmV4dF9hdmFpbGFibGVfY2hpbGQobm9kZSwgTlVMTCk7Ci0KLQl3aGlsZSAoY2hpbGRfbnApIHsK LQkJY29tcG9uZW50X21hdGNoX2FkZChkZXYsICZtYXRjaCwgY29tcGFyZV9vZiwgY2hpbGRfbnAp OwotCQlvZl9ub2RlX3B1dChjaGlsZF9ucCk7Ci0JCWNoaWxkX25wID0gb2ZfZ2V0X25leHRfYXZh aWxhYmxlX2NoaWxkKG5vZGUsIGNoaWxkX25wKTsKLQl9Ci0KLQljb21wb25lbnRfbWFzdGVyX2Fk ZF93aXRoX21hdGNoKGRldiwgJnN0aV90dm91dF9tYXN0ZXJfb3BzLCBtYXRjaCk7Ci0KIAlyZXR1 cm4gY29tcG9uZW50X2FkZChkZXYsICZzdGlfdHZvdXRfb3BzKTsKIH0KIAogc3RhdGljIGludCBz dGlfdHZvdXRfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0JY29tcG9u ZW50X21hc3Rlcl9kZWwoJnBkZXYtPmRldiwgJnN0aV90dm91dF9tYXN0ZXJfb3BzKTsKIAljb21w b25lbnRfZGVsKCZwZGV2LT5kZXYsICZzdGlfdHZvdXRfb3BzKTsKIAlyZXR1cm4gMDsKIH0KLS0g CjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=