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: [1/7] usb: typec: ucsi: add get_fw_info function From: Heikki Krogerus Message-Id: <20190118145308.GD17706@kuha.fi.intel.com> Date: Fri, 18 Jan 2019 16:53:08 +0200 To: Ajay Gupta Cc: linux-usb@vger.kernel.org List-ID: SGkgQWpheSwKCk9uIFRodSwgSmFuIDE3LCAyMDE5IGF0IDA1OjA5OjAzUE0gLTA4MDAsIEFqYXkg R3VwdGEgd3JvdGU6Cj4gRnVuY3Rpb24gaXMgdG8gZ2V0IHRoZSBkZXRhaWxzIG9mIGNjZyBmaXJt d2FyZSBhbmQgZGV2aWNlIHZlcnNpb24uCj4gCj4gU2lnbmVkLW9mZi1ieTogQWpheSBHdXB0YSA8 YWpheWdAbnZpZGlhLmNvbT4KPiAtLS0KPiAgZHJpdmVycy91c2IvdHlwZWMvdWNzaS91Y3NpX2Nj Zy5jIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAxIGZpbGUgY2hhbmdl ZCwgNzQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy91c2IvdHlwZWMvdWNzaS91Y3NpX2NjZy5jIGIvZHJpdmVycy91c2IvdHlwZWMvdWNzaS91 Y3NpX2NjZy5jCj4gaW5kZXggZGU4YTQzYmRmZjY4Li40ZDM1Mjc5YWI4NTMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy91c2IvdHlwZWMvdWNzaS91Y3NpX2NjZy5jCj4gKysrIGIvZHJpdmVycy91c2Iv dHlwZWMvdWNzaS91Y3NpX2NjZy5jCj4gQEAgLTE3LDE1ICsxNyw0NiBAQAo+ICAjaW5jbHVkZSA8 YXNtL3VuYWxpZ25lZC5oPgo+ICAjaW5jbHVkZSAidWNzaS5oIgo+ICAKPiArc3RydWN0IGNjZ19k ZXZfaW5mbyB7Cj4gKwl1OCBmd19tb2RlOjI7Cj4gKwl1OCB0d29fcGRfcG9ydHM6MjsKPiArCXU4 IHJvd19zaXplXzI1NjoyOwo+ICsJdTg6MTsgLyogcmVzZXJ2ZWQgKi8KPiArCXU4IGhwaV92Ml9t b2RlOjE7Cj4gKwl1OCBibF9tb2RlOjE7Cj4gKwl1OCBjZmd0YmxfaW52YWxpZDoxOwo+ICsJdTgg ZncxX2ludmFsaWQ6MTsKPiArCXU4IGZ3Ml9pbnZhbGlkOjE7Cj4gKwl1ODo0OyAvKiByZXNlcnZl ZCAqLwo+ICsJdTE2IHNpbGljb25faWQ7Cj4gKwl1MTYgYmxfbGFzdF9yb3c7Cj4gK30gX19wYWNr ZWQ7Cj4gKwo+ICtzdHJ1Y3QgdmVyc2lvbl9mb3JtYXQgewo+ICsJdTE2IGJ1aWxkOwo+ICsJdTgg cGF0Y2g7Cj4gKwl1OCBtaW46NDsKPiArCXU4IG1hajo0Owo+ICt9OwoKRG9uJ3QgdXNlIGJpdCBm aWVsZHMuIFdlIHNob3VsZG4ndCB1c2UgdGhlbSBldmVuIGluIHRoZSBjb3JlIHVjc2kKZHJpdmVy IHdpdGggdGhlIG1lc3NhZ2UgZGF0YSBzdHJ1Y3R1cmVzIGxpa2Ugd2UgZG8uCgo+ICtzdHJ1Y3Qg dmVyc2lvbl9pbmZvIHsKPiArCXN0cnVjdCB2ZXJzaW9uX2Zvcm1hdCBiYXNlOwo+ICsJc3RydWN0 IHZlcnNpb25fZm9ybWF0IGFwcDsKPiArfTsKPiArCj4gIHN0cnVjdCB1Y3NpX2NjZyB7Cj4gIAlz dHJ1Y3QgZGV2aWNlICpkZXY7Cj4gIAlzdHJ1Y3QgdWNzaSAqdWNzaTsKPiAgCXN0cnVjdCB1Y3Np X3BwbSBwcG07Cj4gIAlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50Owo+ICsJc3RydWN0IGNjZ19k ZXZfaW5mbyBpbmZvOwo+ICB9Owo+ICAKPiAtI2RlZmluZSBDQ0dYX1JBQl9JTlRSX1JFRwkJCTB4 MDYKPiAtI2RlZmluZSBDQ0dYX1JBQl9VQ1NJX0NPTlRST0wJCQkweDM5Cj4gKyNkZWZpbmUgQ0NH WF9SQUJfREVWSUNFX01PREUJCQkweDAwMDAKPiArI2RlZmluZSBDQ0dYX1JBQl9JTlRSX1JFRwkJ CTB4MDAwNgo+ICsjZGVmaW5lIENDR1hfUkFCX1JFQURfQUxMX1ZFUgkJCTB4MDAxMAo+ICsjZGVm aW5lIENDR1hfUkFCX1JFQURfRlcyX1ZFUgkJCTB4MDAyMAo+ICsjZGVmaW5lIENDR1hfUkFCX1VD U0lfQ09OVFJPTAkJCTB4MDAzOQo+ICAjZGVmaW5lIENDR1hfUkFCX1VDU0lfQ09OVFJPTF9TVEFS VAkJQklUKDApCj4gICNkZWZpbmUgQ0NHWF9SQUJfVUNTSV9DT05UUk9MX1NUT1AJCUJJVCgxKQo+ ICAjZGVmaW5lIENDR1hfUkFCX1VDU0lfREFUQV9CTE9DSyhvZmZzZXQpCSgweGYwMDAgfCAoKG9m ZnNldCkgJiAweGZmKSkKPiBAQCAtMjIwLDYgKzI1MSw0MSBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qg Y2NnX2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRhdGEpCj4gIAlyZXR1cm4gSVJRX0hBTkRM RUQ7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQgZ2V0X2Z3X2luZm8oc3RydWN0IHVjc2lfY2NnICp1 YykKPiArewo+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gdWMtPmRldjsKPiArCXN0cnVjdCB2ZXJz aW9uX2luZm8gdmVyc2lvblszXTsKPiArCXN0cnVjdCB2ZXJzaW9uX2luZm8gKnY7Cj4gKwlpbnQg ZXJyLCBpOwo+ICsKPiArCWVyciA9IGNjZ19yZWFkKHVjLCBDQ0dYX1JBQl9SRUFEX0FMTF9WRVIs ICh1OCAqKSgmdmVyc2lvbiksCj4gKwkJICAgICAgIHNpemVvZih2ZXJzaW9uKSk7Cj4gKwlpZiAo ZXJyIDwgMCkKPiArCQlyZXR1cm4gZXJyOwo+ICsKPiArCWZvciAoaSA9IDE7IGkgPCBBUlJBWV9T SVpFKHZlcnNpb24pOyBpKyspIHsKPiArCQl2ID0gJnZlcnNpb25baV07Cj4gKwkJZGV2X2RiZyhk ZXYsCj4gKwkJCSJGVyVkIFZlcnNpb246ICVjJWMgdiV4LiV4JXgsIFtCYXNlICVkLiVkLiVkLiVk XVxuIiwKPiArCQkJaSwgKHYtPmFwcC5idWlsZCA+PiA4KSwgKHYtPmFwcC5idWlsZCAmIDB4RkYp LAo+ICsJCQl2LT5hcHAucGF0Y2gsIHYtPmFwcC5tYWosIHYtPmFwcC5taW4sCj4gKwkJCXYtPmJh c2UubWFqLCB2LT5iYXNlLm1pbiwgdi0+YmFzZS5wYXRjaCwKPiArCQkJdi0+YmFzZS5idWlsZCk7 CgpIb3cgYWJvdXQgYSBzeXNmcyBmaWxlIHNob3dpbmcgdGhlIGZ3IHZlcnNpb24/Cgo+ICsJfQo+ ICsKPiArCWVyciA9IGNjZ19yZWFkKHVjLCBDQ0dYX1JBQl9ERVZJQ0VfTU9ERSwgKHU4ICopKCZ1 Yy0+aW5mbyksCj4gKwkJICAgICAgIHNpemVvZih1Yy0+aW5mbykpOwo+ICsJaWYgKGVyciA8IDAp Cj4gKwkJcmV0dXJuIGVycjsKPiArCj4gKwlkZXZfZGJnKGRldiwgImZ3X21vZGU6ICVkXG4iLCB1 Yy0+aW5mby5md19tb2RlKTsKPiArCWRldl9kYmcoZGV2LCAiZncxX2ludmFsaWQ6ICVkXG4iLCB1 Yy0+aW5mby5mdzFfaW52YWxpZCk7Cj4gKwlkZXZfZGJnKGRldiwgImZ3Ml9pbnZhbGlkOiAlZFxu IiwgdWMtPmluZm8uZncyX2ludmFsaWQpOwo+ICsJZGV2X2RiZyhkZXYsICJzaWxpY29uX2lkOiAw eCUwNHhcbiIsIHVjLT5pbmZvLnNpbGljb25faWQpOwoKQXJlIHRob3NlIHByaW50cyByZWFsbHkg dXNlZnVsIGZvciBhbnlib2R5PwoKSWYgeW91IG5lZWQgdGhlIHZhbHVlcyBmcm9tIHRoYXQgY2Nn X2Rldl9pbmZvIGZvciBkZWJ1Z2dpbmcsIHRoZW4gSQp0aGluayBkZWJ1Z2ZzIGlzIHRoZSBhcHBy b3ByaWF0ZSBwbGFjZSB0byBleHBvc2UgdGhlbS4KCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAg c3RhdGljIGludCB1Y3NpX2NjZ19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+ICAJ CQkgIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPiAgewo+IEBAIC0yNDgsNiArMzE0 LDEyIEBAIHN0YXRpYyBpbnQgdWNzaV9jY2dfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCwKPiAgCQlyZXR1cm4gc3RhdHVzOwo+ICAJfQo+ICAKPiArCXN0YXR1cyA9IGdldF9md19pbmZv KHVjKTsKPiArCWlmIChzdGF0dXMgPCAwKSB7Cj4gKwkJZGV2X2Vycih1Yy0+ZGV2LCAiZ2V0X2Z3 X2luZm8gZmFpbGVkIC0gJWRcbiIsIHN0YXR1cyk7Cj4gKwkJcmV0dXJuIHN0YXR1czsKPiArCX0K PiArCj4gIAlzdGF0dXMgPSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRfaXJxKGRldiwgY2xpZW50LT5p cnEsIE5VTEwsCj4gIAkJCQkJICAgY2NnX2lycV9oYW5kbGVyLAo+ICAJCQkJCSAgIElSUUZfT05F U0hPVCB8IElSUUZfVFJJR0dFUl9ISUdILAo+IC0tIAo+IDIuMTcuMQoKQnIsCg==