From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: [PATCH v2 4/9] drm/komeda: Add DT parsing Date: Wed, 19 Dec 2018 12:33:43 +0000 Message-ID: <20181219123147.16090-5-james.qian.wang@arm.com> References: <20181219123147.16090-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: <20181219123147.16090-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 dXRlcy4KClNpZ25lZC1vZmYtYnk6IEphbWVzIChRaWFuKSBXYW5nIDxqYW1lcy5xaWFuLndhbmdA YXJtLmNvbT4KLS0tCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5j ICAgfCA3NCArKysrKysrKysrKysrKysrKysrCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2Rldi5oICAgfCAgMyArCiAuLi4vZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfcGlwZWxpbmUuYyAgfCAgNCArCiAuLi4vZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf cGlwZWxpbmUuaCAgfCAgNyArKwogNCBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuYwppbmRl eCA4ODdhMTcwMDUzNjcuLjIxNGVmNzVlMGUyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMKQEAgLTEyLDYgKzEyLDc0IEBACiAjaW5jbHVk ZSA8bGludXgvdmVyc2lvbi5oPgogI2luY2x1ZGUgImtvbWVkYV9kZXYuaCIKIAorc3RhdGljIGlu dCBrb21lZGFfcGFyc2VfcGlwZV9kdChzdHJ1Y3Qga29tZWRhX2RldiAqbWRldiwgc3RydWN0IGRl dmljZV9ub2RlICpucCkKK3sKKwlzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlOworCXN0cnVj dCBjbGsgKmNsazsKKwl1MzIgcGlwZV9pZDsKKwlpbnQgcmV0ID0gMDsKKworCXJldCA9IG9mX3By b3BlcnR5X3JlYWRfdTMyKG5wLCAicmVnIiwgJnBpcGVfaWQpOworCWlmIChyZXQgIT0gMCB8fCBw aXBlX2lkID49IG1kZXYtPm5fcGlwZWxpbmVzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXBpcGUg PSBtZGV2LT5waXBlbGluZXNbcGlwZV9pZF07CisKKwljbGsgPSBvZl9jbGtfZ2V0X2J5X25hbWUo bnAsICJhY2xrIik7CisJaWYgKElTX0VSUihjbGspKSB7CisJCURSTV9FUlJPUigiZ2V0IGFjbGsg Zm9yIHBpcGVsaW5lICVkIGZhaWxlZCFcbiIsIHBpcGVfaWQpOworCQlyZXR1cm4gUFRSX0VSUihj bGspOworCX0KKwlwaXBlLT5hY2xrID0gY2xrOworCisJY2xrID0gb2ZfY2xrX2dldF9ieV9uYW1l KG5wLCAicHhjbGsiKTsKKwlpZiAoSVNfRVJSKGNsaykpIHsKKwkJRFJNX0VSUk9SKCJnZXQgcHhj bGsgZm9yIHBpcGVsaW5lICVkIGZhaWxlZCFcbiIsIHBpcGVfaWQpOworCQlyZXR1cm4gUFRSX0VS UihjbGspOworCX0KKwlwaXBlLT5weGxjbGsgPSBjbGs7CisKKwkvKiBlbnVtIHBvcnRzICovCisJ cGlwZS0+b2Zfb3V0cHV0X2RldiAgPSBvZl9ncmFwaF9nZXRfcmVtb3RlX25vZGUobnAsIEtPTUVE QV9PRl9QT1JUX09VVFBVVCwgMCk7CisJcGlwZS0+b2Zfb3V0cHV0X3BvcnQgPSBvZl9ncmFwaF9n ZXRfcG9ydF9ieV9pZChucCwgS09NRURBX09GX1BPUlRfT1VUUFVUKTsKKworCXBpcGUtPm9mX25v ZGUgPSBucDsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGtvbWVkYV9wYXJzZV9kdChz dHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KQoreworCXN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSB0b19wbGF0Zm9ybV9kZXZpY2UoZGV2KTsKKwlzdHJ1Y3Qg ZGV2aWNlX25vZGUgKmNoaWxkLCAqbnAgPSBkZXYtPm9mX25vZGU7CisJc3RydWN0IGNsayAqY2xr OworCWludCByZXQ7CisKKwljbGsgPSBkZXZtX2Nsa19nZXQoZGV2LCAibWNsayIpOworCWlmIChJ U19FUlIoY2xrKSkKKwkJcmV0dXJuIFBUUl9FUlIoY2xrKTsKKworCW1kZXYtPm1jbGsgPSBjbGs7 CisJbWRldi0+aXJxICA9IHBsYXRmb3JtX2dldF9pcnFfYnluYW1lKHBkZXYsICJEUFUiKTsKKwlp ZiAobWRldi0+aXJxIDwgMCkgeworCQlEUk1fRVJST1IoImNvdWxkIG5vdCBnZXQgSVJRIG51bWJl ci5cbiIpOworCQlyZXR1cm4gbWRldi0+aXJxOworCX0KKworCWZvcl9lYWNoX2F2YWlsYWJsZV9j aGlsZF9vZl9ub2RlKG5wLCBjaGlsZCkgeworCQlpZiAob2Zfbm9kZV9jbXAoY2hpbGQtPm5hbWUs ICJwaXBlbGluZSIpID09IDApIHsKKwkJCXJldCA9IGtvbWVkYV9wYXJzZV9waXBlX2R0KG1kZXYs IGNoaWxkKTsKKwkJCWlmIChyZXQpIHsKKwkJCQlEUk1fRVJST1IoInBhcnNlIHBpcGVsaW5lIGR0 IGVycm9yIVxuIik7CisJCQkJb2Zfbm9kZV9wdXQoY2hpbGQpOworCQkJCWJyZWFrOworCQkJfQor CQl9CisJfQorCisJcmV0dXJuIHJldDsKK30KKwogc3RydWN0IGtvbWVkYV9kZXYgKmtvbWVkYV9k ZXZfY3JlYXRlKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2ID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRldik7CkBAIC03NCw2ICsxNDIsMTIgQEAgc3Ry dWN0IGtvbWVkYV9kZXYgKmtvbWVkYV9kZXZfY3JlYXRlKHN0cnVjdCBkZXZpY2UgKmRldikKIAkJ Z290byBlcnJfY2xlYW51cDsKIAl9CiAKKwllcnIgPSBrb21lZGFfcGFyc2VfZHQoZGV2LCBtZGV2 KTsKKwlpZiAoZXJyKSB7CisJCURSTV9FUlJPUigicGFyc2UgZGV2aWNlIHRyZWUgZmFpbGVkLlxu Iik7CisJCWdvdG8gZXJyX2NsZWFudXA7CisJfQorCiAJcmV0dXJuIG1kZXY7CiAKIGVycl9jbGVh bnVwOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfZGV2LmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYu aAppbmRleCA2ODBlM2UyY2YxMDAuLjRhMjdhNDRlMmVjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmgKQEAgLTcyLDYgKzcyLDkgQEAgc3Ry dWN0IGtvbWVkYV9kZXYgewogCS8qKiBAbWNrOiBIVyBtYWluIGVuZ2luZSBjbGsgKi8KIAlzdHJ1 Y3QgY2xrICptY2xrOwogCisJLyoqIEBpcnE6IGlycSBudW1iZXIgKi8KKwl1MzIgaXJxOworCiAJ aW50IG5fcGlwZWxpbmVzOwogCXN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGVsaW5lc1tLT01F REFfTUFYX1BJUEVMSU5FU107CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5jCmluZGV4IDEwMzc4ZGY4ZTVhOC4uMmYzNmI2YmQ4 MjgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9waXBlbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX3BpcGVsaW5lLmMKQEAgLTU1LDYgKzU1LDEwIEBAIHZvaWQga29tZWRhX3BpcGVsaW5lX2Rl c3Ryb3koc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYsCiAJY2xrX3B1dChwaXBlLT5weGxjbGspOwog CWNsa19wdXQocGlwZS0+YWNsayk7CiAKKwlvZl9ub2RlX3B1dChwaXBlLT5vZl9vdXRwdXRfZGV2 KTsKKwlvZl9ub2RlX3B1dChwaXBlLT5vZl9vdXRwdXRfcG9ydCk7CisJb2Zfbm9kZV9wdXQocGlw ZS0+b2Zfbm9kZSk7CisKIAlkZXZtX2tmcmVlKG1kZXYtPmRldiwgcGlwZSk7CiB9CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5l LmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5o CmluZGV4IGVlYTFlNjRjNDYyNC4uZTA5N2Q0ZmNiMmM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgKQEAgLTI4Niw2ICsy ODYsMTMgQEAgc3RydWN0IGtvbWVkYV9waXBlbGluZSB7CiAJc3RydWN0IGtvbWVkYV9pbXByb2Mg KmltcHJvYzsKIAlzdHJ1Y3Qga29tZWRhX3RpbWluZ19jdHJsciAqY3RybHI7CiAJc3RydWN0IGtv bWVkYV9waXBlbGluZV9mdW5jcyAqZnVuY3M7IC8qIHByaXZhdGUgcGlwZWxpbmUgZnVuY3Rpb25z ICovCisKKwkvKiogQG9mX25vZGU6IHBpcGVsaW5lIGR0IG5vZGUgKi8KKwlzdHJ1Y3QgZGV2aWNl X25vZGUgKm9mX25vZGU7CisJLyoqIEBvZl9vdXRwdXRfcG9ydDogcGlwZWxpbmUgb3V0cHV0IHBv cnQgKi8KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm9mX291dHB1dF9wb3J0OworCS8qKiBAb2Zfb3V0 cHV0X2Rldjogb3V0cHV0IGNvbm5lY3RvciBkZXZpY2Ugbm9kZSAqLworCXN0cnVjdCBkZXZpY2Vf bm9kZSAqb2Zfb3V0cHV0X2RldjsKIH07CiAKIC8qKgotLSAKMi4xNy4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK