From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Tyshchenko Subject: [RFC PATCH 12/31] xen/device-tree: Add dt_property_read_string_helper and friends Date: Thu, 9 Nov 2017 19:10:02 +0200 Message-ID: <1510247421-24094-13-git-send-email-olekstysh@gmail.com> References: <1510247421-24094-1-git-send-email-olekstysh@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCqLm-00046h-Jp for xen-devel@lists.xenproject.org; Thu, 09 Nov 2017 17:10:46 +0000 Received: by mail-lf0-f67.google.com with SMTP id w21so7984554lfc.6 for ; Thu, 09 Nov 2017 09:10:45 -0800 (PST) In-Reply-To: <1510247421-24094-1-git-send-email-olekstysh@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Oleksandr Tyshchenko , Stefano Stabellini , Julien Grall List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKVGhpcyBpcyBhIHBvcnQgZnJvbSBMaW51eC4KClNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBU eXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4KQ0M6IFN0ZWZhbm8gU3Rh YmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVu LmdyYWxsQGxpbmFyby5vcmc+Ci0tLQogeGVuL2NvbW1vbi9kZXZpY2VfdHJlZS5jICAgICAgfCAy NyArKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3hlbi9kZXZpY2VfdHJlZS5oIHwgODEgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2Vk LCAxMDggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZGV2aWNlX3RyZWUu YyBiL3hlbi9jb21tb24vZGV2aWNlX3RyZWUuYwppbmRleCA3YjRjYWQzLi44MjdlYWRkIDEwMDY0 NAotLS0gYS94ZW4vY29tbW9uL2RldmljZV90cmVlLmMKKysrIGIveGVuL2NvbW1vbi9kZXZpY2Vf dHJlZS5jCkBAIC0yNjAsNiArMjYwLDMzIEBAIGludCBkdF9wcm9wZXJ0eV9yZWFkX3N0cmluZyhj b25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5wLAogICAgIHJldHVybiAwOwogfQogCitpbnQg ZHRfcHJvcGVydHlfcmVhZF9zdHJpbmdfaGVscGVyKGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9k ZSAqbnAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBy b3BuYW1lLCBjb25zdCBjaGFyICoqb3V0X3N0cnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNpemVfdCBzeiwgaW50IHNraXApCit7CisgICAgY29uc3Qgc3RydWN0IGR0X3By b3BlcnR5ICpwcm9wID0gZHRfZmluZF9wcm9wZXJ0eShucCwgcHJvcG5hbWUsIE5VTEwpOworICAg IGludCBsID0gMCwgaSA9IDA7CisgICAgY29uc3QgY2hhciAqcCwgKmVuZDsKKworICAgIGlmICgg IXByb3AgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICBpZiAoICFwcm9wLT52YWx1ZSAp CisgICAgICAgIHJldHVybiAtRU5PREFUQTsKKyAgICBwID0gcHJvcC0+dmFsdWU7CisgICAgZW5k ID0gcCArIHByb3AtPmxlbmd0aDsKKworICAgIGZvciAoIGkgPSAwOyBwIDwgZW5kICYmICghb3V0 X3N0cnMgfHwgaSA8IHNraXAgKyBzeik7IGkrKywgcCArPSBsICkKKyAgICB7CisgICAgICAgIGwg PSBzdHJubGVuKHAsIGVuZCAtIHApICsgMTsKKyAgICAgICAgaWYgKCBwICsgbCA+IGVuZCApCisg ICAgICAgICAgICByZXR1cm4gLUVJTFNFUTsKKyAgICAgICAgaWYgKCBvdXRfc3RycyAmJiBpID49 IHNraXAgKQorICAgICAgICAgICAgKm91dF9zdHJzKysgPSBwOworICAgIH0KKyAgICBpIC09IHNr aXA7CisgICAgcmV0dXJuIGkgPD0gMCA/IC1FTk9EQVRBIDogaTsKK30KKwogY29uc3QgY2hhciAq ZHRfcHJvcGVydHlfbmV4dF9zdHJpbmcoY29uc3Qgc3RydWN0IGR0X3Byb3BlcnR5ICpwcm9wLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY3VyKQogewpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2RldmljZV90cmVlLmggYi94ZW4vaW5jbHVkZS94 ZW4vZGV2aWNlX3RyZWUuaAppbmRleCBlMmQ3MzQ2Li43ZTUxYTdhIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vZGV2aWNlX3RyZWUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZGV2aWNlX3Ry ZWUuaApAQCAtNDQwLDYgKzQ0MCw4NyBAQCBpbnQgZHRfcHJvcGVydHlfcmVhZF9zdHJpbmcoY29u c3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpucCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyICpwcm9wbmFtZSwgY29uc3QgY2hhciAqKm91dF9zdHJpbmcpOwogCiAvKioK KyAqIGR0X3Byb3BlcnR5X3JlYWRfc3RyaW5nX2hlbHBlcigpIC0gVXRpbGl0eSBoZWxwZXIgZm9y IHBhcnNpbmcgc3RyaW5nIHByb3BlcnRpZXMKKyAqIEBucDogICAgICAgZGV2aWNlIG5vZGUgZnJv bSB3aGljaCB0aGUgcHJvcGVydHkgdmFsdWUgaXMgdG8gYmUgcmVhZC4KKyAqIEBwcm9wbmFtZTog bmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gYmUgc2VhcmNoZWQuCisgKiBAb3V0X3N0cnM6IG91dHB1 dCBhcnJheSBvZiBzdHJpbmcgcG9pbnRlcnMuCisgKiBAc3o6ICAgICAgIG51bWJlciBvZiBhcnJh eSBlbGVtZW50cyB0byByZWFkLgorICogQHNraXA6ICAgICBOdW1iZXIgb2Ygc3RyaW5ncyB0byBz a2lwIG92ZXIgYXQgYmVnaW5uaW5nIG9mIGxpc3QuCisgKgorICogRG9uJ3QgY2FsbCB0aGlzIGZ1 bmN0aW9uIGRpcmVjdGx5LiBJdCBpcyBhIHV0aWxpdHkgaGVscGVyIGZvciB0aGUKKyAqIGR0X3By b3BlcnR5X3JlYWRfc3RyaW5nKigpIGZhbWlseSBvZiBmdW5jdGlvbnMuCisgKi8KK2ludCBkdF9w cm9wZXJ0eV9yZWFkX3N0cmluZ19oZWxwZXIoY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpu cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcHJvcG5h bWUsIGNvbnN0IGNoYXIgKipvdXRfc3RycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZV90IHN6LCBpbnQgc2tpcCk7CisKKy8qKgorICogZHRfcHJvcGVydHlfcmVhZF9z dHJpbmdfYXJyYXkoKSAtIFJlYWQgYW4gYXJyYXkgb2Ygc3RyaW5ncyBmcm9tIGEgbXVsdGlwbGUK KyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdzIHByb3BlcnR5Lgor ICogQG5wOiAgICAgICBkZXZpY2Ugbm9kZSBmcm9tIHdoaWNoIHRoZSBwcm9wZXJ0eSB2YWx1ZSBp cyB0byBiZSByZWFkLgorICogQHByb3BuYW1lOiBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBiZSBz ZWFyY2hlZC4KKyAqIEBvdXRfc3Ryczogb3V0cHV0IGFycmF5IG9mIHN0cmluZyBwb2ludGVycy4K KyAqIEBzejogICAgICAgbnVtYmVyIG9mIGFycmF5IGVsZW1lbnRzIHRvIHJlYWQuCisgKgorICog U2VhcmNoIGZvciBhIHByb3BlcnR5IGluIGEgZGV2aWNlIHRyZWUgbm9kZSBhbmQgcmV0cmlldmUg YSBsaXN0IG9mCisgKiB0ZXJtaW5hdGVkIHN0cmluZyB2YWx1ZXMgKHBvaW50ZXIgdG8gZGF0YSwg bm90IGEgY29weSkgaW4gdGhhdCBwcm9wZXJ0eS4KKyAqCisgKiBJZiBAb3V0X3N0cnMgaXMgTlVM TCwgdGhlIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBwcm9wZXJ0eSBpcyByZXR1cm5lZC4KKyAq Lworc3RhdGljIGlubGluZSBpbnQgZHRfcHJvcGVydHlfcmVhZF9zdHJpbmdfYXJyYXkoY29uc3Qg c3RydWN0IGR0X2RldmljZV9ub2RlICpucCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnByb3BuYW1lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKm91dF9zdHJzLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHN6 KQoreworCXJldHVybiBkdF9wcm9wZXJ0eV9yZWFkX3N0cmluZ19oZWxwZXIobnAsIHByb3BuYW1l LCBvdXRfc3Rycywgc3osIDApOworfQorCisvKioKKyAqIGR0X3Byb3BlcnR5X2NvdW50X3N0cmlu Z3MoKSAtIEZpbmQgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mIHN0cmluZ3MgZnJvbSBhCisgKiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSBzdHJpbmdzIHByb3BlcnR5Lgor ICogQG5wOiAgICAgICBkZXZpY2Ugbm9kZSBmcm9tIHdoaWNoIHRoZSBwcm9wZXJ0eSB2YWx1ZSBp cyB0byBiZSByZWFkLgorICogQHByb3BuYW1lOiBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBiZSBz ZWFyY2hlZC4KKyAqCisgKiBTZWFyY2ggZm9yIGEgcHJvcGVydHkgaW4gYSBkZXZpY2UgdHJlZSBu b2RlIGFuZCByZXRyaWV2ZSB0aGUgbnVtYmVyIG9mIG51bGwKKyAqIHRlcm1pbmF0ZWQgc3RyaW5n IGNvbnRhaW4gaW4gaXQuIFJldHVybnMgdGhlIG51bWJlciBvZiBzdHJpbmdzIG9uCisgKiBzdWNj ZXNzLCAtRUlOVkFMIGlmIHRoZSBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdCwgLUVOT0RBVEEgaWYg cHJvcGVydHkKKyAqIGRvZXMgbm90IGhhdmUgYSB2YWx1ZSwgYW5kIC1FSUxTRVEgaWYgdGhlIHN0 cmluZyBpcyBub3QgbnVsbC10ZXJtaW5hdGVkCisgKiB3aXRoaW4gdGhlIGxlbmd0aCBvZiB0aGUg cHJvcGVydHkgZGF0YS4KKyAqLworc3RhdGljIGlubGluZSBpbnQgZHRfcHJvcGVydHlfY291bnRf c3RyaW5ncyhjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5wLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwcm9wbmFtZSkKK3sKKwly ZXR1cm4gZHRfcHJvcGVydHlfcmVhZF9zdHJpbmdfaGVscGVyKG5wLCBwcm9wbmFtZSwgTlVMTCwg MCwgMCk7Cit9CisKKy8qKgorICogZHRfcHJvcGVydHlfcmVhZF9zdHJpbmdfaW5kZXgoKSAtIEZp bmQgYW5kIHJlYWQgYSBzdHJpbmcgZnJvbSBhIG11bHRpcGxlCisgKiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyaW5ncyBwcm9wZXJ0eS4KKyAqIEBucDogICAgICAgICBkZXZp Y2Ugbm9kZSBmcm9tIHdoaWNoIHRoZSBwcm9wZXJ0eSB2YWx1ZSBpcyB0byBiZSByZWFkLgorICog QHByb3BuYW1lOiAgIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIGJlIHNlYXJjaGVkLgorICogQGlu ZGV4OiAgICAgIGluZGV4IG9mIHRoZSBzdHJpbmcgaW4gdGhlIGxpc3Qgb2Ygc3RyaW5ncworICog QG91dF9zdHJpbmc6IHBvaW50ZXIgdG8gbnVsbCB0ZXJtaW5hdGVkIHJldHVybiBzdHJpbmcsIG1v ZGlmaWVkIG9ubHkgaWYKKyAqICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgaXMgMC4KKyAqCisg KiBTZWFyY2ggZm9yIGEgcHJvcGVydHkgaW4gYSBkZXZpY2UgdHJlZSBub2RlIGFuZCByZXRyaWV2 ZSBhIG51bGwKKyAqIHRlcm1pbmF0ZWQgc3RyaW5nIHZhbHVlIChwb2ludGVyIHRvIGRhdGEsIG5v dCBhIGNvcHkpIGluIHRoZSBsaXN0IG9mIHN0cmluZ3MKKyAqIGNvbnRhaW5lZCBpbiB0aGF0IHBy b3BlcnR5LgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC1FSU5WQUwgaWYgdGhlIHByb3BlcnR5 IGRvZXMgbm90IGV4aXN0LCAtRU5PREFUQSBpZgorICogcHJvcGVydHkgZG9lcyBub3QgaGF2ZSBh IHZhbHVlLCBhbmQgLUVJTFNFUSBpZiB0aGUgc3RyaW5nIGlzIG5vdAorICogbnVsbC10ZXJtaW5h dGVkIHdpdGhpbiB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9wZXJ0eSBkYXRhLgorICoKKyAqIFRoZSBv dXRfc3RyaW5nIHBvaW50ZXIgaXMgbW9kaWZpZWQgb25seSBpZiBhIHZhbGlkIHN0cmluZyBjYW4g YmUgZGVjb2RlZC4KKyAqLworc3RhdGljIGlubGluZSBpbnQgZHRfcHJvcGVydHlfcmVhZF9zdHJp bmdfaW5kZXgoY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpucCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnByb3BuYW1lLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4 LCBjb25zdCBjaGFyICoqb3V0cHV0KQoreworCWludCByYyA9IGR0X3Byb3BlcnR5X3JlYWRfc3Ry aW5nX2hlbHBlcihucCwgcHJvcG5hbWUsIG91dHB1dCwgMSwgaW5kZXgpOworCisJcmV0dXJuIHJj IDwgMCA/IHJjIDogMDsKK30KKworLyoqCiAgKiBkdF9wcm9wZXJ0eV9mb3JfZWFjaF9zdHJpbmcg LSBJdGVyYXRlIG92ZXIgYW4gYXJyYXkgb2Ygc3RyaW5ncyB3aXRoaW4KICAqIGEgcHJvcGVydHkg d2l0aCBhIGdpdmVuIG5hbWUgZm9yIGEgZ2l2ZW4gbm9kZS4KICAqCi0tIAoyLjcuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=