From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: [PATCH v3 4/9] drm/komeda: Add DT parsing Date: Fri, 21 Dec 2018 09:59:44 +0000 Message-ID: <20181221095757.15510-5-james.qian.wang@arm.com> References: <20181221095757.15510-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: <20181221095757.15510-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 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 UGFyc2UgRFQgYW5kIGluaXRpYWxpemUgY29ycmVzcG9uZGluZyBkZXYvcGlwZWxpbmUgYXR0cmli dXRlcy4KCkNoYW5nZXMgaW4gdjM6Ci0gRml4ZWQgc3R5bGUgcHJvYmxlbSBmb3VuZCBieSBjaGVj a3BhdGNoLnBsIC0tc3RyaWN0LgoKQ2hhbmdlcyBpbiB2MjoKLSBVbmlmaWVkIGFiYnJldmlhdGlv biBvZiAicGlwZWxpbmUiIHRvICJwaXBlIi4KClNpZ25lZC1vZmYtYnk6IEphbWVzIChRaWFuKSBX YW5nIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4KLS0tCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxh eS9rb21lZGEva29tZWRhX2Rldi5jICAgfCA3NiArKysrKysrKysrKysrKysrKysrCiAuLi4vZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oICAgfCAgMyArCiAuLi4vZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuYyAgfCAgNCArCiAuLi4vZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuaCAgfCAgNyArKwogNCBmaWxlcyBjaGFuZ2Vk LCA5MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9kZXYuYwppbmRleCA4ODdhMTcwMDUzNjcuLmQwY2M0Zjc1ODA3NyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMKQEAgLTEy LDYgKzEyLDc2IEBACiAjaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgogI2luY2x1ZGUgImtvbWVk YV9kZXYuaCIKIAorc3RhdGljIGludCBrb21lZGFfcGFyc2VfcGlwZV9kdChzdHJ1Y3Qga29tZWRh X2RldiAqbWRldiwgc3RydWN0IGRldmljZV9ub2RlICpucCkKK3sKKwlzdHJ1Y3Qga29tZWRhX3Bp cGVsaW5lICpwaXBlOworCXN0cnVjdCBjbGsgKmNsazsKKwl1MzIgcGlwZV9pZDsKKwlpbnQgcmV0 ID0gMDsKKworCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKG5wLCAicmVnIiwgJnBpcGVfaWQp OworCWlmIChyZXQgIT0gMCB8fCBwaXBlX2lkID49IG1kZXYtPm5fcGlwZWxpbmVzKQorCQlyZXR1 cm4gLUVJTlZBTDsKKworCXBpcGUgPSBtZGV2LT5waXBlbGluZXNbcGlwZV9pZF07CisKKwljbGsg PSBvZl9jbGtfZ2V0X2J5X25hbWUobnAsICJhY2xrIik7CisJaWYgKElTX0VSUihjbGspKSB7CisJ CURSTV9FUlJPUigiZ2V0IGFjbGsgZm9yIHBpcGVsaW5lICVkIGZhaWxlZCFcbiIsIHBpcGVfaWQp OworCQlyZXR1cm4gUFRSX0VSUihjbGspOworCX0KKwlwaXBlLT5hY2xrID0gY2xrOworCisJY2xr ID0gb2ZfY2xrX2dldF9ieV9uYW1lKG5wLCAicHhjbGsiKTsKKwlpZiAoSVNfRVJSKGNsaykpIHsK KwkJRFJNX0VSUk9SKCJnZXQgcHhjbGsgZm9yIHBpcGVsaW5lICVkIGZhaWxlZCFcbiIsIHBpcGVf aWQpOworCQlyZXR1cm4gUFRSX0VSUihjbGspOworCX0KKwlwaXBlLT5weGxjbGsgPSBjbGs7CisK KwkvKiBlbnVtIHBvcnRzICovCisJcGlwZS0+b2Zfb3V0cHV0X2RldiA9CisJCW9mX2dyYXBoX2dl dF9yZW1vdGVfbm9kZShucCwgS09NRURBX09GX1BPUlRfT1VUUFVULCAwKTsKKwlwaXBlLT5vZl9v dXRwdXRfcG9ydCA9CisJCW9mX2dyYXBoX2dldF9wb3J0X2J5X2lkKG5wLCBLT01FREFfT0ZfUE9S VF9PVVRQVVQpOworCisJcGlwZS0+b2Zfbm9kZSA9IG5wOworCisJcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyBpbnQga29tZWRhX3BhcnNlX2R0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGtvbWVk YV9kZXYgKm1kZXYpCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiA9IHRvX3BsYXRm b3JtX2RldmljZShkZXYpOworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqY2hpbGQsICpucCA9IGRldi0+ b2Zfbm9kZTsKKwlzdHJ1Y3QgY2xrICpjbGs7CisJaW50IHJldDsKKworCWNsayA9IGRldm1fY2xr X2dldChkZXYsICJtY2xrIik7CisJaWYgKElTX0VSUihjbGspKQorCQlyZXR1cm4gUFRSX0VSUihj bGspOworCisJbWRldi0+bWNsayA9IGNsazsKKwltZGV2LT5pcnEgID0gcGxhdGZvcm1fZ2V0X2ly cShwZGV2LCAwKTsKKwlpZiAobWRldi0+aXJxIDwgMCkgeworCQlEUk1fRVJST1IoImNvdWxkIG5v dCBnZXQgSVJRIG51bWJlci5cbiIpOworCQlyZXR1cm4gbWRldi0+aXJxOworCX0KKworCWZvcl9l YWNoX2F2YWlsYWJsZV9jaGlsZF9vZl9ub2RlKG5wLCBjaGlsZCkgeworCQlpZiAob2Zfbm9kZV9j bXAoY2hpbGQtPm5hbWUsICJwaXBlbGluZSIpID09IDApIHsKKwkJCXJldCA9IGtvbWVkYV9wYXJz ZV9waXBlX2R0KG1kZXYsIGNoaWxkKTsKKwkJCWlmIChyZXQpIHsKKwkJCQlEUk1fRVJST1IoInBh cnNlIHBpcGVsaW5lIGR0IGVycm9yIVxuIik7CisJCQkJb2Zfbm9kZV9wdXQoY2hpbGQpOworCQkJ CWJyZWFrOworCQkJfQorCQl9CisJfQorCisJcmV0dXJuIHJldDsKK30KKwogc3RydWN0IGtvbWVk YV9kZXYgKmtvbWVkYV9kZXZfY3JlYXRlKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRldik7CkBAIC03NCw2 ICsxNDQsMTIgQEAgc3RydWN0IGtvbWVkYV9kZXYgKmtvbWVkYV9kZXZfY3JlYXRlKHN0cnVjdCBk ZXZpY2UgKmRldikKIAkJZ290byBlcnJfY2xlYW51cDsKIAl9CiAKKwllcnIgPSBrb21lZGFfcGFy c2VfZHQoZGV2LCBtZGV2KTsKKwlpZiAoZXJyKSB7CisJCURSTV9FUlJPUigicGFyc2UgZGV2aWNl IHRyZWUgZmFpbGVkLlxuIik7CisJCWdvdG8gZXJyX2NsZWFudXA7CisJfQorCiAJcmV0dXJuIG1k ZXY7CiAKIGVycl9jbGVhbnVwOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZGV2LmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9kZXYuaAppbmRleCA2ODBlM2UyY2YxMDAuLjRhMjdhNDRlMmVjNiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmgKQEAgLTcy LDYgKzcyLDkgQEAgc3RydWN0IGtvbWVkYV9kZXYgewogCS8qKiBAbWNrOiBIVyBtYWluIGVuZ2lu ZSBjbGsgKi8KIAlzdHJ1Y3QgY2xrICptY2xrOwogCisJLyoqIEBpcnE6IGlycSBudW1iZXIgKi8K Kwl1MzIgaXJxOworCiAJaW50IG5fcGlwZWxpbmVzOwogCXN0cnVjdCBrb21lZGFfcGlwZWxpbmUg KnBpcGVsaW5lc1tLT01FREFfTUFYX1BJUEVMSU5FU107CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmMgYi9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5jCmluZGV4IDkyOTM1OThi MDUzMy4uZTczMWIyYTg1YzNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmMKQEAgLTU1LDYgKzU1LDEwIEBAIHZvaWQga29t ZWRhX3BpcGVsaW5lX2Rlc3Ryb3koc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYsCiAJY2xrX3B1dChw aXBlLT5weGxjbGspOwogCWNsa19wdXQocGlwZS0+YWNsayk7CiAKKwlvZl9ub2RlX3B1dChwaXBl LT5vZl9vdXRwdXRfZGV2KTsKKwlvZl9ub2RlX3B1dChwaXBlLT5vZl9vdXRwdXRfcG9ydCk7CisJ b2Zfbm9kZV9wdXQocGlwZS0+b2Zfbm9kZSk7CisKIAlkZXZtX2tmcmVlKG1kZXYtPmRldiwgcGlw ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX3BpcGVsaW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tv bWVkYV9waXBlbGluZS5oCmluZGV4IDIxNzQ3OTZkNDdjNS4uZDFlMGMxMTQwMjczIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5l LmgKQEAgLTI5MCw2ICsyOTAsMTMgQEAgc3RydWN0IGtvbWVkYV9waXBlbGluZSB7CiAJc3RydWN0 IGtvbWVkYV9pbXByb2MgKmltcHJvYzsKIAlzdHJ1Y3Qga29tZWRhX3RpbWluZ19jdHJsciAqY3Ry bHI7CiAJc3RydWN0IGtvbWVkYV9waXBlbGluZV9mdW5jcyAqZnVuY3M7IC8qIHByaXZhdGUgcGlw ZWxpbmUgZnVuY3Rpb25zICovCisKKwkvKiogQG9mX25vZGU6IHBpcGVsaW5lIGR0IG5vZGUgKi8K KwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm9mX25vZGU7CisJLyoqIEBvZl9vdXRwdXRfcG9ydDogcGlw ZWxpbmUgb3V0cHV0IHBvcnQgKi8KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm9mX291dHB1dF9wb3J0 OworCS8qKiBAb2Zfb3V0cHV0X2Rldjogb3V0cHV0IGNvbm5lY3RvciBkZXZpY2Ugbm9kZSAqLwor CXN0cnVjdCBkZXZpY2Vfbm9kZSAqb2Zfb3V0cHV0X2RldjsKIH07CiAKIC8qKgotLSAKMi4xNy4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK