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/3] usb: gadget: configfs: Create control_config group From: Jerry Zhang Message-Id: <20180702220103.176398-2-zhangjerry@google.com> Date: Mon, 2 Jul 2018 15:01:01 -0700 To: Felipe Balbi , Michal Nazarewicz , Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, zhangjerry@google.com, jerryxzha@gmail.com, android-kernel-team@google.com List-ID: Q29udHJvbF9jb25maWcgaXMgYSBncm91cCB1bmRlciBnYWRnZXQgdGhhdCBhY3RzCmFzIGEgbm9y bWFsIGNvbmZpZyBncm91cCwgZXhjZXB0IGl0IGRvZXMgbm90CmFwcGVhciBpbiBjZGV2LT5jb25m aWdzLgoKRnVuY3Rpb25zIHRoYXQgaGF2ZSBleGFjdGx5IHplcm8gZGVzY3JpcHRvcnMgY2FuCmJl IGxpbmtlZCBpbnRvIGNvbnRyb2xfY29uZmlnLiBUaGVzZSBmdW5jdGlvbnMKYXJlIGJvdW5kIGFu ZCB1bmJvdW5kIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGdhZGdldCwKYnV0IGFyZSBuZXZlciBlbmFi bGVkLiBBbHNvLCBmdW5jdGlvbnMgd2l0aCB6ZXJvCmRlc2NyaXB0b3JzIGNhbm5vdCBiZSB1c2Vk IGluIHJlYWwgY29uZmlncy4KCkNyZWF0ZSBjb25maWdmc19zZXR1cCgpLCB3aGljaCB3aWxsIGZp cnN0IGF0dGVtcHQKY29tcG9zaXRlIHNldHVwLiBJZiB0aGF0IGZhaWxzLCBpdCB3aWxsIGdvIHRo cm91Z2gKZnVuY3Rpb25zIGluIGNvbnRyb2xfY29uZmlnIGFuZCB1c2UgcmVxX21hdGNoIHRvCmZp bmQgYW5kIGRlbGl2ZXIgdGhlIHJlcXVlc3QgdG8gYSBmdW5jdGlvbiB0aGF0IGNhbgpoYW5kbGUg aXQuCgpUaGlzIGFsbG93cyB0aGUgdXNlciB0byBjcmVhdGUgYSBmdW5jdGlvbmZzIGluc3RhbmNl CmRlZGljYXRlZCB0byBoYW5kbGluZyBub24tc3RhbmRhcmQgY29udHJvbCByZXF1ZXN0cwpubyBt YXR0ZXIgd2hhdCBmdW5jdGlvbnMgb3IgY29uZmlndXJhdGlvbnMgYXJlCmN1cnJlbnRseSBhY3Rp dmUuCgpTaWduZWQtb2ZmLWJ5OiBKZXJyeSBaaGFuZyA8emhhbmdqZXJyeUBnb29nbGUuY29tPgot LS0KIGRyaXZlcnMvdXNiL2dhZGdldC9jb25maWdmcy5jIHwgMTE0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspLCAxOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvY29uZmlnZnMuYyBi L2RyaXZlcnMvdXNiL2dhZGdldC9jb25maWdmcy5jCmluZGV4IGVmYmE2NmNhMDcxOS4uZWQzZDY3 NWVlN2JiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvY29uZmlnZnMuYworKysgYi9k cml2ZXJzL3VzYi9nYWRnZXQvY29uZmlnZnMuYwpAQCAtNDQsMTIgKzQ0LDIyIEBAIGludCBjaGVj a191c2VyX3VzYl9zdHJpbmcoY29uc3QgY2hhciAqbmFtZSwKIAogc3RhdGljIGNvbnN0IHN0cnVj dCB1c2JfZGVzY3JpcHRvcl9oZWFkZXIgKm90Z19kZXNjWzJdOwogCitzdHJ1Y3QgY29uZmlnX3Vz Yl9jZmcgeworCXN0cnVjdCBjb25maWdfZ3JvdXAgZ3JvdXA7CisJc3RydWN0IGNvbmZpZ19ncm91 cCBzdHJpbmdzX2dyb3VwOworCXN0cnVjdCBsaXN0X2hlYWQgc3RyaW5nX2xpc3Q7CisJc3RydWN0 IHVzYl9jb25maWd1cmF0aW9uIGM7CisJc3RydWN0IGxpc3RfaGVhZCBmdW5jX2xpc3Q7CisJc3Ry dWN0IHVzYl9nYWRnZXRfc3RyaW5ncyAqZ3N0cmluZ3NbTUFYX1VTQl9TVFJJTkdfTEFOR1MgKyAx XTsKK307CisKIHN0cnVjdCBnYWRnZXRfaW5mbyB7CiAJc3RydWN0IGNvbmZpZ19ncm91cCBncm91 cDsKIAlzdHJ1Y3QgY29uZmlnX2dyb3VwIGZ1bmN0aW9uc19ncm91cDsKIAlzdHJ1Y3QgY29uZmln X2dyb3VwIGNvbmZpZ3NfZ3JvdXA7CiAJc3RydWN0IGNvbmZpZ19ncm91cCBzdHJpbmdzX2dyb3Vw OwogCXN0cnVjdCBjb25maWdfZ3JvdXAgb3NfZGVzY19ncm91cDsKKwlzdHJ1Y3QgY29uZmlnX3Vz Yl9jZmcgY29udHJvbF9jb25maWc7CiAKIAlzdHJ1Y3QgbXV0ZXggbG9jazsKIAlzdHJ1Y3QgdXNi X2dhZGdldF9zdHJpbmdzICpnc3RyaW5nc1tNQVhfVVNCX1NUUklOR19MQU5HUyArIDFdOwpAQCAt NjgsMTUgKzc4LDYgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZ2FkZ2V0X2luZm8gKnRvX2dhZGdl dF9pbmZvKHN0cnVjdCBjb25maWdfaXRlbSAqaXRlbSkKIAkgcmV0dXJuIGNvbnRhaW5lcl9vZih0 b19jb25maWdfZ3JvdXAoaXRlbSksIHN0cnVjdCBnYWRnZXRfaW5mbywgZ3JvdXApOwogfQogCi1z dHJ1Y3QgY29uZmlnX3VzYl9jZmcgewotCXN0cnVjdCBjb25maWdfZ3JvdXAgZ3JvdXA7Ci0Jc3Ry dWN0IGNvbmZpZ19ncm91cCBzdHJpbmdzX2dyb3VwOwotCXN0cnVjdCBsaXN0X2hlYWQgc3RyaW5n X2xpc3Q7Ci0Jc3RydWN0IHVzYl9jb25maWd1cmF0aW9uIGM7Ci0Jc3RydWN0IGxpc3RfaGVhZCBm dW5jX2xpc3Q7Ci0Jc3RydWN0IHVzYl9nYWRnZXRfc3RyaW5ncyAqZ3N0cmluZ3NbTUFYX1VTQl9T VFJJTkdfTEFOR1MgKyAxXTsKLX07Ci0KIHN0YXRpYyBpbmxpbmUgc3RydWN0IGNvbmZpZ191c2Jf Y2ZnICp0b19jb25maWdfdXNiX2NmZyhzdHJ1Y3QgY29uZmlnX2l0ZW0gKml0ZW0pCiB7CiAJcmV0 dXJuIGNvbnRhaW5lcl9vZih0b19jb25maWdfZ3JvdXAoaXRlbSksIHN0cnVjdCBjb25maWdfdXNi X2NmZywKQEAgLTUxMiw2ICs1MTMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjb25maWdfaXRl bV90eXBlIGdhZGdldF9jb25maWdfdHlwZSA9IHsKIAkuY3Rfb3duZXIJPSBUSElTX01PRFVMRSwK IH07CiAKK3N0YXRpYyBzdHJ1Y3QgY29uZmlnZnNfaXRlbV9vcGVyYXRpb25zIGNvbnRyb2xfY29u ZmlnX2l0ZW1fb3BzID0geworCS5hbGxvd19saW5rICAgICAgICAgICAgID0gY29uZmlnX3VzYl9j ZmdfbGluaywKKwkuZHJvcF9saW5rICAgICAgICAgICAgICA9IGNvbmZpZ191c2JfY2ZnX3VubGlu aywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29uZmlnX2l0ZW1fdHlwZSBjb250cm9sX2Nv bmZpZ190eXBlID0geworCS5jdF9pdGVtX29wcwk9ICZjb250cm9sX2NvbmZpZ19pdGVtX29wcywK KwkuY3Rfb3duZXIJPSBUSElTX01PRFVMRSwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29u ZmlnX2l0ZW1fdHlwZSBnYWRnZXRfcm9vdF90eXBlID0gewogCS5jdF9pdGVtX29wcwk9ICZnYWRn ZXRfcm9vdF9pdGVtX29wcywKIAkuY3RfYXR0cnMJPSBnYWRnZXRfcm9vdF9hdHRycywKQEAgLTEy MDUsMTEgKzEyMTYsMTAgQEAgaW50IGNvbXBvc2l0ZV9vc19kZXNjX3JlcV9wcmVwYXJlKHN0cnVj dCB1c2JfY29tcG9zaXRlX2RldiAqY2RldiwKIHN0YXRpYyB2b2lkIHB1cmdlX2NvbmZpZ3NfZnVu Y3Moc3RydWN0IGdhZGdldF9pbmZvICpnaSkKIHsKIAlzdHJ1Y3QgdXNiX2NvbmZpZ3VyYXRpb24J KmM7CisJc3RydWN0IHVzYl9mdW5jdGlvbiAqZiwgKnRtcDsKKwlzdHJ1Y3QgY29uZmlnX3VzYl9j ZmcgKmNmZzsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkoYywgJmdpLT5jZGV2LmNvbmZpZ3MsIGxp c3QpIHsKLQkJc3RydWN0IHVzYl9mdW5jdGlvbiAqZiwgKnRtcDsKLQkJc3RydWN0IGNvbmZpZ191 c2JfY2ZnICpjZmc7Ci0KIAkJY2ZnID0gY29udGFpbmVyX29mKGMsIHN0cnVjdCBjb25maWdfdXNi X2NmZywgYyk7CiAKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGYsIHRtcCwgJmMtPmZ1bmN0 aW9ucywgbGlzdCkgewpAQCAtMTIyOSw2ICsxMjM5LDE0IEBAIHN0YXRpYyB2b2lkIHB1cmdlX2Nv bmZpZ3NfZnVuY3Moc3RydWN0IGdhZGdldF9pbmZvICpnaSkKIAkJYy0+aGlnaHNwZWVkID0gMDsK IAkJYy0+ZnVsbHNwZWVkID0gMDsKIAl9CisKKwljZmcgPSAmZ2ktPmNvbnRyb2xfY29uZmlnOwor CWMgPSAmY2ZnLT5jOworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShmLCB0bXAsICZjLT5mdW5j dGlvbnMsIGxpc3QpIHsKKwkJbGlzdF9tb3ZlX3RhaWwoJmYtPmxpc3QsICZjZmctPmZ1bmNfbGlz dCk7CisJCWlmIChmLT51bmJpbmQpCisJCQlmLT51bmJpbmQoYywgZik7CisJfQogfQogCiBzdGF0 aWMgaW50IGNvbmZpZ2ZzX2NvbXBvc2l0ZV9iaW5kKHN0cnVjdCB1c2JfZ2FkZ2V0ICpnYWRnZXQs CkBAIC0xMjQyLDYgKzEyNjAsOSBAQCBzdGF0aWMgaW50IGNvbmZpZ2ZzX2NvbXBvc2l0ZV9iaW5k KHN0cnVjdCB1c2JfZ2FkZ2V0ICpnYWRnZXQsCiAJc3RydWN0IHVzYl9zdHJpbmcJCSpzOwogCXVu c2lnbmVkCQkJaTsKIAlpbnQJCQkJcmV0OworCXN0cnVjdCBjb25maWdfdXNiX2NmZyAqY2ZnOwor CXN0cnVjdCB1c2JfZnVuY3Rpb24gKmY7CisJc3RydWN0IHVzYl9mdW5jdGlvbiAqdG1wOwogCiAJ LyogdGhlIGdpLT5sb2NrIGlzIGhvbGQgYnkgdGhlIGNhbGxlciAqLwogCWNkZXYtPmdhZGdldCA9 IGdhZGdldDsKQEAgLTEyNjAsOCArMTI4MSw2IEBAIHN0YXRpYyBpbnQgY29uZmlnZnNfY29tcG9z aXRlX2JpbmQoc3RydWN0IHVzYl9nYWRnZXQgKmdhZGdldCwKIAogCiAJbGlzdF9mb3JfZWFjaF9l bnRyeShjLCAmZ2ktPmNkZXYuY29uZmlncywgbGlzdCkgewotCQlzdHJ1Y3QgY29uZmlnX3VzYl9j ZmcgKmNmZzsKLQogCQljZmcgPSBjb250YWluZXJfb2YoYywgc3RydWN0IGNvbmZpZ191c2JfY2Zn LCBjKTsKIAkJaWYgKGxpc3RfZW1wdHkoJmNmZy0+ZnVuY19saXN0KSkgewogCQkJcHJfZXJyKCJD b25maWcgJXMvJWQgb2YgJXMgbmVlZHMgYXQgbGVhc3Qgb25lIGZ1bmN0aW9uLlxuIiwKQEAgLTEz MjAsOSArMTMzOSw2IEBAIHN0YXRpYyBpbnQgY29uZmlnZnNfY29tcG9zaXRlX2JpbmQoc3RydWN0 IHVzYl9nYWRnZXQgKmdhZGdldCwKIAogCS8qIEdvIHRocm91Z2ggYWxsIGNvbmZpZ3MsIGF0dGFj aCBhbGwgZnVuY3Rpb25zICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjLCAmZ2ktPmNkZXYuY29u ZmlncywgbGlzdCkgewotCQlzdHJ1Y3QgY29uZmlnX3VzYl9jZmcgKmNmZzsKLQkJc3RydWN0IHVz Yl9mdW5jdGlvbiAqZjsKLQkJc3RydWN0IHVzYl9mdW5jdGlvbiAqdG1wOwogCQlzdHJ1Y3QgZ2Fk Z2V0X2NvbmZpZ19uYW1lICpjbjsKIAogCQlpZiAoZ2FkZ2V0X2lzX290ZyhnYWRnZXQpKQpAQCAt MTM0OSw2ICsxMzY1LDEyIEBAIHN0YXRpYyBpbnQgY29uZmlnZnNfY29tcG9zaXRlX2JpbmQoc3Ry dWN0IHVzYl9nYWRnZXQgKmdhZGdldCwKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGYsIHRt cCwgJmNmZy0+ZnVuY19saXN0LCBsaXN0KSB7CiAJCQlsaXN0X2RlbCgmZi0+bGlzdCk7CiAJCQly ZXQgPSB1c2JfYWRkX2Z1bmN0aW9uKGMsIGYpOworCQkJaWYgKCEoZi0+ZnNfZGVzY3JpcHRvcnMg fHwgZi0+aHNfZGVzY3JpcHRvcnMKKwkJCSAgIHx8IGYtPnNzX2Rlc2NyaXB0b3JzIHx8IGYtPnNz cF9kZXNjcmlwdG9ycykpIHsKKwkJCQlwcl9lcnIoIiVzIGNhbid0IGJlIHVzZWQgaW4gYSBjb25m aWcgc2luY2UgaXQgIgorCQkJCQkiaGFzIG5vIGRlc2NyaXB0b3JzXG4iLCBmLT5uYW1lKTsKKwkJ CQlyZXQgPSByZXQgPCAwID8gcmV0IDogLUVJTlZBTDsKKwkJCX0KIAkJCWlmIChyZXQpIHsKIAkJ CQlsaXN0X2FkZCgmZi0+bGlzdCwgJmNmZy0+ZnVuY19saXN0KTsKIAkJCQlnb3RvIGVycl9wdXJn ZV9mdW5jczsKQEAgLTEzNjIsNiArMTM4NCwyNyBAQCBzdGF0aWMgaW50IGNvbmZpZ2ZzX2NvbXBv c2l0ZV9iaW5kKHN0cnVjdCB1c2JfZ2FkZ2V0ICpnYWRnZXQsCiAJCQlnb3RvIGVycl9wdXJnZV9m dW5jczsKIAl9CiAKKwljZmcgPSAmZ2ktPmNvbnRyb2xfY29uZmlnOworCWMgPSAmY2ZnLT5jOwor CWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShmLCB0bXAsICZjZmctPmZ1bmNfbGlzdCwgbGlzdCkg eworCQlpZiAoIWYtPnJlcV9tYXRjaCB8fCAhZi0+c2V0dXApIHsKKwkJCXJldCA9IC1FSU5WQUw7 CisJCQlnb3RvIGVycl9wdXJnZV9mdW5jczsKKwkJfQorCQlsaXN0X2RlbCgmZi0+bGlzdCk7CisJ CXJldCA9IHVzYl9hZGRfZnVuY3Rpb24oJmNmZy0+YywgZik7CisJCWlmIChmLT5mc19kZXNjcmlw dG9ycyB8fCBmLT5oc19kZXNjcmlwdG9ycworCQkJCXx8IGYtPnNzX2Rlc2NyaXB0b3JzIHx8IGYt PnNzcF9kZXNjcmlwdG9ycykgeworCQkJcHJfZXJyKCJPbmx5IGZ1bmN0aW9ucyB3aXRoIG5vIGRl c2NyaXB0b3JzICIKKwkJCQkiY2FuIGJlIHVzZWQgaW4gY29udHJvbF9jb25maWdcbiIpOworCQkJ cmV0ID0gcmV0IDwgMCA/IHJldCA6IC1FSU5WQUw7CisJCX0KKwkJaWYgKHJldCkgeworCQkJbGlz dF9hZGQoJmYtPmxpc3QsICZjZmctPmZ1bmNfbGlzdCk7CisJCQlnb3RvIGVycl9wdXJnZV9mdW5j czsKKwkJfQorCX0KKwogCXVzYl9lcF9hdXRvY29uZmlnX3Jlc2V0KGNkZXYtPmdhZGdldCk7CiAJ cmV0dXJuIDA7CiAKQEAgLTEzOTEsMTEgKzE0MzQsMzQgQEAgc3RhdGljIHZvaWQgY29uZmlnZnNf Y29tcG9zaXRlX3VuYmluZChzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0KQogCXNldF9nYWRnZXRf ZGF0YShnYWRnZXQsIE5VTEwpOwogfQogCitzdGF0aWMgaW50IGNvbmZpZ2ZzX2NvbXBvc2l0ZV9z ZXR1cChzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0LAorCQkJY29uc3Qgc3RydWN0IHVzYl9jdHJs cmVxdWVzdCAqYykKK3sKKwlzdHJ1Y3QgdXNiX2NvbXBvc2l0ZV9kZXYgKmNkZXYgPSBnZXRfZ2Fk Z2V0X2RhdGEoZ2FkZ2V0KTsKKwlzdHJ1Y3QgZ2FkZ2V0X2luZm8gKmdpID0gY29udGFpbmVyX29m KGNkZXYsIHN0cnVjdCBnYWRnZXRfaW5mbywgY2Rldik7CisKKwlzdHJ1Y3QgY29uZmlnX3VzYl9j ZmcgKmNmZyA9ICZnaS0+Y29udHJvbF9jb25maWc7CisJc3RydWN0IHVzYl9mdW5jdGlvbiAqZjsK KwlpbnQgdmFsdWU7CisKKwl2YWx1ZSA9IGNvbXBvc2l0ZV9zZXR1cChnYWRnZXQsIGMpOworCWlm ICh2YWx1ZSA+PSAwKQorCQlyZXR1cm4gdmFsdWU7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGYs ICZjZmctPmMuZnVuY3Rpb25zLCBsaXN0KSB7CisJCWlmIChmLT5yZXFfbWF0Y2goZiwgYywgZmFs c2UpKSB7CisJCQl2YWx1ZSA9IGYtPnNldHVwKGYsIGMpOworCQkJYnJlYWs7CisJCX0KKwl9CisJ cmV0dXJuIHZhbHVlOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9nYWRnZXRfZHJpdmVy IGNvbmZpZ2ZzX2RyaXZlcl90ZW1wbGF0ZSA9IHsKIAkuYmluZCAgICAgICAgICAgPSBjb25maWdm c19jb21wb3NpdGVfYmluZCwKIAkudW5iaW5kICAgICAgICAgPSBjb25maWdmc19jb21wb3NpdGVf dW5iaW5kLAogCi0JLnNldHVwICAgICAgICAgID0gY29tcG9zaXRlX3NldHVwLAorCS5zZXR1cCAg ICAgICAgICA9IGNvbmZpZ2ZzX2NvbXBvc2l0ZV9zZXR1cCwKIAkucmVzZXQgICAgICAgICAgPSBj b21wb3NpdGVfZGlzY29ubmVjdCwKIAkuZGlzY29ubmVjdCAgICAgPSBjb21wb3NpdGVfZGlzY29u bmVjdCwKIApAQCAtMTQ2MSw2ICsxNTI3LDE4IEBAIHN0YXRpYyBzdHJ1Y3QgY29uZmlnX2dyb3Vw ICpnYWRnZXRzX21ha2UoCiAJaWYgKCFnaS0+Y29tcG9zaXRlLmdhZGdldF9kcml2ZXIuZnVuY3Rp b24pCiAJCWdvdG8gZXJyOwogCisJZ2ktPmNvbnRyb2xfY29uZmlnLmMubGFiZWwgPSAiY29udHJv bF9jb25maWciOworCS8qIGNvbXBvc2l0ZSByZXF1aXJlcyBzb21lIHZhbHVlLCBidXQgaXQgZG9l c24ndCBtYXR0ZXIgKi8KKwlnaS0+Y29udHJvbF9jb25maWcuYy5iQ29uZmlndXJhdGlvblZhbHVl ID0gNDI7CisJSU5JVF9MSVNUX0hFQUQoJmdpLT5jb250cm9sX2NvbmZpZy5mdW5jX2xpc3QpOwor CWNvbmZpZ19ncm91cF9pbml0X3R5cGVfbmFtZSgmZ2ktPmNvbnRyb2xfY29uZmlnLmdyb3VwLAor CQkJImNvbnRyb2xfY29uZmlnIiwgJmNvbnRyb2xfY29uZmlnX3R5cGUpOworCWNvbmZpZ2ZzX2Fk ZF9kZWZhdWx0X2dyb3VwKCZnaS0+Y29udHJvbF9jb25maWcuZ3JvdXAsICZnaS0+Z3JvdXApOwor CisJaWYgKHVzYl9hZGRfY29uZmlnX29ubHkoJmdpLT5jZGV2LCAmZ2ktPmNvbnRyb2xfY29uZmln LmMpKQorCQlnb3RvIGVycjsKKwlsaXN0X2RlbCgmZ2ktPmNvbnRyb2xfY29uZmlnLmMubGlzdCk7 CisKIAlyZXR1cm4gJmdpLT5ncm91cDsKIGVycjoKIAlrZnJlZShnaSk7Cg==