From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v3,04/12] usb: typec: add API to get typec basic port power and data config From: Jun Li Message-Id: <1520933678-10535-5-git-send-email-jun.li@nxp.com> Date: Tue, 13 Mar 2018 17:34:30 +0800 To: robh+dt@kernel.org, mark.rutland@arm.com, gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com Cc: a.hajda@samsung.com, jun.li@nxp.com, linux@roeck-us.net, yueyao@google.com, shufan_lee@richtek.com, o_leveque@orange.fr, linux-usb@vger.kernel.org, linux-imx@nxp.com List-ID: VGhpcyBwYXRjaCBhZGRzIDMgQVBJcyB0byBnZXQgdGhlIHR5cGVjIHBvcnQgcG93ZXIgYW5kIGRh dGEgdHlwZSwKYW5kIHByZWZlcnJlZCBwb3dlciByb2xlLgoKU2lnbmVkLW9mZi1ieTogTGkgSnVu IDxqdW4ubGlAbnhwLmNvbT4KLS0tCmNoYW5nZSBmb3IgdjM6Ci0gVXNlIGZ3bm9kZSB0byBnZXQg dGhlIG5vZGUgb2YgdXNiIGNvbm5lY3Rvci4KLSBhZGQgb25lIEFQSSB0byBnZXQgZGF0YSB0eXBl CgogZHJpdmVycy91c2IvdHlwZWMvY2xhc3MuYyB8IDg1ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L3VzYi90eXBlYy5oIHwgIDMg KysKIDIgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdXNiL3R5cGVjL2NsYXNzLmMgYi9kcml2ZXJzL3VzYi90eXBlYy9jbGFzcy5jCmluZGV4IDUz ZGYxMGQuLmM1ZTkzN2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL2NsYXNzLmMKKysr IGIvZHJpdmVycy91c2IvdHlwZWMvY2xhc3MuYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlIDxs aW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51 eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb3BlcnR5Lmg+CiAjaW5jbHVkZSA8bGludXgv c2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi90eXBlYy5oPgogI2luY2x1ZGUgPGxpbnV4L3Vz Yi90eXBlY19tdXguaD4KQEAgLTgwMiw2ICs4MDMsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCB0eXBlY19wb3J0X3R5cGVzW10gPSB7CiAJW1RZUEVDX1BPUlRfRFJQXSA9ICJkdWFsIiwK IH07CiAKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdHlwZWNfZGF0YV90eXBlc1tdID0gewor CVtUWVBFQ19QT1JUX0RGUF0gPSAiaG9zdCIsCisJW1RZUEVDX1BPUlRfVUZQXSA9ICJkZXZpY2Ui LAorCVtUWVBFQ19QT1JUX0RSRF0gPSAiZHVhbCIsCit9OworCiBzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IHR5cGVjX3BvcnRfdHlwZXNfZHJwW10gPSB7CiAJW1RZUEVDX1BPUlRfU1JDXSA9ICJk dWFsIFtzb3VyY2VdIHNpbmsiLAogCVtUWVBFQ19QT1JUX1NOS10gPSAiZHVhbCBzb3VyY2UgW3Np bmtdIiwKQEAgLTEyNTIsNiArMTI1OSw4NCBAQCB2b2lkIHR5cGVjX3NldF9wd3Jfb3Btb2RlKHN0 cnVjdCB0eXBlY19wb3J0ICpwb3J0LAogfQogRVhQT1JUX1NZTUJPTF9HUEwodHlwZWNfc2V0X3B3 cl9vcG1vZGUpOwogCisvKioKKyAqIHR5cGVjX2dldF9wb3dlcl90eXBlIC0gR2V0IHRoZSB0eXBl YyBwb3J0IHBvd2VyIHR5cGUKKyAqIEBmd25vZGU6IEZpcm13YXJlIG5vZGUgdG8gZ2V0IHRoZSBw cm9wZXJ0eSBvZgorICoKKyAqIFRoaXMgcm91dGluZSBpcyB1c2VkIGJ5IHR5cGVjIGhhcmR3YXJl IGRyaXZlciB0byByZWFkIHByb3BlcnR5CisgKiBwb3J0IHBvd2VyIHR5cGUgZnJvbSB0aGUgZGV2 aWNlIGZpcm13YXJlIGRlc2NyaXB0aW9uLgorICoKKyAqIFJldHVybnMgdHlwZWNfcG9ydF90eXBl IGlmIHN1Y2Nlc3MsIG90aGVyd2lzZSBuZWdhdGl2ZSBlcnJvciBjb2RlLgorICovCitpbnQgdHlw ZWNfZ2V0X3Bvd2VyX3R5cGUoc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmZ3bm9kZSkKK3sKKwljb25z dCBjaGFyICp0eXBlX3N0cjsKKwlpbnQgcmV0OworCisJaWYgKCFmd25vZGUpCisJCXJldHVybiAt RUlOVkFMOworCisJcmV0ID0gZndub2RlX3Byb3BlcnR5X3JlYWRfc3RyaW5nKGZ3bm9kZSwgInBv d2VyLXR5cGUiLCAmdHlwZV9zdHIpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJ cmV0dXJuIG1hdGNoX3N0cmluZyh0eXBlY19wb3J0X3R5cGVzLCBBUlJBWV9TSVpFKHR5cGVjX3Bv cnRfdHlwZXMpLAorCQkJICAgIHR5cGVfc3RyKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHR5cGVj X2dldF9wb3dlcl90eXBlKTsKKworLyoqCisgKiB0eXBlY19nZXRfcHJlZmVycmVkX3JvbGUgLSBH ZXQgdGhlIHR5cGVjIHByZWZlcnJlZCBwb3dlciByb2xlCisgKiBAZndub2RlOiBGaXJtd2FyZSBu b2RlIHRvIGdldCB0aGUgcHJvcGVydHkgb2YKKyAqCisgKiBUaGlzIHJvdXRpbmUgaXMgdXNlZCBi eSB0eXBlYyBoYXJkd2FyZSBkcml2ZXIgdG8gcmVhZCBwcm9wZXJ0eQorICogdHJ5LXBvd2VyLXJv bGUgZnJvbSB0aGUgZGV2aWNlIGZpcm13YXJlIGRlc2NyaXB0aW9uIHRvIGRlY2lkZQorICogaWYg dGhlIHBvcnQgY2FuIHN1cHBvcnQgVHJ5LlNSQyBvciBUcnkuU05LLgorICoKKyAqIFJldHVybnMg dHlwZWNfcm9sZSBpZiBzdWNjZXNzLCBvdGhlcndpc2UgbmVnYXRpdmUgZXJyb3IgY29kZS4KKyAq LworaW50IHR5cGVjX2dldF9wcmVmZXJyZWRfcm9sZShzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndu b2RlKQoreworCWNvbnN0IGNoYXIgKnR5cGVfc3RyOworCWludCByZXQ7CisKKwlpZiAoIWZ3bm9k ZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXQgPSBmd25vZGVfcHJvcGVydHlfcmVhZF9zdHJp bmcoZndub2RlLCAidHJ5LXBvd2VyLXJvbGUiLCAmdHlwZV9zdHIpOworCWlmIChyZXQgPCAwKQor CQlyZXR1cm4gcmV0OworCisJcmV0dXJuIG1hdGNoX3N0cmluZyh0eXBlY19yb2xlcywgQVJSQVlf U0laRSh0eXBlY19yb2xlcyksIHR5cGVfc3RyKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHR5cGVj X2dldF9wcmVmZXJyZWRfcm9sZSk7CisKKy8qKgorICogdHlwZWNfZ2V0X2RhdGFfdHlwZSAtIEdl dCB0aGUgdHlwZWMgcG9ydCBkYXRhIHR5cGUKKyAqIEBmd25vZGU6IEZpcm13YXJlIG5vZGUgdG8g Z2V0IHRoZSBwcm9wZXJ0eSBvZgorICoKKyAqIFRoaXMgcm91dGluZSBpcyB1c2VkIGJ5IHR5cGVj IGhhcmR3YXJlIGRyaXZlciB0byByZWFkIHByb3BlcnR5CisgKiBwb3J0IGRhdGEgdHlwZSBmcm9t IHRoZSBkZXZpY2UgZmlybXdhcmUgZGVzY3JpcHRpb24uCisgKgorICogUmV0dXJucyB0eXBlY19k YXRhX3R5cGUgaWYgc3VjY2Vzcywgb3RoZXJ3aXNlIG5lZ2F0aXZlIGVycm9yIGNvZGUuCisgKi8K K2ludCB0eXBlY19nZXRfZGF0YV90eXBlKHN0cnVjdCBmd25vZGVfaGFuZGxlICpmd25vZGUpCit7 CisJY29uc3QgY2hhciAqdHlwZV9zdHI7CisJaW50IHJldDsKKworCWlmICghZndub2RlKQorCQly ZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IGZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3N0cmluZyhmd25v ZGUsICJkYXRhLXR5cGUiLCAmdHlwZV9zdHIpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0 OworCisJcmV0dXJuIG1hdGNoX3N0cmluZyh0eXBlY19kYXRhX3R5cGVzLCBBUlJBWV9TSVpFKHR5 cGVjX2RhdGFfdHlwZXMpLAorCQkJICAgIHR5cGVfc3RyKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BM KHR5cGVjX2dldF9kYXRhX3R5cGUpOworCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gKi8KIC8qIEFQSSBmb3IgTXVsdGlwbGV4ZXIvRGVNdWx0aXBsZXhlciBT d2l0Y2hlcyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3VzYi90eXBlYy5oIGIvaW5j bHVkZS9saW51eC91c2IvdHlwZWMuaAppbmRleCA2NzJiMzliLi5jNDE1NTkzIDEwMDY0NAotLS0g YS9pbmNsdWRlL2xpbnV4L3VzYi90eXBlYy5oCisrKyBiL2luY2x1ZGUvbGludXgvdXNiL3R5cGVj LmgKQEAgLTI2Nyw0ICsyNjcsNyBAQCBpbnQgdHlwZWNfc2V0X29yaWVudGF0aW9uKHN0cnVjdCB0 eXBlY19wb3J0ICpwb3J0LAogCQkJICBlbnVtIHR5cGVjX29yaWVudGF0aW9uIG9yaWVudGF0aW9u KTsKIGludCB0eXBlY19zZXRfbW9kZShzdHJ1Y3QgdHlwZWNfcG9ydCAqcG9ydCwgaW50IG1vZGUp OwogCitpbnQgdHlwZWNfZ2V0X3Bvd2VyX3R5cGUoc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmZ3bm9k ZSk7CitpbnQgdHlwZWNfZ2V0X3ByZWZlcnJlZF9yb2xlKHN0cnVjdCBmd25vZGVfaGFuZGxlICpm d25vZGUpOworaW50IHR5cGVjX2dldF9kYXRhX3R5cGUoc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmZ3 bm9kZSk7CiAjZW5kaWYgLyogX19MSU5VWF9VU0JfVFlQRUNfSCAqLwo=