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: USB: serial: ftdi_sio: implement GPIO support for FT230X From: kbuild test robot Message-Id: <201808280850.fKB9HokO%fengguang.wu@intel.com> Date: Tue, 28 Aug 2018 08:44:33 +0800 To: Karoly Pados Cc: kbuild-all@01.org, Johan Hovold , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: SGkgS2Fyb2x5LAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2ghIFlldCBzb21ldGhpbmcgdG8gaW1w cm92ZToKClthdXRvIGJ1aWxkIHRlc3QgRVJST1Igb24gdXNiLXNlcmlhbC91c2ItbmV4dF0KW2Fs c28gYnVpbGQgdGVzdCBFUlJPUiBvbiB2NC4xOS1yYzEgbmV4dC0yMDE4MDgyN10KW2lmIHlvdXIg cGF0Y2ggaXMgYXBwbGllZCB0byB0aGUgd3JvbmcgZ2l0IHRyZWUsIHBsZWFzZSBkcm9wIHVzIGEg bm90ZSB0byBoZWxwIGltcHJvdmUgdGhlIHN5c3RlbV0KCnVybDogICAgaHR0cHM6Ly9naXRodWIu Y29tLzBkYXktY2kvbGludXgvY29tbWl0cy9LYXJvbHktUGFkb3MvVVNCLXNlcmlhbC1mdGRpX3Np by1pbXBsZW1lbnQtR1BJTy1zdXBwb3J0LWZvci1GVDIzMFgvMjAxODA4MjctMDA1OTAyCmJhc2U6 ICAgaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvam9oYW4v dXNiLXNlcmlhbC5naXQgdXNiLW5leHQKY29uZmlnOiBtaXBzLXJtMjAwX2RlZmNvbmZpZyAoYXR0 YWNoZWQgYXMgLmNvbmZpZykKY29tcGlsZXI6IG1pcHNlbC1saW51eC1nbnUtZ2NjIChEZWJpYW4g Ny4yLjAtMTEpIDcuMi4wCnJlcHJvZHVjZToKICAgICAgICB3Z2V0IGh0dHBzOi8vcmF3LmdpdGh1 YnVzZXJjb250ZW50LmNvbS9pbnRlbC9sa3AtdGVzdHMvbWFzdGVyL3NiaW4vbWFrZS5jcm9zcyAt TyB+L2Jpbi9tYWtlLmNyb3NzCiAgICAgICAgY2htb2QgK3ggfi9iaW4vbWFrZS5jcm9zcwogICAg ICAgICMgc2F2ZSB0aGUgYXR0YWNoZWQgLmNvbmZpZyB0byBsaW51eCBidWlsZCB0cmVlCiAgICAg ICAgR0NDX1ZFUlNJT049Ny4yLjAgbWFrZS5jcm9zcyBBUkNIPW1pcHMgCgpBbGwgZXJyb3JzIChu ZXcgb25lcyBwcmVmaXhlZCBieSA+Pik6CgogICBkcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8u YzogSW4gZnVuY3Rpb24gJ2Z0ZGlfc2lvX3BvcnRfcHJvYmUnOgo+PiBkcml2ZXJzL3VzYi9zZXJp YWwvZnRkaV9zaW8uYzoyMDkwOjMwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mICdmdGRp X3Npb19ncGlvX2luaXQnIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1p bmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgICByZXN1bHQgPSBmdGRpX3Npb19ncGlvX2lu aXQocG9ydCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn4KICAgZHJpdmVy cy91c2Ivc2VyaWFsL2Z0ZGlfc2lvLmM6MjAzMDoxMjogbm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCB1 c2Jfc2VyaWFsIConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgdXNiX3NlcmlhbF9w b3J0IConCiAgICBzdGF0aWMgaW50IGZ0ZGlfc2lvX2dwaW9faW5pdChzdHJ1Y3QgdXNiX3Nlcmlh bCAqc2VyaWFsKQogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgZHJpdmVycy91 c2Ivc2VyaWFsL2Z0ZGlfc2lvLmM6IEluIGZ1bmN0aW9uICdmdGRpX3Npb19wb3J0X3JlbW92ZSc6 Cj4+IGRyaXZlcnMvdXNiL3NlcmlhbC9mdGRpX3Npby5jOjIyMTM6MjM6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDEgb2YgJ2Z0ZGlfc2lvX2dwaW9fcmVtb3ZlJyBmcm9tIGluY29tcGF0aWJsZSBw b2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgICAgZnRk aV9zaW9fZ3Bpb19yZW1vdmUocG9ydCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fgog ICBkcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uYzoyMDM1OjEzOiBub3RlOiBleHBlY3RlZCAn c3RydWN0IHVzYl9zZXJpYWwgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ3N0cnVjdCB1c2Jf c2VyaWFsX3BvcnQgKicKICAgIHN0YXRpYyB2b2lkIGZ0ZGlfc2lvX2dwaW9fcmVtb3ZlKHN0cnVj dCB1c2Jfc2VyaWFsICpzZXJpYWwpCiAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fgogICBjYzE6IHNvbWUgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCnZpbSArL2Z0 ZGlfc2lvX2dwaW9faW5pdCArMjA5MCBkcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uYwoKICAy MDY1CQogIDIwNjYJc3RhdGljIGludCBmdGRpX3Npb19wb3J0X3Byb2JlKHN0cnVjdCB1c2Jfc2Vy aWFsX3BvcnQgKnBvcnQpCiAgMjA2Nwl7CiAgMjA2OAkJc3RydWN0IGZ0ZGlfcHJpdmF0ZSAqcHJp djsKICAyMDY5CQljb25zdCBzdHJ1Y3QgZnRkaV9zaW9fcXVpcmsgKnF1aXJrID0gdXNiX2dldF9z ZXJpYWxfZGF0YShwb3J0LT5zZXJpYWwpOwogIDIwNzAJCWludCByZXN1bHQ7CiAgMjA3MQkKICAy MDcyCQlwcml2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGZ0ZGlfcHJpdmF0ZSksIEdGUF9LRVJO RUwpOwogIDIwNzMJCWlmICghcHJpdikKICAyMDc0CQkJcmV0dXJuIC1FTk9NRU07CiAgMjA3NQkK ICAyMDc2CQltdXRleF9pbml0KCZwcml2LT5jZmdfbG9jayk7CiAgMjA3NwkKICAyMDc4CQlpZiAo cXVpcmsgJiYgcXVpcmstPnBvcnRfcHJvYmUpCiAgMjA3OQkJCXF1aXJrLT5wb3J0X3Byb2JlKHBy aXYpOwogIDIwODAJCiAgMjA4MQkJdXNiX3NldF9zZXJpYWxfcG9ydF9kYXRhKHBvcnQsIHByaXYp OwogIDIwODIJCiAgMjA4MwkJZnRkaV9kZXRlcm1pbmVfdHlwZShwb3J0KTsKICAyMDg0CQlmdGRp X3NldF9tYXhfcGFja2V0X3NpemUocG9ydCk7CiAgMjA4NQkJaWYgKHJlYWRfbGF0ZW5jeV90aW1l cihwb3J0KSA8IDApCiAgMjA4NgkJCXByaXYtPmxhdGVuY3kgPSAxNjsKICAyMDg3CQl3cml0ZV9s YXRlbmN5X3RpbWVyKHBvcnQpOwogIDIwODgJCWNyZWF0ZV9zeXNmc19hdHRycyhwb3J0KTsKICAy MDg5CQo+IDIwOTAJCXJlc3VsdCA9IGZ0ZGlfc2lvX2dwaW9faW5pdChwb3J0KTsKICAyMDkxCQlp ZiAocmVzdWx0IDwgMCkKICAyMDkyCQkJZGV2X2VycigmcG9ydC0+c2VyaWFsLT5pbnRlcmZhY2Ut PmRldiwKICAyMDkzCQkJCSJHUElPIGluaXRpYWxpc2F0aW9uIGZhaWxlZDogJWRcbiIsCiAgMjA5 NAkJCQlyZXN1bHQpOwogIDIwOTUJCiAgMjA5NgkJcmV0dXJuIDA7CiAgMjA5Nwl9CiAgMjA5OAkK ICAyMDk5CS8qIFNldHVwIGZvciB0aGUgVVNCLVVJUlQgZGV2aWNlLCB3aGljaCByZXF1aXJlcyBo YXJkd2lyZWQKICAyMTAwCSAqIGJhdWRyYXRlICgzODQwMCBnZXRzIG1hcHBlZCB0byAzMTI1MDAp ICovCiAgMjEwMQkvKiBDYWxsZWQgZnJvbSB1c2JzZXJpYWw6c2VyaWFsX3Byb2JlICovCiAgMjEw MglzdGF0aWMgdm9pZCBmdGRpX1VTQl9VSVJUX3NldHVwKHN0cnVjdCBmdGRpX3ByaXZhdGUgKnBy aXYpCiAgMjEwMwl7CiAgMjEwNAkJcHJpdi0+ZmxhZ3MgfD0gQVNZTkNfU1BEX0NVU1Q7CiAgMjEw NQkJcHJpdi0+Y3VzdG9tX2Rpdmlzb3IgPSA3NzsKICAyMTA2CQlwcml2LT5mb3JjZV9iYXVkID0g Mzg0MDA7CiAgMjEwNwl9CiAgMjEwOAkKICAyMTA5CS8qIFNldHVwIGZvciB0aGUgSEUtVElSQTEg ZGV2aWNlLCB3aGljaCByZXF1aXJlcyBoYXJkd2lyZWQKICAyMTEwCSAqIGJhdWRyYXRlICgzODQw MCBnZXRzIG1hcHBlZCB0byAxMDAwMDApIGFuZCBSVFMtQ1RTIGVuYWJsZWQuICAqLwogIDIxMTEJ CiAgMjExMglzdGF0aWMgdm9pZCBmdGRpX0hFX1RJUkExX3NldHVwKHN0cnVjdCBmdGRpX3ByaXZh dGUgKnByaXYpCiAgMjExMwl7CiAgMjExNAkJcHJpdi0+ZmxhZ3MgfD0gQVNZTkNfU1BEX0NVU1Q7 CiAgMjExNQkJcHJpdi0+Y3VzdG9tX2Rpdmlzb3IgPSAyNDA7CiAgMjExNgkJcHJpdi0+Zm9yY2Vf YmF1ZCA9IDM4NDAwOwogIDIxMTcJCXByaXYtPmZvcmNlX3J0c2N0cyA9IDE7CiAgMjExOAl9CiAg MjExOQkKICAyMTIwCS8qCiAgMjEyMQkgKiBNb2R1bGUgcGFyYW1ldGVyIHRvIGNvbnRyb2wgbGF0 ZW5jeSB0aW1lciBmb3IgTkRJIEZUREktYmFzZWQgVVNCIGRldmljZXMuCiAgMjEyMgkgKiBJZiB0 aGlzIHZhbHVlIGlzIG5vdCBzZXQgaW4gL2V0Yy9tb2Rwcm9iZS5kLyBpdHMgdmFsdWUgd2lsbCBi ZSBzZXQKICAyMTIzCSAqIHRvIDFtcy4KICAyMTI0CSAqLwogIDIxMjUJc3RhdGljIGludCBuZGlf bGF0ZW5jeV90aW1lciA9IDE7CiAgMjEyNgkKICAyMTI3CS8qIFNldHVwIGZvciB0aGUgTkRJIEZU REktYmFzZWQgVVNCIGRldmljZXMsIHdoaWNoIHJlcXVpcmVzIGhhcmR3aXJlZAogIDIxMjgJICog YmF1ZHJhdGUgKDE5MjAwIGdldHMgbWFwcGVkIHRvIDEyMDAwMDApLgogIDIxMjkJICoKICAyMTMw CSAqIENhbGxlZCBmcm9tIHVzYnNlcmlhbDpzZXJpYWxfcHJvYmUuCiAgMjEzMQkgKi8KICAyMTMy CXN0YXRpYyBpbnQgZnRkaV9ORElfZGV2aWNlX3NldHVwKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJp YWwpCiAgMjEzMwl7CiAgMjEzNAkJc3RydWN0IHVzYl9kZXZpY2UgKnVkZXYgPSBzZXJpYWwtPmRl djsKICAyMTM1CQlpbnQgbGF0ZW5jeSA9IG5kaV9sYXRlbmN5X3RpbWVyOwogIDIxMzYJCiAgMjEz NwkJaWYgKGxhdGVuY3kgPT0gMCkKICAyMTM4CQkJbGF0ZW5jeSA9IDE7CiAgMjEzOQkJaWYgKGxh dGVuY3kgPiA5OSkKICAyMTQwCQkJbGF0ZW5jeSA9IDk5OwogIDIxNDEJCiAgMjE0MgkJZGV2X2Ri ZygmdWRldi0+ZGV2LCAiJXMgc2V0dGluZyBOREkgZGV2aWNlIGxhdGVuY3kgdG8gJWRcbiIsIF9f ZnVuY19fLCBsYXRlbmN5KTsKICAyMTQzCQlkZXZfaW5mbygmdWRldi0+ZGV2LCAiTkRJIGRldmlj ZSB3aXRoIGEgbGF0ZW5jeSB2YWx1ZSBvZiAlZFxuIiwgbGF0ZW5jeSk7CiAgMjE0NAkKICAyMTQ1 CQkvKiBGSVhNRTogZXJyb3JzIGFyZSBub3QgcmV0dXJuZWQgKi8KICAyMTQ2CQl1c2JfY29udHJv bF9tc2codWRldiwgdXNiX3NuZGN0cmxwaXBlKHVkZXYsIDApLAogIDIxNDcJCQkJCUZURElfU0lP X1NFVF9MQVRFTkNZX1RJTUVSX1JFUVVFU1QsCiAgMjE0OAkJCQkJRlRESV9TSU9fU0VUX0xBVEVO Q1lfVElNRVJfUkVRVUVTVF9UWVBFLAogIDIxNDkJCQkJCWxhdGVuY3ksIDAsIE5VTEwsIDAsIFdE Ul9USU1FT1VUKTsKICAyMTUwCQlyZXR1cm4gMDsKICAyMTUxCX0KICAyMTUyCQogIDIxNTMJLyoK ICAyMTU0CSAqIEZpcnN0IHBvcnQgb24gSlRBRyBhZGFwdG9ycyBzdWNoIGFzIE9saW1leCBhcm0t dXNiLW9jZCBvciB0aGUgRklDL09wZW5Nb2tvCiAgMjE1NQkgKiBOZW8xOTczIERlYnVnIEJvYXJk IGlzIHJlc2VydmVkIGZvciBKVEFHIGludGVyZmFjZSBhbmQgY2FuIGJlIGFjY2Vzc2VkIGZyb20K ICAyMTU2CSAqIHVzZXJzcGFjZSB1c2luZyBvcGVub2NkLgogIDIxNTcJICovCiAgMjE1OAlzdGF0 aWMgaW50IGZ0ZGlfanRhZ19wcm9iZShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsKQogIDIxNTkJ ewogIDIxNjAJCXN0cnVjdCB1c2JfZGV2aWNlICp1ZGV2ID0gc2VyaWFsLT5kZXY7CiAgMjE2MQkJ c3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGVyZmFjZSA9IHNlcmlhbC0+aW50ZXJmYWNlOwogIDIx NjIJCiAgMjE2MwkJaWYgKGludGVyZmFjZSA9PSB1ZGV2LT5hY3Rjb25maWctPmludGVyZmFjZVsw XSkgewogIDIxNjQJCQlkZXZfaW5mbygmdWRldi0+ZGV2LAogIDIxNjUJCQkJICJJZ25vcmluZyBz ZXJpYWwgcG9ydCByZXNlcnZlZCBmb3IgSlRBR1xuIik7CiAgMjE2NgkJCXJldHVybiAtRU5PREVW OwogIDIxNjcJCX0KICAyMTY4CQogIDIxNjkJCXJldHVybiAwOwogIDIxNzAJfQogIDIxNzEJCiAg MjE3MglzdGF0aWMgaW50IGZ0ZGlfOHUyMjMyY19wcm9iZShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2Vy aWFsKQogIDIxNzMJewogIDIxNzQJCXN0cnVjdCB1c2JfZGV2aWNlICp1ZGV2ID0gc2VyaWFsLT5k ZXY7CiAgMjE3NQkKICAyMTc2CQlpZiAodWRldi0+bWFudWZhY3R1cmVyICYmICFzdHJjbXAodWRl di0+bWFudWZhY3R1cmVyLCAiQ0FMQU8gU3lzdGVtcyIpKQogIDIxNzcJCQlyZXR1cm4gZnRkaV9q dGFnX3Byb2JlKHNlcmlhbCk7CiAgMjE3OAkKICAyMTc5CQlpZiAodWRldi0+cHJvZHVjdCAmJgog IDIxODAJCQkoIXN0cmNtcCh1ZGV2LT5wcm9kdWN0LCAiQXJyb3cgVVNCIEJsYXN0ZXIiKSB8fAog IDIxODEJCQkgIXN0cmNtcCh1ZGV2LT5wcm9kdWN0LCAiQmVhZ2xlQm9uZS9YRFMxMDBWMiIpIHx8 CiAgMjE4MgkJCSAhc3RyY21wKHVkZXYtPnByb2R1Y3QsICJTTkFQIENvbm5lY3QgRTEwIikpKQog IDIxODMJCQlyZXR1cm4gZnRkaV9qdGFnX3Byb2JlKHNlcmlhbCk7CiAgMjE4NAkKICAyMTg1CQly ZXR1cm4gMDsKICAyMTg2CX0KICAyMTg3CQogIDIxODgJLyoKICAyMTg5CSAqIEZpcnN0IHR3byBw b3J0cyBvbiBKVEFHIGFkYXB0b3JzIHVzaW5nIGFuIEZUNDIzMiBzdWNoIGFzIFNUTWljcm9lbGVj dHJvbmljcydzCiAgMjE5MAkgKiBTVCBNaWNybyBDb25uZWN0IExpdGUgYXJlIHJlc2VydmVkIGZv ciBKVEFHIG9yIG90aGVyIG5vbi1VQVJUIGludGVyZmFjZXMgYW5kCiAgMjE5MQkgKiBjYW4gYmUg YWNjZXNzZWQgZnJvbSB1c2Vyc3BhY2UuCiAgMjE5MgkgKiBUaGUgbmV4dCB0d28gcG9ydHMgYXJl IGVuYWJsZWQgYXMgVUFSVHMgYnkgZGVmYXVsdCwgd2hlcmUgcG9ydCAyIGlzCiAgMjE5MwkgKiBh IGNvbnZlbnRpb25hbCBSUy0yMzIgVUFSVC4KICAyMTk0CSAqLwogIDIxOTUJc3RhdGljIGludCBm dGRpX3N0bWNsaXRlX3Byb2JlKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwpCiAgMjE5Ngl7CiAg MjE5NwkJc3RydWN0IHVzYl9kZXZpY2UgKnVkZXYgPSBzZXJpYWwtPmRldjsKICAyMTk4CQlzdHJ1 Y3QgdXNiX2ludGVyZmFjZSAqaW50ZXJmYWNlID0gc2VyaWFsLT5pbnRlcmZhY2U7CiAgMjE5OQkK ICAyMjAwCQlpZiAoaW50ZXJmYWNlID09IHVkZXYtPmFjdGNvbmZpZy0+aW50ZXJmYWNlWzBdIHx8 CiAgMjIwMQkJICAgIGludGVyZmFjZSA9PSB1ZGV2LT5hY3Rjb25maWctPmludGVyZmFjZVsxXSkg ewogIDIyMDIJCQlkZXZfaW5mbygmdWRldi0+ZGV2LCAiSWdub3Jpbmcgc2VyaWFsIHBvcnQgcmVz ZXJ2ZWQgZm9yIEpUQUdcbiIpOwogIDIyMDMJCQlyZXR1cm4gLUVOT0RFVjsKICAyMjA0CQl9CiAg MjIwNQkKICAyMjA2CQlyZXR1cm4gMDsKICAyMjA3CX0KICAyMjA4CQogIDIyMDkJc3RhdGljIGlu dCBmdGRpX3Npb19wb3J0X3JlbW92ZShzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0KQogIDIy MTAJewogIDIyMTEJCXN0cnVjdCBmdGRpX3ByaXZhdGUgKnByaXYgPSB1c2JfZ2V0X3NlcmlhbF9w b3J0X2RhdGEocG9ydCk7CiAgMjIxMgkKPiAyMjEzCQlmdGRpX3Npb19ncGlvX3JlbW92ZShwb3J0 KTsKICAyMjE0CQogIDIyMTUJCXJlbW92ZV9zeXNmc19hdHRycyhwb3J0KTsKICAyMjE2CQogIDIy MTcJCWtmcmVlKHByaXYpOwogIDIyMTgJCiAgMjIxOQkJcmV0dXJuIDA7CiAgMjIyMAl9CiAgMjIy MQotLS0KMC1EQVkga2VybmVsIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgICAgICAgICAgICAgICAgT3Bl biBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKaHR0cHM6Ly9saXN0cy4wMS5vcmcvcGlwZXJtYWls L2tidWlsZC1hbGwgICAgICAgICAgICAgICAgICAgSW50ZWwgQ29ycG9yYXRpb24K