From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: [PATCH v4 3/9] drm/komeda: Build komeda to be a platform module Date: Thu, 3 Jan 2019 11:40:21 +0000 Message-ID: <20190103113841.15403-4-james.qian.wang@arm.com> References: <20190103113841.15403-1-james.qian.wang@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190103113841.15403-1-james.qian.wang@arm.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Liviu Dudau , "daniel.vetter@ffwll.ch" , "rdunlap@infradead.org" , "robh+dt@kernel.org" Cc: Mark Rutland , "linux-doc@vger.kernel.org" , "maxime.ripard@bootlin.com" , "Jonathan Chai (Arm Technology China)" , Alexandru-Cosmin Gheorghe , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "yamada.masahiro@socionext.com" , "Yiqi Kang (Arm Technology China)" , "mchehab+samsung@kernel.org" , "Tiannan Zhu (Arm Technology China)" , "corbet@lwn.net" , "airlied@linux.ie" , "malidp@foss.arm.com" , "thomas Sun (Arm Technology China)" , Ayan Halder , devicetree List-Id: devicetree@vger.kernel.org RnJvbTogImphbWVzIHFpYW4gd2FuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIiA8amFtZXMucWlh bi53YW5nQGFybS5jb20+CgpJbXBsZW1lbnQgYSBzaW1wbGUgd3JhcHBlciBmb3IgcGxhdGZvcm0g bW9kdWxlIHRvIGJ1aWxkIGtvbWVkYSB0byBtb2R1bGUsCkFsc28gYWRkIGEgdmVyeSBzaW1wbGUg RDcxIGxheWVyIGNvZGUgdG8gc2hvdyBob3cgdG8gZGlzY292ZXIgYSBwcm9kdWN0LgpLb21lZGEg ZHJpdmVyIGRpcmVjdCBiaW5kIHRoZSBwcm9kdWN0IEVOVFJZIGZ1bmN0aW9uIHh4eF9pZGVudGl0 eSB0byBEVApjb21wYXRpYmxlIG5hbWUgbGlrZToKCmQ3MV9wcm9kdWN0ID0gewoJLnByb2R1Y3Rf aWQgPSBNQUxJRFBfRDcxX1BST0RVQ1RfSUQsCgkuaWRlbnRpZnkgPSBkNzFfaWRlbnRpZnksCn0s Cgpjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGtvbWVkYV9vZl9tYXRjaFtdID0gewoJeyAuY29t cGF0aWJsZSA9ICJhcm0sbWFsaS1kNzEiLCAuZGF0YSA9ICZkNzFfcHJvZHVjdCwgfSwKCXt9LAp9 OwoKVGhlbiB3aGVuIGxpbnV4IGZvdW5kIGEgbWF0Y2hlZCBEVCBub2RlIGFuZCBjYWxsIGRyaXZl ciB0byBwcm9iZSwgd2UgY2FuCmVhc2lseSBnZXQgdGhlIG9mIGRhdGEsIGFuZCBjYWxsIGludG8g dGhlIHByb2R1Y3QgdG8gZG8gdGhlIGlkZW50aWZ5OgoKa29tZWRhX2JpbmQoKQp7CiAgICAuLi4K ICAgIHByb2R1Y3QgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsKCiAgICBwcm9kdWN0 LT5pZGVudGlmeSgpOwogICAgLi4uCn0KCkNoYW5nZXMgaW4gdjQ6Ci0gUmVwbGFjZWQga3phbGxv YyB3aXRoIGRldm1fa3phbGxvYwoKQ2hhbmdlcyBpbiB2MzoKLSBGaXhlZCBzdHlsZSBwcm9ibGVt IGZvdW5kIGJ5IGNoZWNrcGF0Y2gucGwgLS1zdHJpY3QuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBR aWFuIFdhbmcgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8amFtZXMucWlhbi53YW5nQGFybS5jb20+ CkFja2VkLWJ5OiBMaXZpdSBEdWRhdSA8bGl2aXUuZHVkYXVAYXJtLmNvbT4KLS0tCiAuLi4vZ3B1 L2RybS9hcm0vZGlzcGxheS9pbmNsdWRlL21hbGlkcF9pby5oICAgfCAgNDIgKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxlICAgfCAgIDYgKy0KIC4uLi9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2Rldi5jICB8ICAzMyArKysrKwogLi4u L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuaCAgIHwgICAzICsKIC4uLi9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZHJ2LmMgICB8IDEzMiArKysrKysrKysr KysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMjE1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkvaW5jbHVk ZS9tYWxpZHBfaW8uaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rydi5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2luY2x1ZGUvbWFsaWRwX2lvLmggYi9kcml2ZXJzL2dwdS9k cm0vYXJtL2Rpc3BsYXkvaW5jbHVkZS9tYWxpZHBfaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjRmYjNjYWY4NjRjZQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9pbmNsdWRlL21hbGlkcF9pby5oCkBAIC0wLDAgKzEsNDIg QEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovCisvKgorICogKEMpIENP UFlSSUdIVCAyMDE4IEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQXV0aG9y OiBKYW1lcy5RaWFuLldhbmcgPGphbWVzLnFpYW4ud2FuZ0Bhcm0uY29tPgorICoKKyAqLworI2lm bmRlZiBfTUFMSURQX0lPX0hfCisjZGVmaW5lIF9NQUxJRFBfSU9fSF8KKworI2luY2x1ZGUgPGxp bnV4L2lvLmg+CisKK3N0YXRpYyBpbmxpbmUgdTMyCittYWxpZHBfcmVhZDMyKHUzMiBfX2lvbWVt ICpiYXNlLCB1MzIgb2Zmc2V0KQoreworCXJldHVybiByZWFkbCgoYmFzZSArIChvZmZzZXQgPj4g MikpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCittYWxpZHBfd3JpdGUzMih1MzIgX19pb21l bSAqYmFzZSwgdTMyIG9mZnNldCwgdTMyIHYpCit7CisJd3JpdGVsKHYsIChiYXNlICsgKG9mZnNl dCA+PiAyKSkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK21hbGlkcF93cml0ZTMyX21hc2so dTMyIF9faW9tZW0gKmJhc2UsIHUzMiBvZmZzZXQsIHUzMiBtLCB1MzIgdikKK3sKKwl1MzIgdG1w ID0gbWFsaWRwX3JlYWQzMihiYXNlLCBvZmZzZXQpOworCisJdG1wICY9ICh+bSk7CisJbWFsaWRw X3dyaXRlMzIoYmFzZSwgb2Zmc2V0LCB2IHwgdG1wKTsKK30KKworc3RhdGljIGlubGluZSB2b2lk CittYWxpZHBfd3JpdGVfZ3JvdXAodTMyIF9faW9tZW0gKmJhc2UsIHUzMiBvZmZzZXQsIGludCBu dW0sIGNvbnN0IHUzMiAqdmFsdWVzKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG51 bTsgaSsrKQorCQltYWxpZHBfd3JpdGUzMihiYXNlLCBvZmZzZXQgKyBpICogNCwgdmFsdWVzW2ld KTsKK30KKworI2VuZGlmIC8qX01BTElEUF9JT19IXyovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9NYWtlZmlsZQppbmRleCA1YjQ0ZTM2NTA5YjEuLmMwM2Q2ODc2ZWY3NSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9NYWtlZmlsZQor KysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxlCkBAIC01LDcg KzUsMTEgQEAgY2NmbGFncy15IDo9IFwKIAktSSQoc3JjKQogCiBrb21lZGEteSA6PSBcCisJa29t ZWRhX2Rydi5vIFwKIAlrb21lZGFfZGV2Lm8gXAotCWtvbWVkYV9waXBlbGluZS5vIFwKKwlrb21l ZGFfcGlwZWxpbmUubworCitrb21lZGEteSArPSBcCisJZDcxL2Q3MV9kZXYubwogCiBvYmotJChD T05GSUdfRFJNX0tPTUVEQSkgKz0ga29tZWRhLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLmFmM2RhYmI0OTljZAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuYwpAQCAtMCwwICsxLDMzIEBACisv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorLyoKKyAqIChDKSBDT1BZUklHSFQg MjAxOCBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIEF1dGhvcjogSmFtZXMu UWlhbi5XYW5nIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4KKyAqCisgKi8KKyNpbmNsdWRlICJt YWxpZHBfaW8uaCIKKyNpbmNsdWRlICJrb21lZGFfZGV2LmgiCisKK3N0YXRpYyBpbnQgZDcxX2Vu dW1fcmVzb3VyY2VzKHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KQoreworCS8qIFRPRE8gYWRkIGVu dW0gcmVzb3VyY2VzICovCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgc3RydWN0IGtvbWVkYV9k ZXZfZnVuY3MgZDcxX2NoaXBfZnVuY3MgPSB7CisJLmVudW1fcmVzb3VyY2VzCT0gZDcxX2VudW1f cmVzb3VyY2VzLAorCS5jbGVhbnVwCT0gTlVMTCwKK307CisKKyNkZWZpbmUgR0xCX0FSQ0hfSUQJ CTB4MDAwCisjZGVmaW5lIEdMQl9DT1JFX0lECQkweDAwNAorI2RlZmluZSBHTEJfQ09SRV9JTkZP CQkweDAwOAorCitzdHJ1Y3Qga29tZWRhX2Rldl9mdW5jcyAqCitkNzFfaWRlbnRpZnkodTMyIF9f aW9tZW0gKnJlZ19iYXNlLCBzdHJ1Y3Qga29tZWRhX2NoaXBfaW5mbyAqY2hpcCkKK3sKKwljaGlw LT5hcmNoX2lkCT0gbWFsaWRwX3JlYWQzMihyZWdfYmFzZSwgR0xCX0FSQ0hfSUQpOworCWNoaXAt PmNvcmVfaWQJPSBtYWxpZHBfcmVhZDMyKHJlZ19iYXNlLCBHTEJfQ09SRV9JRCk7CisJY2hpcC0+ Y29yZV9pbmZvCT0gbWFsaWRwX3JlYWQzMihyZWdfYmFzZSwgR0xCX0NPUkVfSU5GTyk7CisKKwly ZXR1cm4gJmQ3MV9jaGlwX2Z1bmNzOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9kZXYuaAppbmRleCAwM2I4NzAzNzM2YzIuLmI0OGQ3MTEwNzFiZSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmgK QEAgLTkyLDYgKzkyLDkgQEAga29tZWRhX3Byb2R1Y3RfbWF0Y2goc3RydWN0IGtvbWVkYV9kZXYg Km1kZXYsIHUzMiB0YXJnZXQpCiAJcmV0dXJuIE1BTElEUF9DT1JFX0lEX1BST0RVQ1RfSUQobWRl di0+Y2hpcC5jb3JlX2lkKSA9PSB0YXJnZXQ7CiB9CiAKK3N0cnVjdCBrb21lZGFfZGV2X2Z1bmNz ICoKK2Q3MV9pZGVudGlmeSh1MzIgX19pb21lbSAqcmVnLCBzdHJ1Y3Qga29tZWRhX2NoaXBfaW5m byAqY2hpcCk7CisKIHN0cnVjdCBrb21lZGFfZGV2ICprb21lZGFfZGV2X2NyZWF0ZShzdHJ1Y3Qg ZGV2aWNlICpkZXYpOwogdm9pZCBrb21lZGFfZGV2X2Rlc3Ryb3koc3RydWN0IGtvbWVkYV9kZXYg Km1kZXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2tvbWVkYV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X2Rydi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGQzODZkODJk MTQzCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVk YS9rb21lZGFfZHJ2LmMKQEAgLTAsMCArMSwxMzIgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wCisvKgorICogKEMpIENPUFlSSUdIVCAyMDE4IEFSTSBMaW1pdGVkLiBBbGwg cmlnaHRzIHJlc2VydmVkLgorICogQXV0aG9yOiBKYW1lcy5RaWFuLldhbmcgPGphbWVzLnFpYW4u d2FuZ0Bhcm0uY29tPgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1 ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgor I2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgorI2luY2x1ZGUgPGRybS9kcm1fb2YuaD4KKyNp bmNsdWRlICJrb21lZGFfZGV2LmgiCisKK3N0cnVjdCBrb21lZGFfZHJ2IHsKKwlzdHJ1Y3Qga29t ZWRhX2RldiAqbWRldjsKK307CisKK3N0YXRpYyB2b2lkIGtvbWVkYV91bmJpbmQoc3RydWN0IGRl dmljZSAqZGV2KQoreworCXN0cnVjdCBrb21lZGFfZHJ2ICptZHJ2ID0gZGV2X2dldF9kcnZkYXRh KGRldik7CisKKwlpZiAoIW1kcnYpCisJCXJldHVybjsKKworCWtvbWVkYV9kZXZfZGVzdHJveSht ZHJ2LT5tZGV2KTsKKworCWRldl9zZXRfZHJ2ZGF0YShkZXYsIE5VTEwpOworCWRldm1fa2ZyZWUo ZGV2LCBtZHJ2KTsKK30KKworc3RhdGljIGludCBrb21lZGFfYmluZChzdHJ1Y3QgZGV2aWNlICpk ZXYpCit7CisJc3RydWN0IGtvbWVkYV9kcnYgKm1kcnY7CisJaW50IGVycjsKKworCW1kcnYgPSBk ZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKm1kcnYpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW1kcnYp CisJCXJldHVybiAtRU5PTUVNOworCisJbWRydi0+bWRldiA9IGtvbWVkYV9kZXZfY3JlYXRlKGRl dik7CisJaWYgKElTX0VSUihtZHJ2LT5tZGV2KSkgeworCQllcnIgPSBQVFJfRVJSKG1kcnYtPm1k ZXYpOworCQlnb3RvIGZyZWVfbWRydjsKKwl9CisKKwlkZXZfc2V0X2RydmRhdGEoZGV2LCBtZHJ2 KTsKKworCXJldHVybiAwOworCitmcmVlX21kcnY6CisJZGV2bV9rZnJlZShkZXYsIG1kcnYpOwor CXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X21hc3Rlcl9v cHMga29tZWRhX21hc3Rlcl9vcHMgPSB7CisJLmJpbmQJPSBrb21lZGFfYmluZCwKKwkudW5iaW5k CT0ga29tZWRhX3VuYmluZCwKK307CisKK3N0YXRpYyBpbnQgY29tcGFyZV9vZihzdHJ1Y3QgZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJcmV0dXJuIGRldi0+b2Zfbm9kZSA9PSBkYXRhOwor fQorCitzdGF0aWMgdm9pZCBrb21lZGFfYWRkX3NsYXZlKHN0cnVjdCBkZXZpY2UgKm1hc3RlciwK KwkJCSAgICAgc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqKm1hdGNoLAorCQkJICAgICBzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5wLCBpbnQgcG9ydCkKK3sKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKnJlbW90 ZTsKKworCXJlbW90ZSA9IG9mX2dyYXBoX2dldF9yZW1vdGVfbm9kZShucCwgcG9ydCwgMCk7CisJ aWYgKHJlbW90ZSkgeworCQlkcm1fb2ZfY29tcG9uZW50X21hdGNoX2FkZChtYXN0ZXIsIG1hdGNo LCBjb21wYXJlX29mLCByZW1vdGUpOworCQlvZl9ub2RlX3B1dChyZW1vdGUpOworCX0KK30KKwor c3RhdGljIGludCBrb21lZGFfcGxhdGZvcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2OworCXN0cnVjdCBjb21w b25lbnRfbWF0Y2ggKm1hdGNoID0gTlVMTDsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKmNoaWxkOwor CisJaWYgKCFkZXYtPm9mX25vZGUpCisJCXJldHVybiAtRU5PREVWOworCisJZm9yX2VhY2hfYXZh aWxhYmxlX2NoaWxkX29mX25vZGUoZGV2LT5vZl9ub2RlLCBjaGlsZCkgeworCQlpZiAob2Zfbm9k ZV9jbXAoY2hpbGQtPm5hbWUsICJwaXBlbGluZSIpICE9IDApCisJCQljb250aW51ZTsKKworCQkv KiBhZGQgY29ubmVjdG9yICovCisJCWtvbWVkYV9hZGRfc2xhdmUoZGV2LCAmbWF0Y2gsIGNoaWxk LCBLT01FREFfT0ZfUE9SVF9PVVRQVVQpOworCX0KKworCXJldHVybiBjb21wb25lbnRfbWFzdGVy X2FkZF93aXRoX21hdGNoKGRldiwgJmtvbWVkYV9tYXN0ZXJfb3BzLCBtYXRjaCk7Cit9CisKK3N0 YXRpYyBpbnQga29tZWRhX3BsYXRmb3JtX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQoreworCWNvbXBvbmVudF9tYXN0ZXJfZGVsKCZwZGV2LT5kZXYsICZrb21lZGFfbWFzdGVy X29wcyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qga29tZWRhX3Byb2R1 Y3RfZGF0YSBrb21lZGFfcHJvZHVjdHNbXSA9IHsKKwlbTUFMSV9ENzFdID0geworCQkucHJvZHVj dF9pZCA9IE1BTElEUF9ENzFfUFJPRFVDVF9JRCwKKwkJLmlkZW50aWZ5ID0gZDcxX2lkZW50aWZ5 LAorCX0sCit9OworCitjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGtvbWVkYV9vZl9tYXRjaFtd ID0geworCXsgLmNvbXBhdGlibGUgPSAiYXJtLG1hbGktZDcxIiwgLmRhdGEgPSAma29tZWRhX3By b2R1Y3RzW01BTElfRDcxXSwgfSwKKwl7fSwKK307CisKK01PRFVMRV9ERVZJQ0VfVEFCTEUob2Ys IGtvbWVkYV9vZl9tYXRjaCk7CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGtvbWVk YV9wbGF0Zm9ybV9kcml2ZXIgPSB7CisJLnByb2JlCT0ga29tZWRhX3BsYXRmb3JtX3Byb2JlLAor CS5yZW1vdmUJPSBrb21lZGFfcGxhdGZvcm1fcmVtb3ZlLAorCS5kcml2ZXIJPSB7CisJCS5uYW1l ID0gImtvbWVkYSIsCisJCS5vZl9tYXRjaF90YWJsZQk9IGtvbWVkYV9vZl9tYXRjaCwKKwkJLnBt ID0gTlVMTCwKKwl9LAorfTsKKworbW9kdWxlX3BsYXRmb3JtX2RyaXZlcihrb21lZGFfcGxhdGZv cm1fZHJpdmVyKTsKKworTU9EVUxFX0FVVEhPUigiSmFtZXMuUWlhbi5XYW5nIDxqYW1lcy5xaWFu LndhbmdAYXJtLmNvbT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiS29tZWRhIEtNUyBkcml2ZXIi KTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==