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: [2/7] usb: typec: ucsi: add ccg command framework From: Heikki Krogerus Message-Id: <20190125140449.GC7262@kuha.fi.intel.com> Date: Fri, 25 Jan 2019 16:04:49 +0200 To: Ajay Gupta Cc: "linux-usb@vger.kernel.org" List-ID: T24gVGh1LCBKYW4gMjQsIDIwMTkgYXQgMDc6MTU6MzVQTSArMDAwMCwgQWpheSBHdXB0YSB3cm90 ZToKPiBIaSBIZWlra2kKPiAKPiA+ID4gVXNlZCB0byBzZW5kIGNvbW1hbmQgdG8gY2NnIGNvbnRy b2xsZXIKPiA+ID4KPiA+ID4gU2lnbmVkLW9mZi1ieTogQWpheSBHdXB0YSA8YWpheWdAbnZpZGlh LmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL3VzYi90eXBlYy91Y3NpL3Vjc2lfY2NnLmMg fCAyNTIKPiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gPiA+ICAxIGZpbGUg Y2hhbmdlZCwgMjQzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4gPiA+Cj4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3VzYi90eXBlYy91Y3NpL3Vjc2lfY2NnLmMKPiA+ID4gYi9kcml2 ZXJzL3VzYi90eXBlYy91Y3NpL3Vjc2lfY2NnLmMKPiA+ID4gaW5kZXggNGQzNTI3OWFiODUzLi5k Y2U5MTI2YjZhMzcgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3Vjc2kvdWNz aV9jY2cuYwo+ID4gPiArKysgYi9kcml2ZXJzL3VzYi90eXBlYy91Y3NpL3Vjc2lfY2NnLmMKPiA+ ID4gQEAgLTE3LDYgKzE3LDI5IEBACj4gPiA+ICAjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgo+ ID4gPiAgI2luY2x1ZGUgInVjc2kuaCIKPiA+ID4KPiA+ID4gKyNkZWZpbmUgQ0NHWF9SQUJfREVW SUNFX01PREUJCQkweDAwMDAKPiA+ID4gKyNkZWZpbmUgQ0NHWF9SQUJfSU5UUl9SRUcJCQkweDAw MDYKPiA+ID4gKyNkZWZpbmUgIERFVl9JTlQJCQkJQklUKDApCj4gPiA+ICsjZGVmaW5lICBQT1JU MF9JTlQJCQkJQklUKDEpCj4gPiA+ICsjZGVmaW5lICBQT1JUMV9JTlQJCQkJQklUKDIpCj4gPiA+ ICsjZGVmaW5lICBVQ1NJX1JFQURfSU5UCQkJCUJJVCg3KQo+ID4gPiArI2RlZmluZSBDQ0dYX1JB Ql9SRUFEX0FMTF9WRVIJCQkweDAwMTAKPiA+ID4gKyNkZWZpbmUgQ0NHWF9SQUJfUkVBRF9GVzJf VkVSCQkJMHgwMDIwCj4gPiA+ICsjZGVmaW5lIENDR1hfUkFCX1VDU0lfQ09OVFJPTAkJCTB4MDAz OQo+ID4gPiArI2RlZmluZSBDQ0dYX1JBQl9VQ1NJX0NPTlRST0xfU1RBUlQJCUJJVCgwKQo+ID4g PiArI2RlZmluZSBDQ0dYX1JBQl9VQ1NJX0NPTlRST0xfU1RPUAkJQklUKDEpCj4gPiA+ICsjZGVm aW5lIENDR1hfUkFCX1VDU0lfREFUQV9CTE9DSyhvZmZzZXQpCSgweGYwMDAgfCAoKG9mZnNldCkg Jgo+ID4gMHhmZikpCj4gPiA+ICsjZGVmaW5lIERFVl9SRUdfSURYCj4gPiAJQ0NHWF9SQUJfREVW SUNFX01PREUKPiA+ID4gKyNkZWZpbmUgQ0NHWF9SQUJfUkVTUE9OU0UJCQkweDAwN0UKPiA+ID4g KyNkZWZpbmUgIEFTWU5DX0VWRU5UCQkJCUJJVCg3KQo+ID4gPiArCj4gPiA+ICsvKiBDQ0d4IGV2 ZW50cyAmIGFzeW5jIG1zZyBjb2RlcyAqLwo+ID4gPiArI2RlZmluZSBSRVNFVF9DT01QTEVURQkJ MHg4MAo+ID4gPiArI2RlZmluZSBFVkVOVF9JTkRFWAkJUkVTRVRfQ09NUExFVEUKPiA+ID4gKyNk ZWZpbmUgUE9SVF9DT05ORUNUX0RFVAkweDg0Cj4gPiA+ICsjZGVmaW5lIFBPUlRfRElTQ09OTkVD VF9ERVQJMHg4NQo+ID4gPiArI2RlZmluZSBST0xFX1NXQVBfQ09NUEVMRVRFCTB4ODcKPiA+ID4g Kwo+ID4gPiAgc3RydWN0IGNjZ19kZXZfaW5mbyB7Cj4gPiA+ICAJdTggZndfbW9kZToyOwo+ID4g PiAgCXU4IHR3b19wZF9wb3J0czoyOwo+ID4gPiBAQCAtNDQsMjMgKzY3LDExMyBAQCBzdHJ1Y3Qg dmVyc2lvbl9pbmZvIHsKPiA+ID4gIAlzdHJ1Y3QgdmVyc2lvbl9mb3JtYXQgYXBwOwo+ID4gPiAg fTsKPiA+ID4KPiA+ID4gKy8qIENDR3ggcmVzcG9uc2UgY29kZXMgKi8KPiA+ID4gK2VudW0gY2Nn X3Jlc3BfY29kZSB7Cj4gPiA+ICsJQ01EX05PX1JFU1AgICAgICAgICAgICAgPSAweDAwLAo+ID4g PiArCUNNRF9TVUNDRVNTICAgICAgICAgICAgID0gMHgwMiwKPiA+ID4gKwlGTEFTSF9EQVRBX0FW QUlMQUJMRSAgICA9IDB4MDMsCj4gPiA+ICsJQ01EX0lOVkFMSUQgICAgICAgICAgICAgPSAweDA1 LAo+ID4gPiArCUZMQVNIX1VQREFURV9GQUlMICAgICAgID0gMHgwNywKPiA+ID4gKwlJTlZBTElE X0ZXICAgICAgICAgICAgICA9IDB4MDgsCj4gPiA+ICsJSU5WQUxJRF9BUkcgICAgICAgICAgICAg PSAweDA5LAo+ID4gPiArCUNNRF9OT1RfU1VQUE9SVCAgICAgICAgID0gMHgwQSwKPiA+ID4gKwlU UkFOU0FDVElPTl9GQUlMICAgICAgICA9IDB4MEMsCj4gPiA+ICsJUERfQ01EX0ZBSUwgICAgICAg ICAgICAgPSAweDBELAo+ID4gPiArCVVOREVGX0VSUk9SICAgICAgICAgICAgID0gMHgwRiwKPiA+ ID4gKwlJTlZBTElEX1JFU1AJCT0gMHgxMCwKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gK3N0YXRp YyBjb25zdCBjaGFyICogY29uc3QgY2NnX3Jlc3Bfc3Ryc1tdID0gewo+ID4gPiArCS8qIDB4MDAg Ki8gIk5vIFJlc3BvbnNlLiIsCj4gPiA+ICsJLyogMHgwMSAqLyAiMHgwMSIsCj4gPiA+ICsJLyog MHgwMiAqLyAiSFBJIENvbW1hbmQgU3VjY2Vzcy4iLAo+ID4gPiArCS8qIDB4MDMgKi8gIkZsYXNo IERhdGEgQXZhaWxhYmxlIGluIGRhdGEgbWVtb3J5LiIsCj4gPiA+ICsJLyogMHgwNCAqLyAiMHgw NCIsCj4gPiA+ICsJLyogMHgwNSAqLyAiSW52YWxpZCBDb21tYW5kLiIsCj4gPiA+ICsJLyogMHgw NiAqLyAiMHgwNiIsCj4gPiA+ICsJLyogMHgwNyAqLyAiRmxhc2ggd3JpdGUgb3BlcmF0aW9uIGZh aWxlZC4iLAo+ID4gPiArCS8qIDB4MDggKi8gIkZpcm13YXJlIHZhbGlkaXR5IGNoZWNrIGZhaWxl ZC4iLAo+ID4gPiArCS8qIDB4MDkgKi8gIkNvbW1hbmQgZmFpbGVkIGR1ZSB0byBpbnZhbGlkIGFy Z3VtZW50cy4iLAo+ID4gPiArCS8qIDB4MEEgKi8gIkNvbW1hbmQgbm90IHN1cHBvcnRlZCBpbiB0 aGUgY3VycmVudCBtb2RlLiIsCj4gPiA+ICsJLyogMHgwQiAqLyAiMHgwQiIsCj4gPiA+ICsJLyog MHgwQyAqLyAiVHJhbnNhY3Rpb24gRmFpbGVkLiBHT09EX0NSQyB3YXMgbm90IHJlY2VpdmVkLiIs Cj4gPiA+ICsJLyogMHgwRCAqLyAiUEQgQ29tbWFuZCBGYWlsZWQuIiwKPiA+ID4gKwkvKiAweDBF ICovICIweDBFIiwKPiA+ID4gKwkvKiAweDBGICovICJVbmRlZmluZWQgRXJyb3IiLAo+ID4gPiAr fTsKPiA+ID4gKwo+ID4gPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjY2dfZXZ0X3N0cnNb XSA9IHsKPiA+ID4gKwkvKiAweDgwICovICJSZXNldCBDb21wbGV0ZS4iLAo+ID4gPiArCS8qIDB4 ODEgKi8gIk1lc3NhZ2UgcXVldWUgb3ZlcmZsb3cgZGV0ZWN0ZWQuIiwKPiA+ID4gKwkvKiAweDgy ICovICJPdmVyY3VycmVudCBEZXRlY3RlZCIsCj4gPiA+ICsJLyogMHg4MyAqLyAiT3ZlcnZvbHRh Z2UgRGV0ZWN0ZWQiLAo+ID4gPiArCS8qIDB4ODQgKi8gIlR5cGUtQyBQb3J0IENvbm5lY3QgRGV0 ZWN0ZWQiLAo+ID4gPiArCS8qIDB4ODUgKi8gIlR5cGUtQyBQb3J0IERpc2Nvbm5lY3QgRGV0ZWN0 ZWQiLAo+ID4gPiArCS8qIDB4ODYgKi8gIlBEIENvbnRyYWN0IE5lZ290aWF0aW9uIENvbXBsZXRl IiwKPiA+ID4gKwkvKiAweDg3ICovICJTV0FQIENvbXBsZXRlIiwKPiA+ID4gKwkvKiAweDg4ICov ICIweDg4IiwKPiA+ID4gKwkvKiAweDg5ICovICIweDg5IiwKPiA+ID4gKwkvKiAweDhBICovICJQ U19SRFkgTWVzc2FnZSBSZWNlaXZlZCIsCj4gPiA+ICsJLyogMHg4QiAqLyAiR290b01pbiBNZXNz YWdlIFJlY2VpdmVkLiIsCj4gPiA+ICsJLyogMHg4QyAqLyAiQWNjZXB0IE1lc3NhZ2UgUmVjZWl2 ZWQiLAo+ID4gPiArCS8qIDB4OEQgKi8gIlJlamVjdCBNZXNzYWdlIFJlY2VpdmVkIiwKPiA+ID4g KwkvKiAweDhFICovICJXYWl0IE1lc3NhZ2UgUmVjZWl2ZWQiLAo+ID4gPiArCS8qIDB4OEYgKi8g IkhhcmQgUmVzZXQgUmVjZWl2ZWQiLAo+ID4gPiArCS8qIDB4OTAgKi8gIlZETSBSZWNlaXZlZCIs Cj4gPiA+ICsJLyogMHg5MSAqLyAiU291cmNlIENhcGFiaWxpdGllcyBNZXNzYWdlIFJlY2VpdmVk IiwKPiA+ID4gKwkvKiAweDkyICovICJTaW5rIENhcGFiaWxpdGllcyBNZXNzYWdlIFJlY2VpdmVk IiwKPiA+ID4gKwkvKiAweDkzICovICJEaXNwbGF5IFBvcnQgQWx0ZXJuYXRlIE1vZGUgZW50ZXJl ZCIsCj4gPiA+ICsJLyogMHg5NCAqLyAiRGlzcGxheSBQb3J0IGRldmljZSBjb25uZWN0ZWQgYXQg VUZQX1UiLAo+ID4gPiArCS8qIDB4OTUgKi8gIkRpc3BsYXkgcG9ydCBkZXZpY2Ugbm90IGNvbm5l Y3RlZCBhdCBVRlBfVSIsCj4gPiA+ICsJLyogMHg5NiAqLyAiRGlzcGxheSBwb3J0IFNJRCBub3Qg Zm91bmQgaW4gRGlzY292ZXIgU0lEIHByb2Nlc3MiLAo+ID4gPiArCS8qIDB4OTcgKi8gIk11bHRp cGxlIFNWSURzIGRpc2NvdmVyZWQgYWxvbmcgd2l0aCBEaXNwbGF5UG9ydCBTSUQiLAo+ID4gPiAr CS8qIDB4OTggKi8gIkRQIEZ1bmN0aW9uYWxpdHkgbm90IHN1cHBvcnRlZCBieSBDYWJsZSIsCj4g PiA+ICsJLyogMHg5OSAqLyAiRGlzcGxheSBQb3J0IENvbmZpZ3VyYXRpb24gbm90IHN1cHBvcnRl ZCBieSBVRlAiLAo+ID4gPiArCS8qIDB4OUEgKi8gIkhhcmQgUmVzZXQgU2VudCB0byBQb3J0IFBh cnRuZXIiLAo+ID4gPiArCS8qIDB4OUIgKi8gIlNvZnQgUmVzZXQgU2VudCB0byBQb3J0IFBhcnRu ZXIiLAo+ID4gPiArCS8qIDB4OUMgKi8gIkNhYmxlIFJlc2V0IFNlbnQgdG8gRU1DQSIsCj4gPiA+ ICsJLyogMHg5RCAqLyAiU291cmNlIERpc2FibGVkIFN0YXRlIEVudGVyZWQiLAo+ID4gPiArCS8q IDB4OUUgKi8gIlNlbmRlciBSZXNwb25zZSBUaW1lciBUaW1lb3V0IiwKPiA+ID4gKwkvKiAweDlG ICovICJObyBWRE0gUmVzcG9uc2UgUmVjZWl2ZWQiLAo+ID4gPiArCS8qIDB4QTAgKi8gIlVuZXhw ZWN0ZWQgVm9sdGFnZSBvbiBWYnVzIiwKPiA+ID4gKwkvKiAweEExICovICJUeXBlLUMgRXJyb3Ig UmVjb3ZlcnkiLAo+ID4gPiArCS8qIDB4QTIgKi8gIjB4QTIiLAo+ID4gPiArCS8qIDB4QTMgKi8g IjB4QTMiLAo+ID4gPiArCS8qIDB4QTQgKi8gIjB4QTQiLAo+ID4gPiArCS8qIDB4QTUgKi8gIjB4 QTUiLAo+ID4gPiArCS8qIDB4QTYgKi8gIkVNQ0EgRGV0ZWN0ZWQiLAo+ID4gPiArCS8qIDB4QTcg Ki8gIjB4QTciLAo+ID4gPiArCS8qIDB4QTggKi8gIjB4QTgiLAo+ID4gPiArCS8qIDB4QTkgKi8g IjB4QTkiLAo+ID4gPiArCS8qIDB4QUEgKi8gIlJwIENoYW5nZSBEZXRlY3RlZCIsCj4gPiA+ICt9 Owo+ID4gCj4gPiBUaG9zZSBsb29rcyBsaWtlIHNvbWV0aGluZyB0aGF0IHlvdSBjb3VsZCB1c2Ug aW4gYSB0cmFjZXBvaW50Lgo+IFRoZXNlIGFyZSB2YXJpb3VzIGV2ZW50cyBzZW50IGZyb20gY2Nn IGNvbnRyb2xsZXIgaW4gcmVzcG9uc2UgdG8gYSBjbWQuIFdlIHVzZSBpdAo+IHRvIGRpc3BsYXkg bWVzc2FnZSBmcm9tIGFueSBlcnJvciBldmVudHMuCj4gCj4gPiBDYW4geW91IGNoZWNrIGhvdyBt dWNoIHdvdWxkIGl0IHRha2UgdG8gaW1wbGVtZW50IHRyYWNlcG9pbnRzIGZvciB0aGlzIGRyaXZl ci4KPiA+IFRoZXkgd291bGQgYmUgbW9yZSB1c2VmdWwgY29tcGFyZWQgdG8gdGhlIGRldl9kYmco KSB5b3UgYXJlIHVzaW5nIG5vdy4KPiBJcyBpdCBva2F5IHRvIGFkZCBuZXcgdHJhY2Vwb2ludCBm b3IgdWNzaV9jY2cgZHJpdmVyIG9yIHRvIHJldXNlIGRyaXZlcnMvdXNiL3R5cGVjL3Vjc2kvdHJh Y2UuYywgdHJhY2UuaCA/CgpJIGRvbid0IGtub3cgYWN0dWFsbHkgd2hhdCBpcyB0aGUgYmVzdCBh cHByb2FjaC4KCkNhbiB5b3Ugc2tpcCB0aG9zZSBkZWJ1ZyBtZXNzYWdlcyBmb3Igbm93LiBUaGV5 IG5lZWQgdG8gYmUgYWRkZWQgaW4gYQpzZXBhcmF0ZSBwYXRjaCBpbiBhbnkgY2FzZS4gT3IgcGF0 Y2hlcyBhY3R1YWxseS4KCkkgdGhpbmsgaXQgd291bGQgYmUgYmV0dGVyIHRoYXQgeW91IGZpcnN0 IGludHJvZHVjZSB0aGUgZmVhdHVyZQp3aXRob3V0IGFueSBkZWJ1Z2dpbmcgcHJpbnRzLiBBZGQg dGhlIGRlYnVnZ2luZyBhZnRlciB0aGUgZmVhdHVyZSBpcwppbi4KClNvIGluIHlvdXIgbmV4dCB2 ZXJzaW9uLCBkcm9wIGFsbCBkZXZfZGJnKCkgcHJpbnRzIGZyb20gYWxsIHBhdGNoZXMgaW4KdGhl IHNlcmllcy4KCgp0aGFua3MsCg==