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: [v2] usb: core: introduce per-port over-current counters From: Richard Leitner Message-Id: <20180220115033.29496-1-dev@g0hl1n.net> Date: Tue, 20 Feb 2018 12:50:33 +0100 To: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, stern@rowland.harvard.edu, linux@roeck-us.net, mathias.nyman@linux.intel.com, johan@kernel.org, felipe.balbi@linux.intel.com, ekorenevsky@gmail.com, peter.chen@nxp.com, drake@endlessm.com, joe@perches.com, Richard Leitner List-ID: RnJvbTogUmljaGFyZCBMZWl0bmVyIDxyaWNoYXJkLmxlaXRuZXJAc2tpZGF0YS5jb20+CgpGb3Ig c29tZSB1c2Vyc3BhY2UgYXBwbGljYXRpb25zIGluZm9ybWF0aW9uIG9uIHRoZSBudW1iZXIgb2YK b3Zlci1jdXJyZW50IGNvbmRpdGlvbnMgYXQgc3BlY2lmaWMgVVNCIGh1YiBwb3J0cyBpcyByZWxl dmFudC4KCkluIG91ciBjYXNlIHdlIGhhdmUgYSBzZXJpZXMgb2YgVVNCIGhhcmR3YXJlICh1c2lu ZyB0aGUgY3AyMTB4IGRyaXZlcikKd2hpY2ggY29tbXVuaWNhdGVzIHVzaW5nIGEgcHJvcHJpZXRh cnkgcHJvdG9jb2wuIFRoZXNlIGRldmljZXMgc29tZXRpbWVzCnRyaWdnZXIgYW4gb3Zlci1jdXJy ZW50IHNpdHVhdGlvbiBvbiBzb21lIGh1YnMuIEluIGNhc2Ugb2Ygc3VjaCBhbgpvdmVyLWN1cnJl bnQgc2l0dWF0aW9uIHRoZSBVU0IgZGV2aWNlcyBvZmZlciBhbiBpbnRlcmZhY2UgZm9yIHJlZHVj aW5nCnRoZSBtYXggdXNlZCBwb3dlci4gQXMgdGhlc2UgY29uZGl0aW9ucyBhcmUgcXVpdGUgcmFy ZSBhbmQgaW1wbHkKcGVyZm9ybWFuY2UgcmVkdWN0aW9ucyBvZiB0aGUgZGV2aWNlIHdlIGRvbid0 IHdhbnQgdG8gcmVkdWNlIHRoZSBtYXgKcG93ZXIgYWx3YXlzLgoKVGhlcmVmb3JlIGdpdmUgdXNl ci1zcGFjZSBhcHBsaWNhdGlvbnMgdGhlIHBvc3NpYmlsaXR5IHRvIHJlYWN0CmFkZXF1YXRlbHkg YnkgaW50cm9kdWNpbmcgYW4gb3Zlcl9jdXJyZW50X2NvdW50ZXIgaW4gdGhlIHVzYiBwb3J0IHN0 cnVjdAp3aGljaCBpcyBleHBvcnRlZCB2aWEgc3lzZnMuCgpTaWduZWQtb2ZmLWJ5OiBSaWNoYXJk IExlaXRuZXIgPHJpY2hhcmQubGVpdG5lckBza2lkYXRhLmNvbT4KLS0tClRlc3RlZCBvbiBhbiBp Lk1YNkRMIGJhc2VkIGJvYXJkCgpDaGFuZ2VzIHYyOgoJLSByZW5hbWUgb2NfY291bnQgdG8gb3Zl cl9jdXJyZW50X2NvdW50CgktIGFkZCBlbnRyeSB0byBEb2N1bWVudGF0aW9uL0FCSQoJLSBhZGQg ZGV0YWlsbGVkIGRlc2NyaXB0aW9uIHRvIGNvbW1pdCBtZXNzYWdlCi0tLQogRG9jdW1lbnRhdGlv bi9BQkkvdGVzdGluZy9zeXNmcy1idXMtdXNiIHwgIDkgKysrKysrKysrCiBkcml2ZXJzL3VzYi9j b3JlL2h1Yi5jICAgICAgICAgICAgICAgICAgfCAgNCArKystCiBkcml2ZXJzL3VzYi9jb3JlL2h1 Yi5oICAgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL3VzYi9jb3JlL3BvcnQuYyAgICAg ICAgICAgICAgICAgfCAxMCArKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0 aW5nL3N5c2ZzLWJ1cy11c2IgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJ1cy11 c2IKaW5kZXggMGJkNzMxY2JiNTBjLi4yNzAyMDI5M2M4NWIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50 YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLXVzYgorKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90 ZXN0aW5nL3N5c2ZzLWJ1cy11c2IKQEAgLTE4OSw2ICsxODksMTUgQEAgRGVzY3JpcHRpb246CiAJ CVRoZSBmaWxlIHdpbGwgcmVhZCAiaG90cGx1ZyIsICJ3aXJlZCIgYW5kICJub3QgdXNlZCIgaWYg dGhlCiAJCWluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSwgYW5kICJ1bmtub3duIiBvdGhlcndpc2Uu CiAKK1doYXQ6CQkvc3lzL2J1cy91c2IvZGV2aWNlcy8uLi4vKGh1YiBpbnRlcmZhY2UpL3BvcnRY L292ZXJfY3VycmVudF9jb3VudAorRGF0ZToJCUZlYnJ1YXJ5IDIwMTgKK0NvbnRhY3Q6CVJpY2hh cmQgTGVpdG5lciA8cmljaGFyZC5sZWl0bmVyQHNraWRhdGEuY29tPgorRGVzY3JpcHRpb246CisJ CU1vc3QgaHVicyBhcmUgYWJsZSB0byBkZXRlY3Qgb3Zlci1jdXJyZW50IHNpdHVhdGlvbnMgb24g dGhlaXIKKwkJcG9ydHMgYW5kIHJlcG9ydCB0aGVtIHRvIHRoZSBrZXJuZWwuIFRoaXMgYXR0cmli dXRlIGlzIHRvIGV4cG9zZQorCQl0aGUgbnVtYmVyIG9mIG92ZXItY3VycmVudCBzaXR1YXRpb24g b2NjdXJyZWQgb24gYSBzcGVjaWZpYyBwb3J0CisJCXRvIHVzZXIgc3BhY2UuIFRoaXMgZmlsZSB3 aWxsIGNvbnRhaW4gYW4gdW5zaWduZWQgaW50LgorCiBXaGF0OgkJL3N5cy9idXMvdXNiL2Rldmlj ZXMvLi4uLyhodWIgaW50ZXJmYWNlKS9wb3J0WC91c2IzX2xwbV9wZXJtaXQKIERhdGU6CQlOb3Zl bWJlciAyMDE1CiBDb250YWN0OglMdSBCYW9sdSA8YmFvbHUubHVAbGludXguaW50ZWwuY29tPgpk aWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9odWIuYyBiL2RyaXZlcnMvdXNiL2NvcmUvaHVi LmMKaW5kZXggYzVjMWY2Y2YzMjI4Li42Zjc3OWI1MThlNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dXNiL2NvcmUvaHViLmMKKysrIGIvZHJpdmVycy91c2IvY29yZS9odWIuYwpAQCAtNTEwNCw4ICs1 MTA0LDEwIEBAIHN0YXRpYyB2b2lkIHBvcnRfZXZlbnQoc3RydWN0IHVzYl9odWIgKmh1YiwgaW50 IHBvcnQxKQogCiAJaWYgKHBvcnRjaGFuZ2UgJiBVU0JfUE9SVF9TVEFUX0NfT1ZFUkNVUlJFTlQp IHsKIAkJdTE2IHN0YXR1cyA9IDAsIHVudXNlZDsKKwkJcG9ydF9kZXYtPm92ZXJfY3VycmVudF9j b3VudCsrOwogCi0JCWRldl9kYmcoJnBvcnRfZGV2LT5kZXYsICJvdmVyLWN1cnJlbnQgY2hhbmdl XG4iKTsKKwkJZGV2X2RiZygmcG9ydF9kZXYtPmRldiwgIm92ZXItY3VycmVudCBjaGFuZ2UgIyV1 XG4iLAorCQkJcG9ydF9kZXYtPm92ZXJfY3VycmVudF9jb3VudCk7CiAJCXVzYl9jbGVhcl9wb3J0 X2ZlYXR1cmUoaGRldiwgcG9ydDEsCiAJCQkJVVNCX1BPUlRfRkVBVF9DX09WRVJfQ1VSUkVOVCk7 CiAJCW1zbGVlcCgxMDApOwkvKiBDb29sIGRvd24gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNi L2NvcmUvaHViLmggYi9kcml2ZXJzL3VzYi9jb3JlL2h1Yi5oCmluZGV4IDJhNzAwY2NjODY4Yy4u NzhkN2Y0ZGFkNjE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jb3JlL2h1Yi5oCisrKyBiL2Ry aXZlcnMvdXNiL2NvcmUvaHViLmgKQEAgLTEwMCw2ICsxMDAsNyBAQCBzdHJ1Y3QgdXNiX3BvcnQg ewogCXVuc2lnbmVkIGludCBpc19zdXBlcnNwZWVkOjE7CiAJdW5zaWduZWQgaW50IHVzYjNfbHBt X3UxX3Blcm1pdDoxOwogCXVuc2lnbmVkIGludCB1c2IzX2xwbV91Ml9wZXJtaXQ6MTsKKwl1bnNp Z25lZCBpbnQgb3Zlcl9jdXJyZW50X2NvdW50OwogfTsKIAogI2RlZmluZSB0b191c2JfcG9ydChf ZGV2KSBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL3BvcnQuYyBiL2RyaXZlcnMvdXNi L2NvcmUvcG9ydC5jCmluZGV4IDFhMDFlOWFkMzgwNC4uNjk3OWJkZTg3ZDMxIDEwMDY0NAotLS0g YS9kcml2ZXJzL3VzYi9jb3JlL3BvcnQuYworKysgYi9kcml2ZXJzL3VzYi9jb3JlL3BvcnQuYwpA QCAtNDEsNiArNDEsMTUgQEAgc3RhdGljIHNzaXplX3QgY29ubmVjdF90eXBlX3Nob3coc3RydWN0 IGRldmljZSAqZGV2LAogfQogc3RhdGljIERFVklDRV9BVFRSX1JPKGNvbm5lY3RfdHlwZSk7CiAK K3N0YXRpYyBzc2l6ZV90IG92ZXJfY3VycmVudF9jb3VudF9zaG93KHN0cnVjdCBkZXZpY2UgKmRl diwKKwkJCQkgICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikK K3sKKwlzdHJ1Y3QgdXNiX3BvcnQgKnBvcnRfZGV2ID0gdG9fdXNiX3BvcnQoZGV2KTsKKworCXJl dHVybiBzcHJpbnRmKGJ1ZiwgIiV1XG4iLCBwb3J0X2Rldi0+b3Zlcl9jdXJyZW50X2NvdW50KTsK K30KK3N0YXRpYyBERVZJQ0VfQVRUUl9STyhvdmVyX2N1cnJlbnRfY291bnQpOworCiBzdGF0aWMg c3NpemVfdCB1c2IzX2xwbV9wZXJtaXRfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQkgICAg ICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQogewpAQCAtMTA5LDYg KzExOCw3IEBAIHN0YXRpYyBERVZJQ0VfQVRUUl9SVyh1c2IzX2xwbV9wZXJtaXQpOwogCiBzdGF0 aWMgc3RydWN0IGF0dHJpYnV0ZSAqcG9ydF9kZXZfYXR0cnNbXSA9IHsKIAkmZGV2X2F0dHJfY29u bmVjdF90eXBlLmF0dHIsCisJJmRldl9hdHRyX292ZXJfY3VycmVudF9jb3VudC5hdHRyLAogCU5V TEwsCiB9OwogCg==