From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Myl=C3=A8ne=20Josserand?= Subject: [PATCH v4 01/10] ARM: sun9i: smp: Add sun9i dt parsing function Date: Fri, 23 Feb 2018 14:37:33 +0100 Message-ID: <20180223133742.26044-2-mylene.josserand@bootlin.com> References: <20180223133742.26044-1-mylene.josserand@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180223133742.26044-1-mylene.josserand@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: maxime.ripard@bootlin.com, linux@armlinux.org.uk, wens@csie.org, robh+dt@kernel.org, mark.rutland@arm.com Cc: devicetree@vger.kernel.org, quentin.schulz@bootlin.com, linux-kernel@vger.kernel.org, clabbe.montjoie@gmail.com, thomas.petazzoni@bootlin.com, mylene.josserand@bootlin.com, linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org VG8gcHJlcGFyZSB0aGUgc3VwcG9ydCBmb3Igc3VuOGktYTgzdCwgY3JlYXRlIGEgbmV3IGZ1bmN0 aW9uCnRoYXQgaGFuZGxlcyBhbGwgdGhlIHJlc291cmNlcyBuZWVkZWQgb24gc3VuOWktYTgwIChi ZWNhdXNlCml0IHdpbGwgYmUgZGlmZmVyZW50IGZyb20gc3VuOGktYTgzdCkuCgpBbGwgdGhlIHBh cnNpbmcgb2YgZGV2aWNlIHRyZWUgaXMgbW92ZWQgaW50byB0aGlzIG5ldyBmdW5jdGlvbjoKc3Vu OWlfZHRfcGFyc2luZy4gQ3JlYXRlIGFsc28gYSBmdW5jdGlvbiB0byByZWxlYXNlIHRoZSByZXNv dXJjZXMKcmV0cmlldmVkIGR1cmluZyB0aGUgZHQgcGFyc2luZyBpbiBjYXNlIHRoZXJlIGlzIGFu IGVycm9yIGluIGluaXQKZnVuY3Rpb24uCgpTaWduZWQtb2ZmLWJ5OiBNeWzDqG5lIEpvc3NlcmFu ZCA8bXlsZW5lLmpvc3NlcmFuZEBib290bGluLmNvbT4KLS0tCiBhcmNoL2FybS9tYWNoLXN1bnhp L21jX3NtcC5jIHwgOTkgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXN1bnhpL21jX3NtcC5jIGIvYXJjaC9hcm0vbWFjaC1z dW54aS9tY19zbXAuYwppbmRleCAxMWU0NmM2ZWZiOTAuLjY1MGEyYWQ0Mzk4ZiAxMDA2NDQKLS0t IGEvYXJjaC9hcm0vbWFjaC1zdW54aS9tY19zbXAuYworKysgYi9hcmNoL2FybS9tYWNoLXN1bnhp L21jX3NtcC5jCkBAIC02ODQsMzUgKzY4NCwyMiBAQCBzdGF0aWMgaW50IF9faW5pdCBzdW54aV9t Y19zbXBfbG9va2JhY2sodm9pZCkKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IF9faW5p dCBzdW54aV9tY19zbXBfaW5pdCh2b2lkKQorc3RhdGljIGludCBzdW45aV9kdF9wYXJzaW5nKHN0 cnVjdCByZXNvdXJjZSByZXMpCiB7Ci0Jc3RydWN0IGRldmljZV9ub2RlICpjcHVjZmdfbm9kZSwg KnNyYW1fbm9kZSwgKm5vZGU7Ci0Jc3RydWN0IHJlc291cmNlIHJlczsKKwlzdHJ1Y3QgZGV2aWNl X25vZGUgKnByY21fbm9kZSwgKmNwdWNmZ19ub2RlLCAqc3JhbV9ub2RlOwogCWludCByZXQ7CiAK LQlpZiAoIW9mX21hY2hpbmVfaXNfY29tcGF0aWJsZSgiYWxsd2lubmVyLHN1bjlpLWE4MCIpKQot CQlyZXR1cm4gLUVOT0RFVjsKLQotCWlmICghc3VueGlfbWNfc21wX2NwdV90YWJsZV9pbml0KCkp Ci0JCXJldHVybiAtRUlOVkFMOwotCi0JaWYgKCFjY2lfcHJvYmVkKCkpIHsKLQkJcHJfZXJyKCIl czogQ0NJLTQwMCBub3QgYXZhaWxhYmxlXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRU5PREVW OwotCX0KLQotCW5vZGUgPSBvZl9maW5kX2NvbXBhdGlibGVfbm9kZShOVUxMLCBOVUxMLCAiYWxs d2lubmVyLHN1bjlpLWE4MC1wcmNtIik7Ci0JaWYgKCFub2RlKSB7Ci0JCXByX2VycigiJXM6IFBS Q00gbm90IGF2YWlsYWJsZVxuIiwgX19mdW5jX18pOworCXByY21fbm9kZSA9IG9mX2ZpbmRfY29t cGF0aWJsZV9ub2RlKE5VTEwsIE5VTEwsCisJCQkJICAgICAgICJhbGx3aW5uZXIsc3VuOWktYTgw LXByY20iKTsKKwlpZiAoIXByY21fbm9kZSkKIAkJcmV0dXJuIC1FTk9ERVY7Ci0JfQogCiAJLyoK IAkgKiBVbmZvcnR1bmF0ZWx5IHdlIGNhbiBub3QgcmVxdWVzdCB0aGUgSS9PIHJlZ2lvbiBmb3Ig dGhlIFBSQ00uCiAJICogSXQgaXMgc2hhcmVkIHdpdGggdGhlIFBSQ00gY2xvY2suCiAJICovCi0J cHJjbV9iYXNlID0gb2ZfaW9tYXAobm9kZSwgMCk7Ci0Jb2Zfbm9kZV9wdXQobm9kZSk7CisJcHJj bV9iYXNlID0gb2ZfaW9tYXAocHJjbV9ub2RlLCAwKTsKKwlvZl9ub2RlX3B1dChwcmNtX25vZGUp OwogCWlmICghcHJjbV9iYXNlKSB7CiAJCXByX2VycigiJXM6IGZhaWxlZCB0byBtYXAgUFJDTSBy ZWdpc3RlcnNcbiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC03NDgsMzMgKzcz NSwxMiBAQCBzdGF0aWMgaW50IF9faW5pdCBzdW54aV9tY19zbXBfaW5pdCh2b2lkKQogCQlnb3Rv IGVycl9wdXRfc3JhbV9ub2RlOwogCX0KIAotCS8qIENvbmZpZ3VyZSBDQ0ktNDAwIGZvciBib290 IGNsdXN0ZXIgKi8KLQlyZXQgPSBzdW54aV9tY19zbXBfbG9va2JhY2soKTsKLQlpZiAocmV0KSB7 Ci0JCXByX2VycigiJXM6IGZhaWxlZCB0byBjb25maWd1cmUgYm9vdCBjbHVzdGVyOiAlZFxuIiwK LQkJICAgICAgIF9fZnVuY19fLCByZXQpOwotCQlnb3RvIGVycl91bm1hcF9yZWxlYXNlX3NlY3Vy ZV9zcmFtOwotCX0KLQogCS8qIFdlIGRvbid0IG5lZWQgdGhlIENQVUNGRyBhbmQgU1JBTSBkZXZp Y2Ugbm9kZXMgYW55bW9yZSAqLwogCW9mX25vZGVfcHV0KGNwdWNmZ19ub2RlKTsKIAlvZl9ub2Rl X3B1dChzcmFtX25vZGUpOwogCi0JLyogU2V0IHRoZSBoYXJkd2FyZSBlbnRyeSBwb2ludCBhZGRy ZXNzICovCi0Jd3JpdGVsKF9fcGFfc3ltYm9sKHN1bnhpX21jX3NtcF9zZWNvbmRhcnlfc3RhcnR1 cCksCi0JICAgICAgIHByY21fYmFzZSArIFBSQ01fQ1BVX1NPRlRfRU5UUllfUkVHKTsKLQotCS8q IEFjdHVhbGx5IGVuYWJsZSBtdWx0aSBjbHVzdGVyIFNNUCAqLwotCXNtcF9zZXRfb3BzKCZzdW54 aV9tY19zbXBfc21wX29wcyk7Ci0KLQlwcl9pbmZvKCJzdW54aSBtdWx0aSBjbHVzdGVyIFNNUCBz dXBwb3J0IGluc3RhbGxlZFxuIik7Ci0KIAlyZXR1cm4gMDsKIAotZXJyX3VubWFwX3JlbGVhc2Vf c2VjdXJlX3NyYW06Ci0JaW91bm1hcChzcmFtX2Jfc21wX2Jhc2UpOwotCW9mX2FkZHJlc3NfdG9f cmVzb3VyY2Uoc3JhbV9ub2RlLCAwLCAmcmVzKTsKLQlyZWxlYXNlX21lbV9yZWdpb24ocmVzLnN0 YXJ0LCByZXNvdXJjZV9zaXplKCZyZXMpKTsKIGVycl9wdXRfc3JhbV9ub2RlOgogCW9mX25vZGVf cHV0KHNyYW1fbm9kZSk7CiBlcnJfdW5tYXBfcmVsZWFzZV9jcHVjZmc6CkBAIC03ODUsNiArNzUx LDU3IEBAIHN0YXRpYyBpbnQgX19pbml0IHN1bnhpX21jX3NtcF9pbml0KHZvaWQpCiAJb2Zfbm9k ZV9wdXQoY3B1Y2ZnX25vZGUpOwogZXJyX3VubWFwX3ByY206CiAJaW91bm1hcChwcmNtX2Jhc2Up OworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgc3VuOWlfaW91bm1hcCh2b2lkKQor eworCWlvdW5tYXAoc3JhbV9iX3NtcF9iYXNlKTsKKwlpb3VubWFwKGNwdWNmZ19iYXNlKTsKKwlp b3VubWFwKHByY21fYmFzZSk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHN1bnhpX21jX3NtcF9p bml0KHZvaWQpCit7CisJc3RydWN0IHJlc291cmNlIHJlczsKKwlpbnQgcmV0OworCisJaWYgKCFv Zl9tYWNoaW5lX2lzX2NvbXBhdGlibGUoImFsbHdpbm5lcixzdW45aS1hODAiKSkKKwkJcmV0dXJu IC1FTk9ERVY7CisKKwlpZiAoIXN1bnhpX21jX3NtcF9jcHVfdGFibGVfaW5pdCgpKQorCQlyZXR1 cm4gLUVJTlZBTDsKKworCWlmICghY2NpX3Byb2JlZCgpKSB7CisJCXByX2VycigiJXM6IENDSS00 MDAgbm90IGF2YWlsYWJsZVxuIiwgX19mdW5jX18pOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisK KwlyZXQgPSBzdW45aV9kdF9wYXJzaW5nKHJlcyk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoIiVz OiBmYWlsZWQgdG8gcGFyc2UgRFQ6ICVkXG4iLCBfX2Z1bmNfXywgcmV0KTsKKwkJcmV0dXJuIHJl dDsKKwl9CisKKwkvKiBDb25maWd1cmUgQ0NJLTQwMCBmb3IgYm9vdCBjbHVzdGVyICovCisJcmV0 ID0gc3VueGlfbWNfc21wX2xvb2tiYWNrKCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoIiVzOiBm YWlsZWQgdG8gY29uZmlndXJlIGJvb3QgY2x1c3RlcjogJWRcbiIsCisJCSAgICAgICBfX2Z1bmNf XywgcmV0KTsKKwkJc3VuOWlfaW91bm1hcCgpOworCQlyZXR1cm4gcmV0OworCX0KKworCS8qIFNl dCB0aGUgaGFyZHdhcmUgZW50cnkgcG9pbnQgYWRkcmVzcyAqLworCXdyaXRlbChfX3BhX3N5bWJv bChzdW54aV9tY19zbXBfc2Vjb25kYXJ5X3N0YXJ0dXApLAorCSAgICAgICBwcmNtX2Jhc2UgKyBQ UkNNX0NQVV9TT0ZUX0VOVFJZX1JFRyk7CisKKwkvKiBBY3R1YWxseSBlbmFibGUgbXVsdGkgY2x1 c3RlciBTTVAgKi8KKwlzbXBfc2V0X29wcygmc3VueGlfbWNfc21wX3NtcF9vcHMpOworCisJcHJf aW5mbygic3VueGkgbXVsdGkgY2x1c3RlciBTTVAgc3VwcG9ydCBpbnN0YWxsZWRcbiIpOworCiAJ cmV0dXJuIHJldDsKIH0KIAotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=