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: [v5,2/2] usb: typec: ucsi: add support for Cypress CCGx From: Greg Kroah-Hartman Message-Id: <20180905123112.GB17160@kroah.com> Date: Wed, 5 Sep 2018 14:31:12 +0200 To: Ajay Gupta Cc: wsa@the-dreams.de, heikki.krogerus@linux.intel.com, linux-usb@vger.kernel.org, linux-i2c@vger.kernel.org List-ID: T24gRnJpLCBBdWcgMzEsIDIwMTggYXQgMDE6MjI6MjFQTSAtMDcwMCwgQWpheSBHdXB0YSB3cm90 ZToKPiBMYXRlc3QgTlZJRElBIEdQVSBjYXJkcyBoYXZlIGEgQ3lwcmVzcyBDQ0d4IFR5cGUtQyBj b250cm9sbGVyCj4gb3ZlciBJMkMgaW50ZXJmYWNlLgo+IAo+IFRoaXMgVUNTSSBJMkMgZHJpdmVy IHVzZXMgSTJDIGJ1cyBkcml2ZXIgaW50ZXJmYWNlIGZvciBjb21tdW5pY2F0aW5nCj4gd2l0aCBU eXBlLUMgY29udHJvbGxlci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBamF5IEd1cHRhIDxhamF5Z0Bu dmlkaWEuY29tPgo+IC0tLQo+IENoYW5nZXMgZnJvbSB2MSAtPiB2Mgo+IAlGaXhlZCBpZGVudGF0 aW9uIGluIGRyaXZlcnMvdXNiL3R5cGVjL3Vjc2kvS2NvbmZpZwo+IENoYW5nZXMgZnJvbSB2MiAt PiB2Mwo+IAlGaXhlZCBtb3N0IG9mIGNvbW1lbnRzIGZyb20gSGVpa2tpCj4gCVJlbmFtZSB1Y3Np X2kyY19jY2cuYyAtPiB1Y3NpX2NjZy5jCj4gQ2hhbmdlcyBmcm9tIHYzIC0+IHY0Cj4gCUZpeGVk IGNvbW1lbnRzIGZyb20gQW5keQo+IENoYW5nZXMgZnJvbSB2NCAtPiB2NQo+IAlGaXhlZCBjb21t ZW50cyBmcm9tIEFuZHkKPiAKPiAgZHJpdmVycy91c2IvdHlwZWMvdWNzaS9LY29uZmlnICAgIHwg IDEwICsKPiAgZHJpdmVycy91c2IvdHlwZWMvdWNzaS9NYWtlZmlsZSAgIHwgICAyICsKPiAgZHJp dmVycy91c2IvdHlwZWMvdWNzaS91Y3NpX2NjZy5jIHwgMzkwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgNDAyIGluc2VydGlvbnMoKykK PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdXNiL3R5cGVjL3Vjc2kvdWNzaV9jY2cuYwo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi90eXBlYy91Y3NpL0tjb25maWcgYi9kcml2ZXJz L3VzYi90eXBlYy91Y3NpL0tjb25maWcKPiBpbmRleCBlMzZkNmM3Li43ODExODg4IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3Vjc2kvS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvdXNi L3R5cGVjL3Vjc2kvS2NvbmZpZwo+IEBAIC0yMyw2ICsyMywxNiBAQCBjb25maWcgVFlQRUNfVUNT SQo+ICAKPiAgaWYgVFlQRUNfVUNTSQo+ICAKPiArY29uZmlnIFVDU0lfQ0NHCj4gKwl0cmlzdGF0 ZSAiVUNTSSBJbnRlcmZhY2UgRHJpdmVyIGZvciBDeXByZXNzIENDR3giCj4gKwlkZXBlbmRzIG9u IEkyQwo+ICsJaGVscAo+ICsJICBUaGlzIGRyaXZlciBlbmFibGVzIFVDU0kgc3VwcG9ydCBvbiBw bGF0Zm9ybXMgdGhhdCBleHBvc2UgYQo+ICsJICBDeXByZXNzIENDR3ggVHlwZS1DIGNvbnRyb2xs ZXIgb3ZlciBJMkMgaW50ZXJmYWNlLgo+ICsKPiArCSAgVG8gY29tcGlsZSB0aGUgZHJpdmVyIGFz IGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlIHdpbGwgYmUKPiArCSAgY2FsbGVk IHVjc2lfY2NnLgo+ICsKPiAgY29uZmlnIFVDU0lfQUNQSQo+ICAJdHJpc3RhdGUgIlVDU0kgQUNQ SSBJbnRlcmZhY2UgRHJpdmVyIgo+ICAJZGVwZW5kcyBvbiBBQ1BJCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL3R5cGVjL3Vjc2kvTWFrZWZpbGUgYi9kcml2ZXJzL3VzYi90eXBlYy91Y3NpL01h a2VmaWxlCj4gaW5kZXggN2FmYmVhNS4uMmY0OTAwYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Vz Yi90eXBlYy91Y3NpL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy91c2IvdHlwZWMvdWNzaS9NYWtl ZmlsZQo+IEBAIC04LDMgKzgsNSBAQCB0eXBlY191Y3NpLXkJCQk6PSB1Y3NpLm8KPiAgdHlwZWNf dWNzaS0kKENPTkZJR19UUkFDSU5HKQkrPSB0cmFjZS5vCj4gIAo+ICBvYmotJChDT05GSUdfVUNT SV9BQ1BJKQkJKz0gdWNzaV9hY3BpLm8KPiArCj4gK29iai0kKENPTkZJR19VQ1NJX0NDRykJCSs9 IHVjc2lfY2NnLm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvdHlwZWMvdWNzaS91Y3NpX2Nj Zy5jIGIvZHJpdmVycy91c2IvdHlwZWMvdWNzaS91Y3NpX2NjZy5jCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiBpbmRleCAwMDAwMDAwLi4xZTdjM2IyCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2Ry aXZlcnMvdXNiL3R5cGVjL3Vjc2kvdWNzaV9jY2cuYwo+IEBAIC0wLDAgKzEsMzkwIEBACj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKy8qCj4gKyAqIFVDU0kgZHJpdmVy IGZvciBDeXByZXNzIENDR3ggVHlwZS1DIGNvbnRyb2xsZXIKPiArICoKPiArICogQ29weXJpZ2h0 IChDKSAyMDE3LTIwMTggTlZJRElBIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ ICsgKiBBdXRob3I6IEFqYXkgR3VwdGEgPGFqYXlnQG52aWRpYS5jb20+Cj4gKyAqCj4gKyAqIFNv bWUgY29kZSBib3Jyb3dlZCBmcm9tIGRyaXZlcnMvdXNiL3R5cGVjL3Vjc2kvdWNzaV9hY3BpLmMK PiArICovCj4gKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9kZWxh eS5oPgo+ICsjaW5jbHVkZSA8bGludXgvaTJjLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUu aD4KPiArI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgo+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1f ZGV2aWNlLmg+Cj4gKwo+ICsjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgo+ICsjaW5jbHVkZSAi dWNzaS5oIgo+ICsKPiArc3RydWN0IHVjc2lfY2NnIHsKPiArCXN0cnVjdCBkZXZpY2UgKmRldjsK PiArCXN0cnVjdCB1Y3NpICp1Y3NpOwo+ICsJc3RydWN0IHVjc2lfcHBtIHBwbTsKPiArCXN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQ7Cj4gKwlpbnQgaXJxOwo+ICt9Owo+ICsKPiArI2RlZmluZSBD Q0dYX0kyQ19SQUJfREVWSUNFX01PREUJCQkweDAwCj4gKyNkZWZpbmUgQ0NHWF9JMkNfUkFCX1JF QURfU0lMSUNPTl9JRAkJCTB4Mgo+ICsjZGVmaW5lIENDR1hfSTJDX1JBQl9JTlRSX1JFRwkJCQkw eDA2Cj4gKyNkZWZpbmUgQ0NHWF9JMkNfUkFCX0ZXMV9WRVJTSU9OCQkJMHgyOAo+ICsjZGVmaW5l IENDR1hfSTJDX1JBQl9GVzJfVkVSU0lPTgkJCTB4MjAKPiArI2RlZmluZSBDQ0dYX0kyQ19SQUJf VUNTSV9DT05UUk9MCQkJMHgzOQo+ICsjZGVmaW5lIENDR1hfSTJDX1JBQl9VQ1NJX0NPTlRST0xf U1RBUlQJCQlCSVQoMCkKPiArI2RlZmluZSBDQ0dYX0kyQ19SQUJfVUNTSV9DT05UUk9MX1NUT1AJ CQlCSVQoMSkKPiArI2RlZmluZSBDQ0dYX0kyQ19SQUJfUkVTUE9OU0VfUkVHCQkJMHg3RQo+ICsj ZGVmaW5lIENDR1hfSTJDX1JBQl9VQ1NJX0RBVEFfQkxPQ0sJCQkweGYwMDAKPiArCj4gK3N0YXRp YyBpbnQgY2NnX3JlYWQoc3RydWN0IHVjc2lfY2NnICp1YywgdTE2IHJhYiwgdTggKmRhdGEsIHUz MiBsZW4pCj4gK3sKPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9IHVjLT5kZXY7Cj4gKwlzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50ID0gdWMtPmNsaWVudDsKPiArCXVuc2lnbmVkIGNoYXIgYnVmWzJd Owo+ICsJc3RydWN0IGkyY19tc2cgbXNnc1tdID0gewo+ICsJCXsKPiArCQkJLmFkZHIJPSBjbGll bnQtPmFkZHIsCj4gKwkJCS5mbGFncyAgPSAweDAsCj4gKwkJCS5sZW4JPSAweDIsCj4gKwkJCS5i dWYJPSBidWYsCj4gKwkJfSwKPiArCQl7Cj4gKwkJCS5hZGRyCT0gY2xpZW50LT5hZGRyLAo+ICsJ CQkuZmxhZ3MgID0gSTJDX01fUkQsCj4gKwkJCS5idWYJPSBkYXRhLAo+ICsJCX0sCj4gKwl9OwoK QXJlIHlvdSBzdXJlIHlvdSBhcmUgYWxsb3dlZCB0byBkbyBpMmMgbWVzc2FnZXMgb2ZmIG9mIHRo ZSBzdGFjayBsaWtlCnRoaXM/ICBXaWxsIHRoYXQgd29yayBvbiBhbGwgcGxhdGZvcm1zPwoKCj4g Kwl1MzIgcmxlbiwgcmVtX2xlbiA9IGxlbjsKPiArCWludCBlcnI7Cj4gKwo+ICsJd2hpbGUgKHJl bV9sZW4gPiAwKSB7Cj4gKwkJbXNnc1sxXS5idWYgPSAmZGF0YVtsZW4gLSByZW1fbGVuXTsKPiAr CQlybGVuID0gbWluX3QodTE2LCByZW1fbGVuLCA0KTsKPiArCQltc2dzWzFdLmxlbiA9IHJsZW47 Cj4gKwkJcHV0X3VuYWxpZ25lZF9sZTE2KHJhYiwgYnVmKTsKPiArCQllcnIgPSBpMmNfdHJhbnNm ZXIoY2xpZW50LT5hZGFwdGVyLCBtc2dzLCBBUlJBWV9TSVpFKG1zZ3MpKTsKPiArCQlpZiAoZXJy IDwgMCkgewo+ICsJCQlkZXZfZXJyKGRldiwgImkyY190cmFuc2ZlciBmYWlsZWQsIGVyciAlZFxu IiwgZXJyKTsKCllvdSBhcmUgcHJpbnRpbmcgb3V0IGFuIGVycm9yIGhlcmUsIG5vIG5lZWQgdG8g cHJpbnQgb3V0IGFub3RoZXIKZXJyb3IgZXZlcnkgdGltZSB5b3UgY2FsbCB0aGlzIGZ1bmN0aW9u IGFuZCBpdCBmYWlscywgcmlnaHQ/ICBPbmx5IGRvIGl0CmluIG9uZSBwbGFjZSwgb3RoZXJ3aXNl IGl0IGlzIGV4dHJhIG5vaXN5IHdoZW4gdGhpbmdzIGZhaWwuCgo+ICsJCQlyZXR1cm4gZXJyOwo+ ICsJCX0KPiArCQlyYWIgKz0gcmxlbjsKPiArCQlyZW1fbGVuIC09IHJsZW47Cj4gKwl9Cj4gKwo+ ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgY2NnX3dyaXRlKHN0cnVjdCB1Y3Np X2NjZyAqdWMsIHUxNiByYWIsIHU4ICpkYXRhLCB1MzIgbGVuKQo+ICt7Cj4gKwlzdHJ1Y3QgZGV2 aWNlICpkZXYgPSB1Yy0+ZGV2Owo+ICsJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCA9IHVjLT5j bGllbnQ7Cj4gKwl1bnNpZ25lZCBjaGFyIGJ1ZlsyXTsKPiArCXN0cnVjdCBpMmNfbXNnIG1zZ3Nb XSA9IHsKPiArCQl7Cj4gKwkJCS5hZGRyCT0gY2xpZW50LT5hZGRyLAo+ICsJCQkuZmxhZ3MgID0g MHgwLAo+ICsJCQkubGVuCT0gMHgyLAo+ICsJCQkuYnVmCT0gYnVmLAo+ICsJCX0sCj4gKwkJewo+ ICsJCQkuYWRkcgk9IGNsaWVudC0+YWRkciwKPiArCQkJLmZsYWdzICA9IDB4MCwKPiArCQkJLmJ1 Zgk9IGRhdGEsCj4gKwkJCS5sZW4JPSBsZW4sCj4gKwkJfSwKPiArCQl7Cj4gKwkJCS5hZGRyCT0g Y2xpZW50LT5hZGRyLAo+ICsJCQkuZmxhZ3MgID0gSTJDX01fU1RPUCwKPiArCQl9LAo+ICsJfTsK PiArCWludCBlcnI7CgpTYW1lIHF1ZXN0aW9uIGhlcmUsIGkyYyBtZXNzYWdlIG9mZiBvZiB0aGUg c3RhY2s/Cgo+ICsKPiArCXB1dF91bmFsaWduZWRfbGUxNihyYWIsIGJ1Zik7Cj4gKwllcnIgPSBp MmNfdHJhbnNmZXIoY2xpZW50LT5hZGFwdGVyLCBtc2dzLCBBUlJBWV9TSVpFKG1zZ3MpKTsKPiAr CWlmIChlcnIgPCAwKSB7Cj4gKwkJZGV2X2VycihkZXYsICJpMmNfdHJhbnNmZXIgZmFpbGVkLCBl cnIgJWRcbiIsIGVycik7Cj4gKwkJcmV0dXJuIGVycjsKCkFuZCBhZ2Fpbiwgb25seSBwcmludCBh biBlcnJvciBpbiBvbmUgcGxhY2UgcGxlYXNlLgoKVGhpcyBjYW4gYmUgc2ltcGxpZmllZCB0byBq dXN0OgoJcmV0dXJuIGkyY190cmFuc2ZlcihjbGllbnQtPmFkYXB0ZXIsIG1zZ3MsIEFSUkFZX1NJ WkUobXNncykpOwpyaWdodD8KCgo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtz dGF0aWMgaW50IHVjc2lfY2NnX2luaXQoc3RydWN0IHVjc2lfY2NnICp1YykKPiArewo+ICsJc3Ry dWN0IGRldmljZSAqZGV2ID0gdWMtPmRldjsKPiArCXVuc2lnbmVkIGludCBjb3VudCA9IDEwOwo+ ICsJdTggZGF0YVs2NF07Cj4gKwlpbnQgZXJyOwo+ICsKPiArCS8qCj4gKwkgKiBTZWxlY3RpdmVs eSBpc3N1ZSBkZXZpY2UgcmVzZXQKPiArCSAqIC0gaWYgUkVTUE9OU0UgcmVnaXN0ZXIgaXMgUkVT RVRfQ09NUExFVEUsIGRvIG5vdCBpc3N1ZSBkZXZpY2UgcmVzZXQKPiArCSAqICAgKHdpbGwgY2F1 c2UgdXNiIGRldmljZSBkaXNjb25uZWN0IC8gcmVjb25uZWN0KQo+ICsJICogLSBpZiBSRVNQT05T RSByZWdpc3RlciBpcyBub3QgUkVTRVRfQ09NUExFVEUsIGlzc3VlIGRldmljZSByZXNldAo+ICsJ ICogICAoY2F1c2VzIFBQQyB0byByZXN5bmMgZGV2aWNlIGNvbm5lY3Qgc3RhdGUgYnkgcmUtaXNz dWluZwo+ICsJICogICBzZXQgbXV4IGNvbW1hbmQpCj4gKwkgKi8KPiArCWRhdGFbMF0gPSAweDAw Owo+ICsJZGF0YVsxXSA9IDB4MDA7CgpBZ2FpbiwgaXQncyBvayB0byBkbyBtZXNzYWdlcyBvZmYg b2YgdGhlIHN0YWNrPwoKdGhhbmtzLAoKZ3JlZyBrLWgK