From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 2/5] drm/msm: Add a helper function to parse clock names Date: Tue, 19 Jun 2018 16:30:03 -0600 Message-ID: <20180619223006.31519-3-jcrouse@codeaurora.org> References: <20180619223006.31519-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180619223006.31519-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, hoegsberg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org QWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIHBhcnNlIHRoZSBjbG9jayBuYW1lcyBhbmQgc2V0IHVw CnRoZSBidWxrIGRhdGEgc28gd2UgY2FuIHRha2UgYWR2YW50YWdlIG9mIHRoZSBidWxrIGNsb2Nr CmZ1bmN0aW9ucyBpbnN0ZWFkIG9mIHJvbGxpbmcgb3VyIG93bi4gVGhpcyBpcyBhZGRlZAphcyBh IGhlbHBlciBmdW5jdGlvbiBzbyB0aGUgdXBjb21pbmcgYTZ4eCBHTVUgY29kZSBjYW4KYWxzbyB0 YWtlIGFkdmFudGFnZSBvZiBpdC4KClt2MiAtIHNldCBncHUtPm5yX2Nsb2NrcyB0byAwIG9uIGZh aWxlZCBwYXJzZSBdCgpTaWduZWQtb2ZmLWJ5OiBKb3JkYW4gQ3JvdXNlIDxqY3JvdXNlQGNvZGVh dXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jIHwgNTcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmggfCAgNCArKysKIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5jIHwgNTggKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5o IHwgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9kcnYuYwppbmRleCA3ZjczMjFlYjUzMTIuLjNlODZmYzliZTM5ZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZHJ2LmMKQEAgLTc4LDYgKzc4LDYzIEBAIG1vZHVsZV9wYXJhbShtb2Rl c2V0LCBib29sLCAwNjAwKTsKICAqIFV0aWwvaGVscGVyczoKICAqLwogCitpbnQgbXNtX2Nsa19i dWxrX2dldChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBjbGtfYnVsa19kYXRhICoqYnVsaykK K3sKKwlzdHJ1Y3QgcHJvcGVydHkgKnByb3A7CisJY29uc3QgY2hhciAqbmFtZTsKKwlzdHJ1Y3Qg Y2xrX2J1bGtfZGF0YSAqbG9jYWw7CisJaW50IGkgPSAwLCByZXQsIGNvdW50OworCisJY291bnQg PSBvZl9wcm9wZXJ0eV9jb3VudF9zdHJpbmdzKGRldi0+b2Zfbm9kZSwgImNsb2NrLW5hbWVzIik7 CisJaWYgKGNvdW50IDwgMSkKKwkJcmV0dXJuIDA7CisKKwlsb2NhbCA9IGRldm1fa2NhbGxvYyhk ZXYsIHNpemVvZihzdHJ1Y3QgY2xrX2J1bGtfZGF0YSAqKSwKKwkJY291bnQsIEdGUF9LRVJORUwp OworCWlmICghbG9jYWwpCisJCXJldHVybiAtRU5PTUVNOworCisJb2ZfcHJvcGVydHlfZm9yX2Vh Y2hfc3RyaW5nKGRldi0+b2Zfbm9kZSwgImNsb2NrLW5hbWVzIiwgcHJvcCwgbmFtZSkgeworCQls b2NhbFtpXS5pZCA9IGRldm1fa3N0cmR1cChkZXYsIG5hbWUsIEdGUF9LRVJORUwpOworCQlpZiAo IWxvY2FsW2ldLmlkKSB7CisJCQlkZXZtX2tmcmVlKGRldiwgbG9jYWwpOworCQkJcmV0dXJuIC1F Tk9NRU07CisJCX0KKworCQlpKys7CisJfQorCisJcmV0ID0gZGV2bV9jbGtfYnVsa19nZXQoZGV2 LCBjb3VudCwgbG9jYWwpOworCisJaWYgKHJldCkgeworCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7 IGkrKykKKwkJCWRldm1fa2ZyZWUoZGV2LCAodm9pZCAqKSBsb2NhbFtpXS5pZCk7CisJCWRldm1f a2ZyZWUoZGV2LCBsb2NhbCk7CisKKwkJcmV0dXJuIHJldDsKKwl9CisKKwkqYnVsayA9IGxvY2Fs OworCXJldHVybiBjb3VudDsKK30KKworc3RydWN0IGNsayAqbXNtX2Nsa19idWxrX2dldF9jbG9j ayhzdHJ1Y3QgY2xrX2J1bGtfZGF0YSAqYnVsaywgaW50IGNvdW50LAorCQljb25zdCBjaGFyICpu YW1lKQoreworCWludCBpOworCWNoYXIgblszMl07CisKKwlzbnByaW50ZihuLCBzaXplb2Yobiks ICIlc19jbGsiLCBuYW1lKTsKKworCWZvciAoaSA9IDA7IGJ1bGsgJiYgaSA8IGNvdW50OyBpKysp IHsKKwkJaWYgKCFzdHJjbXAoYnVsa1tpXS5pZCwgbmFtZSkgfHwgIXN0cmNtcChidWxrW2ldLmlk LCBuKSkKKwkJCXJldHVybiBidWxrW2ldLmNsazsKKwl9CisKKworCXJldHVybiBOVUxMOworfQor CiBzdHJ1Y3QgY2xrICptc21fY2xrX2dldChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBj b25zdCBjaGFyICpuYW1lKQogewogCXN0cnVjdCBjbGsgKmNsazsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgK aW5kZXggMTdjZWZjYTFkNTY2Li4wMTFjMzRhZDFmOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCkBA IC0zMDcsNiArMzA3LDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtc21fcGVyZl9kZWJ1Z2ZzX2Ns ZWFudXAoc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdikge30KICNlbmRpZgogCiBzdHJ1Y3Qg Y2xrICptc21fY2xrX2dldChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBjb25zdCBjaGFy ICpuYW1lKTsKK2ludCBtc21fY2xrX2J1bGtfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0 IGNsa19idWxrX2RhdGEgKipidWxrKTsKKworc3RydWN0IGNsayAqbXNtX2Nsa19idWxrX2dldF9j bG9jayhzdHJ1Y3QgY2xrX2J1bGtfZGF0YSAqYnVsaywgaW50IGNvdW50LAorCWNvbnN0IGNoYXIg Km5hbWUpOwogdm9pZCBfX2lvbWVtICptc21faW9yZW1hcChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2LCBjb25zdCBjaGFyICpuYW1lLAogCQljb25zdCBjaGFyICpkYmduYW1lKTsKIHZvaWQg bXNtX3dyaXRlbCh1MzIgZGF0YSwgdm9pZCBfX2lvbWVtICphZGRyKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1 LmMKaW5kZXggMWMwOWFjZmI0MDI4Li44Mjc2NDRmMGUxYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbXNtX2dwdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5j CkBAIC0xNDEsOCArMTQxLDYgQEAgc3RhdGljIGludCBkaXNhYmxlX3B3cnJhaWwoc3RydWN0IG1z bV9ncHUgKmdwdSkKIAogc3RhdGljIGludCBlbmFibGVfY2xrKHN0cnVjdCBtc21fZ3B1ICpncHUp CiB7Ci0JaW50IGk7Ci0KIAlpZiAoZ3B1LT5jb3JlX2NsayAmJiBncHUtPmZhc3RfcmF0ZSkKIAkJ Y2xrX3NldF9yYXRlKGdwdS0+Y29yZV9jbGssIGdwdS0+ZmFzdF9yYXRlKTsKIApAQCAtMTUwLDI4 ICsxNDgsMTQgQEAgc3RhdGljIGludCBlbmFibGVfY2xrKHN0cnVjdCBtc21fZ3B1ICpncHUpCiAJ aWYgKGdwdS0+cmJibXRpbWVyX2NsaykKIAkJY2xrX3NldF9yYXRlKGdwdS0+cmJibXRpbWVyX2Ns aywgMTkyMDAwMDApOwogCi0JZm9yIChpID0gZ3B1LT5ucl9jbG9ja3MgLSAxOyBpID49IDA7IGkt LSkKLQkJaWYgKGdwdS0+Z3JwX2Nsa3NbaV0pCi0JCQljbGtfcHJlcGFyZShncHUtPmdycF9jbGtz W2ldKTsKLQotCWZvciAoaSA9IGdwdS0+bnJfY2xvY2tzIC0gMTsgaSA+PSAwOyBpLS0pCi0JCWlm IChncHUtPmdycF9jbGtzW2ldKQotCQkJY2xrX2VuYWJsZShncHUtPmdycF9jbGtzW2ldKTsKKwlj bGtfYnVsa19wcmVwYXJlX2VuYWJsZShncHUtPm5yX2Nsb2NrcywgZ3B1LT5ncnBfY2xrcyk7CiAK IAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBkaXNhYmxlX2NsayhzdHJ1Y3QgbXNtX2dwdSAq Z3B1KQogewotCWludCBpOwotCi0JZm9yIChpID0gZ3B1LT5ucl9jbG9ja3MgLSAxOyBpID49IDA7 IGktLSkKLQkJaWYgKGdwdS0+Z3JwX2Nsa3NbaV0pCi0JCQljbGtfZGlzYWJsZShncHUtPmdycF9j bGtzW2ldKTsKLQotCWZvciAoaSA9IGdwdS0+bnJfY2xvY2tzIC0gMTsgaSA+PSAwOyBpLS0pCi0J CWlmIChncHUtPmdycF9jbGtzW2ldKQotCQkJY2xrX3VucHJlcGFyZShncHUtPmdycF9jbGtzW2ld KTsKKwljbGtfYnVsa19kaXNhYmxlX3VucHJlcGFyZShncHUtPm5yX2Nsb2NrcywgZ3B1LT5ncnBf Y2xrcyk7CiAKIAkvKgogCSAqIFNldCB0aGUgY2xvY2sgdG8gYSBkZWxpYmVyYXRlbHkgbG93IHJh dGUuIE9uIG9sZGVyIHRhcmdldHMgdGhlIGNsb2NrCkBAIC02NjAsNDQgKzY0NCwyMiBAQCBzdGF0 aWMgaXJxcmV0dXJuX3QgaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGF0YSkKIAlyZXR1cm4g Z3B1LT5mdW5jcy0+aXJxKGdwdSk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY2xrICpnZXRfY2xvY2so c3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICpuYW1lKQotewotCXN0cnVjdCBjbGsgKmNs ayA9IGRldm1fY2xrX2dldChkZXYsIG5hbWUpOwotCi0JcmV0dXJuIElTX0VSUihjbGspID8gTlVM TCA6IGNsazsKLX0KLQogc3RhdGljIGludCBnZXRfY2xvY2tzKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYsIHN0cnVjdCBtc21fZ3B1ICpncHUpCiB7Ci0Jc3RydWN0IGRldmljZSAqZGV2ID0g JnBkZXYtPmRldjsKLQlzdHJ1Y3QgcHJvcGVydHkgKnByb3A7Ci0JY29uc3QgY2hhciAqbmFtZTsK LQlpbnQgaSA9IDA7Ci0KLQlncHUtPm5yX2Nsb2NrcyA9IG9mX3Byb3BlcnR5X2NvdW50X3N0cmlu Z3MoZGV2LT5vZl9ub2RlLCAiY2xvY2stbmFtZXMiKTsKLQlpZiAoZ3B1LT5ucl9jbG9ja3MgPCAx KSB7Ci0JCWdwdS0+bnJfY2xvY2tzID0gMDsKLQkJcmV0dXJuIDA7Ci0JfQorCWludCByZXQgPSBt c21fY2xrX2J1bGtfZ2V0KCZwZGV2LT5kZXYsICZncHUtPmdycF9jbGtzKTsKIAotCWdwdS0+Z3Jw X2Nsa3MgPSBkZXZtX2tjYWxsb2MoZGV2LCBzaXplb2Yoc3RydWN0IGNsayAqKSwgZ3B1LT5ucl9j bG9ja3MsCi0JCUdGUF9LRVJORUwpOwotCWlmICghZ3B1LT5ncnBfY2xrcykgeworCWlmIChyZXQg PCAxKSB7CiAJCWdwdS0+bnJfY2xvY2tzID0gMDsKLQkJcmV0dXJuIC1FTk9NRU07CisJCXJldHVy biByZXQ7CiAJfQogCi0Jb2ZfcHJvcGVydHlfZm9yX2VhY2hfc3RyaW5nKGRldi0+b2Zfbm9kZSwg ImNsb2NrLW5hbWVzIiwgcHJvcCwgbmFtZSkgewotCQlncHUtPmdycF9jbGtzW2ldID0gZ2V0X2Ns b2NrKGRldiwgbmFtZSk7CisJZ3B1LT5ucl9jbG9ja3MgPSByZXQ7CiAKLQkJLyogUmVtZW1iZXIg dGhlIGtleSBjbG9ja3MgdGhhdCB3ZSBuZWVkIHRvIGNvbnRyb2wgbGF0ZXIgKi8KLQkJaWYgKCFz dHJjbXAobmFtZSwgImNvcmUiKSB8fCAhc3RyY21wKG5hbWUsICJjb3JlX2NsayIpKQotCQkJZ3B1 LT5jb3JlX2NsayA9IGdwdS0+Z3JwX2Nsa3NbaV07Ci0JCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwg InJiYm10aW1lciIpIHx8ICFzdHJjbXAobmFtZSwgInJiYm10aW1lcl9jbGsiKSkKLQkJCWdwdS0+ cmJibXRpbWVyX2NsayA9IGdwdS0+Z3JwX2Nsa3NbaV07CisJZ3B1LT5jb3JlX2NsayA9IG1zbV9j bGtfYnVsa19nZXRfY2xvY2soZ3B1LT5ncnBfY2xrcywKKwkJZ3B1LT5ucl9jbG9ja3MsICJjb3Jl Iik7CiAKLQkJKytpOwotCX0KKwlncHUtPnJiYm10aW1lcl9jbGsgPSBtc21fY2xrX2J1bGtfZ2V0 X2Nsb2NrKGdwdS0+Z3JwX2Nsa3MsCisJCWdwdS0+bnJfY2xvY2tzLCAicmJibXRpbWVyIik7CiAK IAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5o IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmgKaW5kZXggYjgyNDExNzkxNzVhLi5jOWJj Mjc3ZTIzNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5oCkBAIC0xMDgsNyArMTA4LDcgQEAgc3RydWN0 IG1zbV9ncHUgewogCiAJLyogUG93ZXIgQ29udHJvbDogKi8KIAlzdHJ1Y3QgcmVndWxhdG9yICpn cHVfcmVnLCAqZ3B1X2N4OwotCXN0cnVjdCBjbGsgKipncnBfY2xrczsKKwlzdHJ1Y3QgY2xrX2J1 bGtfZGF0YSAqZ3JwX2Nsa3M7CiAJaW50IG5yX2Nsb2NrczsKIAlzdHJ1Y3QgY2xrICplYmkxX2Ns aywgKmNvcmVfY2xrLCAqcmJibXRpbWVyX2NsazsKIAl1aW50MzJfdCBmYXN0X3JhdGU7Ci0tIAoy LjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZy ZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=