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,3/6] usb: ohci-da8xx: disable the regulator if the overcurrent irq fired From: Bartosz Golaszewski Message-Id: <20190329093334.3885-4-brgl@bgdev.pl> Date: Fri, 29 Mar 2019 10:33:31 +0100 To: Sekhar Nori , Kevin Hilman , Alan Stern , Greg Kroah-Hartman Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Bartosz Golaszewski List-ID: RnJvbTogQmFydG9zeiBHb2xhc3pld3NraSA8YmdvbGFzemV3c2tpQGJheWxpYnJlLmNvbT4KCkhp c3RvcmljYWxseSB0aGUgcG93ZXIgc3VwcGx5IG1hbmFnZW1lbnQgaW4gdGhpcyBkcml2ZXIgaGFz IGJlZW4gaGFuZGxlZAppbiB0d28gc2VwYXJhdGUgcGxhY2VzIGluIHBhcmFsbGVsLiBEZXZpY2Ut dHJlZSB1c2VycyBzaW1wbHkgZGVmaW5lZCBhbgphcHByb3ByaWF0ZSByZWd1bGF0b3IsIHdoaWxl IHR3byBib2FyZHMgd2l0aCBubyBEVCBzdXBwb3J0IChkYTgzMC1ldm0gYW5kCm9tYXBsMTM4LWhh d2spIHBhc3NlZCBmdW5jdGlvbnMgZGVmaW5lZCBpbiB0aGVpciByZXNwZWN0aXZlIGJvYXJkIGZp bGVzCm92ZXIgcGxhdGZvcm0gZGF0YS4gVGhlc2UgZnVuY3Rpb25zIHNpbXBseSB1c2VkIGxlZ2Fj eSBHUElPIGNhbGxzIHRvCndhdGNoIHRoZSBvYyBHUElPIGZvciBpbnRlcnJ1cHRzIGFuZCBkaXNh YmxlIHRoZSB2YnVzIEdQSU8gd2hlbiB0aGUgaXJxCmZpcmVzLgoKQ29tbWl0IGQxOTNhYmYxYzkx MyAoInVzYjogb2hjaS1kYTh4eDogYWRkIHZidXMgYW5kIG92ZXJjdXJyZW50IGdwaW9zIikKdXBk YXRlZCB0aGVzZSBHUElPIGNhbGxzIHRvIHRoZSBtb2Rlcm4gQVBJIGFuZCBtb3ZlZCB0aGVtIGlu c2lkZSB0aGUKZHJpdmVyLgoKVGhpcyBob3dldmVyIGlzIG5vdCB0aGUgb3B0aW1hbCBzb2x1dGlv biBmb3IgdGhlIHZidXMgR1BJTyB3aGljaCBzaG91bGQKYmUgbW9kZWxlZCBhcyBhIGZpeGVkIHJl Z3VsYXRvciB0aGF0IGNhbiBiZSBjb250cm9sbGVkIHdpdGggYSBHUElPLgoKSW4gb3JkZXIgdG8g a2VlcCB0aGUgb3ZlcmN1cnJlbnQgcHJvdGVjdGlvbiBhdmFpbGFibGUgb25jZSB3ZSBtb3ZlIHRo ZQpib2FyZCBmaWxlcyB0byB1c2luZyBmaXhlZCByZWd1bGF0b3JzIHdlIG5lZWQgdG8gZGlzYWJs ZSB0aGUgZW5hYmxlX3JlZwpyZWd1bGF0b3Igd2hlbiB0aGUgb3ZlcmN1cnJlbnQgaW5kaWNhdG9y IGludGVycnVwdCBmaXJlcy4gU2luY2Ugd2UKY2Fubm90IGNhbGwgcmVndWxhdG9yX2Rpc2FibGUo KSBmcm9tIGludGVycnVwdCBjb250ZXh0LCB3ZSBuZWVkIHRvCnN3aXRjaCB0byB1c2luZyBhIG9u ZXNob3QgdGhyZWFkZWQgaW50ZXJydXB0LgoKU2lnbmVkLW9mZi1ieTogQmFydG9zeiBHb2xhc3pl d3NraSA8YmdvbGFzemV3c2tpQGJheWxpYnJlLmNvbT4KLS0tCiBkcml2ZXJzL3VzYi9ob3N0L29o Y2ktZGE4eHguYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9ob3N0L29oY2ktZGE4eHguYyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1kYTh4eC5j CmluZGV4IDljNmQxZjAzYjg3MS4uMzVlYjJjYjk2YThmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Vz Yi9ob3N0L29oY2ktZGE4eHguYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktZGE4eHguYwpA QCAtMjA2LDggKzIwNiwyNSBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qgb2hjaV9kYTh4eF9vY19oYW5k bGVyKGludCBpcnEsIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IGRhOHh4X29oY2lfaGNkICpkYTh4 eF9vaGNpID0gZGF0YTsKIAotCWlmIChncGlvZF9nZXRfdmFsdWUoZGE4eHhfb2hjaS0+b2NfZ3Bp bykpCi0JCWdwaW9kX3NldF92YWx1ZShkYTh4eF9vaGNpLT52YnVzX2dwaW8sIDApOworCWlmIChn cGlvZF9nZXRfdmFsdWUoZGE4eHhfb2hjaS0+b2NfZ3BpbykpIHsKKwkJaWYgKGRhOHh4X29oY2kt PnZidXNfZ3BpbykKKwkJCWdwaW9kX3NldF92YWx1ZShkYTh4eF9vaGNpLT52YnVzX2dwaW8sIDAp OworCQllbHNlIGlmIChkYTh4eF9vaGNpLT52YnVzX3JlZykKKwkJCXJldHVybiBJUlFfV0FLRV9U SFJFQUQ7CisJfQorCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgaXJxcmV0dXJu X3Qgb2hjaV9kYTh4eF9vY190aHJlYWQoaW50IGlycSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3Qg ZGE4eHhfb2hjaV9oY2QgKmRhOHh4X29oY2kgPSBkYXRhOworCXN0cnVjdCBkZXZpY2UgKmRldiA9 IGRhOHh4X29oY2ktPmhjZC0+c2VsZi5jb250cm9sbGVyOworCWludCByZXQ7CisKKwlyZXQgPSBy ZWd1bGF0b3JfZGlzYWJsZShkYTh4eF9vaGNpLT52YnVzX3JlZyk7CisJaWYgKHJldCkKKwkJZGV2 X2VycihkZXYsICJGYWlsZWQgdG8gZGlzYWJsZSByZWd1bGF0b3I6ICVkXG4iLCByZXQpOwogCiAJ cmV0dXJuIElSUV9IQU5ETEVEOwogfQpAQCAtNDM0LDkgKzQ1MSwxMSBAQCBzdGF0aWMgaW50IG9o Y2lfZGE4eHhfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJaWYgKG9jX2ly cSA8IDApCiAJCQlnb3RvIGVycjsKIAotCQllcnJvciA9IGRldm1fcmVxdWVzdF9pcnEoZGV2LCBv Y19pcnEsIG9oY2lfZGE4eHhfb2NfaGFuZGxlciwKLQkJCQlJUlFGX1RSSUdHRVJfUklTSU5HIHwg SVJRRl9UUklHR0VSX0ZBTExJTkcsCi0JCQkJIk9IQ0kgb3Zlci1jdXJyZW50IGluZGljYXRvciIs IGRhOHh4X29oY2kpOworCQllcnJvciA9IGRldm1fcmVxdWVzdF90aHJlYWRlZF9pcnEoZGV2LCBv Y19pcnEsCisJCQkJb2hjaV9kYTh4eF9vY19oYW5kbGVyLCBvaGNpX2RhOHh4X29jX3RocmVhZCwK KwkJCQlJUlFGX1RSSUdHRVJfUklTSU5HIHwgSVJRRl9UUklHR0VSX0ZBTExJTkcgfAorCQkJCUlS UUZfT05FU0hPVCwgIk9IQ0kgb3Zlci1jdXJyZW50IGluZGljYXRvciIsCisJCQkJZGE4eHhfb2hj aSk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gZXJyOwogCX0K