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: [RFC] ehci-omap: simple suspend implementation From: Andreas Kemnade Message-Id: <20180226080457.04ab2250@aktux> Date: Mon, 26 Feb 2018 08:04:57 +0100 To: Roger Quadros Cc: Alan Stern , gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-omap@vger.kernel.org, Discussions about the Letux Kernel List-ID: SGksCgpPbiBNb24sIDE5IEZlYiAyMDE4IDExOjQxOjM2ICswMjAwClJvZ2VyIFF1YWRyb3MgPHJv Z2VycUB0aS5jb20+IHdyb3RlOgoKPiBBbmRyZWFzLAo+IAo+IE9uIDE2LzAyLzE4IDIwOjM1LCBB bmRyZWFzIEtlbW5hZGUgd3JvdGU6Cj4gPiBPbiBGcmksIDE2IEZlYiAyMDE4IDEzOjEzOjExIC0w NTAwIChFU1QpCj4gPiBBbGFuIFN0ZXJuIDxzdGVybkByb3dsYW5kLmhhcnZhcmQuZWR1PiB3cm90 ZToKPiA+ICAgCj4gPj4gT24gRnJpLCAxNiBGZWIgMjAxOCwgQW5kcmVhcyBLZW1uYWRlIHdyb3Rl Ogo+ID4+ICAKPiA+Pj4gVGhpcyBwb3dlcnMgZG93biB0aGUgcGh5IGFuZCBvbiBhIGd0YTA0IGl0 IHJlZHVjZXMKPiA+Pj4gc3VzcGVuZCBjdXJyZW50IGJ5IDEzIG1BLgo+ID4+PiBGb3IgdW5rbm93 biByZWFzb25zIHVzYiBkb2VzIG5vdCBwb3dlciBvbiBwcm9wZXJseS4KPiA+Pj4gQWxzbyBjYWxs aW5nIHVzYl9waHlfc2h1dGRvd24oKSBoZXJlIGZlZWxzIHdyb25nCj4gPj4+IGFwcGFyZW50bHkg dGhlIHJlc2V0IGxpbmUgaGFzIHRvIGJlIGFjdGl2YXRlZC4KPiA+Pj4gdXNiX3BoeV9zZXRfc3Vz cGVuZCBpcyBub3QgZW5vdWdoIGhlcmUuIFRoZSBwb3dlcgo+ID4+PiBjb25zdW1wdGlvbiBzdGls bCBzdGF5cyBhcHByb3hpbWF0ZWx5IHRoZSBzYW1lIGFzCj4gPj4+IHdpdGhvdXQgYW55IHBhdGNo Lgo+ID4+Pgo+ID4+PiBXaXRoIGEgZGV2aWNlIGNvbm5lY3RlZCB0aGUgZGV2aWNlIGRvZXMgbm90 IGVudW1lcmF0ZQo+ID4+PiBhZnRlciByZXN1bWUuIEEgcm1tb2QgZWhjaS1vbWFwIDsgbW9kcHJv YmUgZWhjaS1vbWFwCj4gPj4+IGRvZXMgbm90IG1ha2UgaXQgcmVlbnVtZXJhZGUuCj4gPj4+IFNv IHRoZXJlIGlzIHN0aWxsIHNvbWV0aGluZyB3cm9uZyBoZXJlLgo+ID4+Pgo+ID4+PiBTaWduZWQt b2ZmLWJ5OiBBbmRyZWFzIEtlbW5hZGUgPGFuZHJlYXNAa2VtbmFkZS5pbmZvPgo+ID4+PiAtLS0K PiA+Pj4gIGRyaXZlcnMvdXNiL2hvc3QvZWhjaS1vbWFwLmMgfCA1OSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ID4+PiAgMSBmaWxlIGNoYW5nZWQsIDU3IGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gPj4+Cj4gPj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9ob3N0L2VoY2ktb21hcC5jIGIvZHJpdmVycy91c2IvaG9zdC9laGNpLW9tYXAuYwo+ ID4+PiBpbmRleCA4ZDhiYWZjNzBjMWYuLjBiZTJjY2Y4MTgyYSAxMDA2NDQKPiA+Pj4gLS0tIGEv ZHJpdmVycy91c2IvaG9zdC9laGNpLW9tYXAuYwo+ID4+PiArKysgYi9kcml2ZXJzL3VzYi9ob3N0 L2VoY2ktb21hcC5jCj4gPj4+IEBAIC0yNjYsNiArMjY2LDU4IEBAIHN0YXRpYyBpbnQgZWhjaV9o Y2Rfb21hcF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+Pj4gIAlyZXR1 cm4gMDsKPiA+Pj4gIH0KPiA+Pj4gIAo+ID4+PiArCj4gPj4+ICtzdGF0aWMgaW50IF9fbWF5YmVf dW51c2VkIGVoY2lfb21hcF9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiA+Pj4gK3sKPiA+ Pj4gKwlzdHJ1Y3QgdXNiX2hjZCAqaGNkID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gPj4+ICsJ c3RydWN0IG9tYXBfaGNkICpvbWFwID0gKHN0cnVjdCBvbWFwX2hjZCAqKWhjZF90b19laGNpKGhj ZCktPnByaXY7Cj4gPj4+ICsJaW50IHJldDsKPiA+Pj4gKwlpbnQgaTsKPiA+Pj4gKwo+ID4+PiAr CXJldCA9IGVoY2lfc3VzcGVuZChoY2QsIGZhbHNlKTsKPiA+Pj4gKwlpZiAocmV0KSB7Cj4gPj4+ ICsJCWRldl9lcnIoZGV2LCAiZWhjaSBzdXNwZW5kIGZhaWxlZDogJWRcbiIsIHJldCk7Cj4gPj4+ ICsJCXJldHVybiByZXQ7Cj4gPj4+ICsJfQo+ID4+PiArCWZvciAoaSA9IDA7IGkgPCBvbWFwLT5u cG9ydHM7IGkrKykgewo+ID4+PiArCQlpZiAob21hcC0+cGh5W2ldKQo+ID4+PiArCQkJdXNiX3Bo eV9zaHV0ZG93bihvbWFwLT5waHlbaV0pOwo+ID4+PiArCX0KPiA+Pj4gKwlwbV9ydW50aW1lX3B1 dF9zeW5jKGRldik7ICAgIAo+ID4+Cj4gPj4gV2h5IGRvIHlvdSBpbmNsdWRlIGEgcnVudGltZSBQ TSBjYWxsIGhlcmUsIGdpdmVuIHRoYXQgdGhlIGRyaXZlcgo+ID4+IGRvZXNuJ3Qgc3VwcG9ydCBy dW50aW1lIHN1c3BlbmQgb3IgcmVzdW1lPwo+ID4+ICAKPiA+IFdlbGwsIHRoZSBwYXJlbnQgKGRy aXZlcnMvbWZkL29tYXAtdXNiLWhvc3QuYykgaGFzLCBhbmQgdGhlcmUgYXJlIHJ1bnRpbWUgUE0K PiA+IGNhbGxzIGhlcmUgaW4gdGhlIF9wcm9iZS9fcmVtb3ZlIGZ1bmN0aW9ucywgc28gaXQgc2Vl bXMgdG8gYmUgc2FuZSB0byBkbyBpdAo+ID4gaGVyZSwgdG9vLgo+ID4gCj4gPiAgIAo+ID4+PiAr Cj4gPj4+ICsJcmV0dXJuIDA7Cj4gPj4+ICt9Cj4gPj4+ICsKPiA+Pj4gK3N0YXRpYyBpbnQgX19t YXliZV91bnVzZWQgZWhjaV9vbWFwX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gPj4+ICt7 Cj4gPj4+ICsJc3RydWN0IHVzYl9oY2QgKmhjZCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ID4+ PiArCXN0cnVjdCBvbWFwX2hjZCAqb21hcCA9IChzdHJ1Y3Qgb21hcF9oY2QgKiloY2RfdG9fZWhj aShoY2QpLT5wcml2Owo+ID4+PiArCWludCBpOwo+ID4+PiArCj4gPj4+ICsJcG1fcnVudGltZV9n ZXRfc3luYyhkZXYpOwo+ID4+PiArCS8qCj4gPj4+ICsJICogQW4gdW5kb2N1bWVudGVkICJmZWF0 dXJlIiBpbiB0aGUgT01BUDMgRUhDSSBjb250cm9sbGVyLAo+ID4+PiArCSAqIGNhdXNlcyBzdXNw ZW5kZWQgcG9ydHMgdG8gYmUgdGFrZW4gb3V0IG9mIHN1c3BlbmQgd2hlbgo+ID4+PiArCSAqIHRo ZSBVU0JDTUQuUnVuL1N0b3AgYml0IGlzIGNsZWFyZWQgKGZvciBleGFtcGxlIHdoZW4KPiA+Pj4g KwkgKiB3ZSBkbyBlaGNpX2J1c19zdXNwZW5kKS4KPiA+Pj4gKwkgKiBUaGlzIGJyZWFrcyBzdXNw ZW5kLXJlc3VtZSBpZiB0aGUgcm9vdC1odWIgaXMgYWxsb3dlZAo+ID4+PiArCSAqIHRvIHN1c3Bl bmQuIFdyaXRpbmcgMSB0byB0aGlzIHVuZG9jdW1lbnRlZCByZWdpc3RlciBiaXQKPiA+Pj4gKwkg KiBkaXNhYmxlcyB0aGlzIGZlYXR1cmUgYW5kIHJlc3RvcmVzIG5vcm1hbCBiZWhhdmlvci4KPiA+ Pj4gKwkgKi8KPiA+Pj4gKwllaGNpX3dyaXRlKGhjZC0+cmVncywgRUhDSV9JTlNOUkVHMDQsCj4g Pj4+ICsJCSAgIEVIQ0lfSU5TTlJFRzA0X0RJU0FCTEVfVU5TVVNQRU5EKTsgICAgCj4gPj4KPiA+ PiBEb2Vzbid0IHRoaXMgY29kZSBiZWxvbmcgaW4gZWhjaV9oY2Rfb21hcF9wcm9iZSgpPyAgSSBh c3N1bWUgeW91IG9ubHkKPiA+PiBuZWVkIHRvIHNldCB0aGlzIHVuZG9jdW1lbnRlZCBiaXQgb25j ZSwgbm90IGV2ZXJ5IHRpbWUgdGhlIGNvbnRyb2xsZXIKPiA+PiBpcyBzdXNwZW5kZWQuICBBbmQg aW4gYW55IGNhc2UsIGFjY29yZGluZyB0byB0aGUgY29tbWVudCwgeW91IHdvdWxkCj4gPj4gbmVl ZCB0byB0YWtlIGNhcmUgb2YgdGhpcyBiZWZvcmUgdGhlIHJvb3QgaHViIGlzIHN1c3BlbmRlZCAt LSBieSB0aGUKPiA+PiB0aW1lIHRoZSBjb250cm9sbGVyIGlzIHN1c3BlbmRlZCwgaXQgaXMgYWxy ZWFkeSB0b28gbGF0ZS4KPiA+PiAgCj4gPiAgCj4gPiBJIGFtIG5vdCByZWFsbHkgc3VyZSBhYm91 dCB0aGlzIG9uZS4gSXQgaXMgc2V0IGluIGVoY2lfaGNkX29tYXBfcHJvYmUoKQo+ID4gc28gaXQg aXMgc2V0IGJlZm9yZSBzdXNwZW5kLiBJIHNldCBpdCBoZXJlIHRvIGVuc3VyZSBpdCBpcyByZS1z ZXQgd2hlbgo+ID4gdGhlIGNvbnRyb2xsZXIgaXMgcG93ZXJlZCBkb3duIHRvbyBtdWNoIHRvIGtl ZXAgcmVnaXN0ZXIgY29udGVudHMuIEkKPiA+IGRvIG5vdCBrbm93IGlmIHRoYXQgaXMgdGhlIGNh c2UuIEJ1dCBJIHRob3VnaHQgaXQgd291bGQgbm90IGhhcm0uCj4gPiAgIAo+IAo+IElmIHRoZSBI YXJkd2FyZSBTQVIgKFNhdmUgYW5kIHJlc3RvcmUpIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZCB0 aGVuCj4gZXZlcnl0aGluZyB3aWxsIGJlIHJlc3RvcmVkIGJ5IGhhcmR3YXJlIGFmdGVyIGEgc2xl ZXAgdG8gd2FrZSB0cmFuc2l0aW9uLgo+IAo+IEJ1dCB5b3Ugd2lsbCBuZWVkIHRoaXMgcGF0Y2gg dG8gZW5hYmxlIFNBUiBmb3IgdGhlIFVTQiBwb3dlciBkb21haW4uCj4gaHR0cHM6Ly9sa21sLm9y Zy9sa21sLzIwMTMvNy8xMC8zNTYKPiAKPiBNaXNzaW5nIHRoaXMgbWlnaHQgYmUgdGhlIHJlYXNv biB3aHkgdGhpbmdzIGJyZWFrIGZvciB5b3UgYWZ0ZXIgYSBzeXN0ZW0KPiBzdXNwZW5kL3Jlc3Vt ZS4KPiAKVGhhbmtzIGZvciB5b3VyIGhpbnRzLgpUaGVyZSBpcyBhIGZ1bGwgcGF0Y2hzZXQgZm9y IHN1c3BlbmQvcmVzdW1lIGFuZApydW50aW1lIHN1c3BlbmQgc3VwcG9ydC4gSXMgdGhhdCB0aGUg bGF0ZXN0IG9uZT8gSXMgaXQgd29ydGggdG8KY29udGludWUgb24gdGhhdC4KCkkgaGF2ZSBub3cg YSBoYWNreSB3b3JraW5nIHNvbHV0aW9uLiBJIGVuYWJsZWQgb2ZmbW9kZSBhbmQgaW5zZXJ0ZWQK YSBtc2xlZXAoNTApIGJlZm9yZSBlaGNpX3Jlc3VtZSwgc28gdGhlIHBoeSBoYXMgbW9yZSB0aW1l IHRvIGNvbWUgdXAuCgpXaGF0IEkgdGhpbmsgaXMgaGFwcGVuaW5nIGlzIHRoYXQgZWhjaSBkb2Vz IG5vdCBwdXQgdGhlIHBoeSBpbnRvCmxvd3Bvd2VyIG1vZGUgdmlhIHVscGkgcmVnaXN0ZXIgYWNj ZXNzIChSZWdpc3RlciA0LCBzdXNwZW5kTSBiaXQpLAphbmQgaWYgSSByZXNldCB0aGUgcGh5LCBp dCB3aWxsIG1ha2Ugd3JvbmcgYXNzdW1wdGlvbnMgYWJvdXQgcGh5IHN0YXRlCmlmIG5vdCBwdXQg aW4gb2ZmbW9kZS4KSSBoYXZlIHRvIGVuYWJsZSBtb3JlIGRlYnVnIHRoZXJlIHRvIHNlZSB3aGF0 IGlzIGdvaW5nIG9uIHRoZXJlLgoKUmVnYXJkcywKQW5kcmVhcwo=