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: [v3] usb: core: introduce per-port over-current counters From: Richard Leitner Message-Id: <20180314095109.18260-1-dev@g0hl1n.net> Date: Wed, 14 Mar 2018 10:51:09 +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 IExlaXRuZXIgPHJpY2hhcmQubGVpdG5lckBza2lkYXRhLmNvbT4KLS0tCiBEb2N1bWVudGF0aW9u L0FCSS90ZXN0aW5nL3N5c2ZzLWJ1cy11c2IgfCAxMCArKysrKysrKysrCiBkcml2ZXJzL3VzYi9j b3JlL2h1Yi5jICAgICAgICAgICAgICAgICAgfCAgNCArKystCiBkcml2ZXJzL3VzYi9jb3JlL2h1 Yi5oICAgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL3VzYi9jb3JlL3BvcnQuYyAgICAg ICAgICAgICAgICAgfCAxMCArKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0 aW5nL3N5c2ZzLWJ1cy11c2IgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJ1cy11 c2IKaW5kZXggMGJkNzMxY2JiNTBjLi5jNzAyYzc4ZjI0ZDggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50 YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLXVzYgorKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90 ZXN0aW5nL3N5c2ZzLWJ1cy11c2IKQEAgLTE4OSw2ICsxODksMTYgQEAgRGVzY3JpcHRpb246CiAJ CVRoZSBmaWxlIHdpbGwgcmVhZCAiaG90cGx1ZyIsICJ3aXJlZCIgYW5kICJub3QgdXNlZCIgaWYg dGhlCiAJCWluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSwgYW5kICJ1bmtub3duIiBvdGhlcndpc2Uu CiAKK1doYXQ6CQkvc3lzL2J1cy91c2IvZGV2aWNlcy8uLi4vKGh1YiBpbnRlcmZhY2UpL3BvcnRY L292ZXJfY3VycmVudF9jb3VudAorRGF0ZToJCUZlYnJ1YXJ5IDIwMTgKK0NvbnRhY3Q6CVJpY2hh cmQgTGVpdG5lciA8cmljaGFyZC5sZWl0bmVyQHNraWRhdGEuY29tPgorRGVzY3JpcHRpb246CisJ CU1vc3QgaHVicyBhcmUgYWJsZSB0byBkZXRlY3Qgb3Zlci1jdXJyZW50IHNpdHVhdGlvbnMgb24g dGhlaXIKKwkJcG9ydHMgYW5kIHJlcG9ydCB0aGVtIHRvIHRoZSBrZXJuZWwuIFRoaXMgYXR0cmli dXRlIGlzIHRvIGV4cG9zZQorCQl0aGUgbnVtYmVyIG9mIG92ZXItY3VycmVudCBzaXR1YXRpb24g b2NjdXJyZWQgb24gYSBzcGVjaWZpYyBwb3J0CisJCXRvIHVzZXIgc3BhY2UuIFRoaXMgZmlsZSB3 aWxsIGNvbnRhaW4gYW4gdW5zaWduZWQgMzIgYml0IHZhbHVlCisJCXdoaWNoIHdyYXBzIHRvIDAg YWZ0ZXIgaXRzIG1heGltdW0gaXMgcmVhY2hlZC4KKwogV2hhdDoJCS9zeXMvYnVzL3VzYi9kZXZp Y2VzLy4uLi8oaHViIGludGVyZmFjZSkvcG9ydFgvdXNiM19scG1fcGVybWl0CiBEYXRlOgkJTm92 ZW1iZXIgMjAxNQogQ29udGFjdDoJTHUgQmFvbHUgPGJhb2x1Lmx1QGxpbnV4LmludGVsLmNvbT4K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvaHViLmMgYi9kcml2ZXJzL3VzYi9jb3JlL2h1 Yi5jCmluZGV4IGM1YzFmNmNmMzIyOC4uNmY3NzliNTE4ZTc1IDEwMDY0NAotLS0gYS9kcml2ZXJz L3VzYi9jb3JlL2h1Yi5jCisrKyBiL2RyaXZlcnMvdXNiL2NvcmUvaHViLmMKQEAgLTUxMDQsOCAr NTEwNCwxMCBAQCBzdGF0aWMgdm9pZCBwb3J0X2V2ZW50KHN0cnVjdCB1c2JfaHViICpodWIsIGlu dCBwb3J0MSkKIAogCWlmIChwb3J0Y2hhbmdlICYgVVNCX1BPUlRfU1RBVF9DX09WRVJDVVJSRU5U KSB7CiAJCXUxNiBzdGF0dXMgPSAwLCB1bnVzZWQ7CisJCXBvcnRfZGV2LT5vdmVyX2N1cnJlbnRf Y291bnQrKzsKIAotCQlkZXZfZGJnKCZwb3J0X2Rldi0+ZGV2LCAib3Zlci1jdXJyZW50IGNoYW5n ZVxuIik7CisJCWRldl9kYmcoJnBvcnRfZGV2LT5kZXYsICJvdmVyLWN1cnJlbnQgY2hhbmdlICMl dVxuIiwKKwkJCXBvcnRfZGV2LT5vdmVyX2N1cnJlbnRfY291bnQpOwogCQl1c2JfY2xlYXJfcG9y dF9mZWF0dXJlKGhkZXYsIHBvcnQxLAogCQkJCVVTQl9QT1JUX0ZFQVRfQ19PVkVSX0NVUlJFTlQp OwogCQltc2xlZXAoMTAwKTsJLyogQ29vbCBkb3duICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Vz Yi9jb3JlL2h1Yi5oIGIvZHJpdmVycy91c2IvY29yZS9odWIuaAppbmRleCAyYTcwMGNjYzg2OGMu Ljc4ZDdmNGRhZDYxOCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvY29yZS9odWIuaAorKysgYi9k cml2ZXJzL3VzYi9jb3JlL2h1Yi5oCkBAIC0xMDAsNiArMTAwLDcgQEAgc3RydWN0IHVzYl9wb3J0 IHsKIAl1bnNpZ25lZCBpbnQgaXNfc3VwZXJzcGVlZDoxOwogCXVuc2lnbmVkIGludCB1c2IzX2xw bV91MV9wZXJtaXQ6MTsKIAl1bnNpZ25lZCBpbnQgdXNiM19scG1fdTJfcGVybWl0OjE7CisJdW5z aWduZWQgaW50IG92ZXJfY3VycmVudF9jb3VudDsKIH07CiAKICNkZWZpbmUgdG9fdXNiX3BvcnQo X2RldikgXApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9wb3J0LmMgYi9kcml2ZXJzL3Vz Yi9jb3JlL3BvcnQuYwppbmRleCAxYTAxZTlhZDM4MDQuLjY5NzliZGU4N2QzMSAxMDA2NDQKLS0t IGEvZHJpdmVycy91c2IvY29yZS9wb3J0LmMKKysrIGIvZHJpdmVycy91c2IvY29yZS9wb3J0LmMK QEAgLTQxLDYgKzQxLDE1IEBAIHN0YXRpYyBzc2l6ZV90IGNvbm5lY3RfdHlwZV9zaG93KHN0cnVj dCBkZXZpY2UgKmRldiwKIH0KIHN0YXRpYyBERVZJQ0VfQVRUUl9STyhjb25uZWN0X3R5cGUpOwog CitzdGF0aWMgc3NpemVfdCBvdmVyX2N1cnJlbnRfY291bnRfc2hvdyhzdHJ1Y3QgZGV2aWNlICpk ZXYsCisJCQkJICAgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYp Cit7CisJc3RydWN0IHVzYl9wb3J0ICpwb3J0X2RldiA9IHRvX3VzYl9wb3J0KGRldik7CisKKwly ZXR1cm4gc3ByaW50ZihidWYsICIldVxuIiwgcG9ydF9kZXYtPm92ZXJfY3VycmVudF9jb3VudCk7 Cit9CitzdGF0aWMgREVWSUNFX0FUVFJfUk8ob3Zlcl9jdXJyZW50X2NvdW50KTsKKwogc3RhdGlj IHNzaXplX3QgdXNiM19scG1fcGVybWl0X3Nob3coc3RydWN0IGRldmljZSAqZGV2LAogCQkJICAg ICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHsKQEAgLTEwOSw2 ICsxMTgsNyBAQCBzdGF0aWMgREVWSUNFX0FUVFJfUlcodXNiM19scG1fcGVybWl0KTsKIAogc3Rh dGljIHN0cnVjdCBhdHRyaWJ1dGUgKnBvcnRfZGV2X2F0dHJzW10gPSB7CiAJJmRldl9hdHRyX2Nv bm5lY3RfdHlwZS5hdHRyLAorCSZkZXZfYXR0cl9vdmVyX2N1cnJlbnRfY291bnQuYXR0ciwKIAlO VUxMLAogfTsKIAo=