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: <20180216193557.2a7dbda4@aktux> Date: Fri, 16 Feb 2018 19:35:57 +0100 To: Alan Stern Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-omap@vger.kernel.org, rogerq@ti.com, Discussions about the Letux Kernel List-ID: T24gRnJpLCAxNiBGZWIgMjAxOCAxMzoxMzoxMSAtMDUwMCAoRVNUKQpBbGFuIFN0ZXJuIDxzdGVy bkByb3dsYW5kLmhhcnZhcmQuZWR1PiB3cm90ZToKCj4gT24gRnJpLCAxNiBGZWIgMjAxOCwgQW5k cmVhcyBLZW1uYWRlIHdyb3RlOgo+IAo+ID4gVGhpcyBwb3dlcnMgZG93biB0aGUgcGh5IGFuZCBv biBhIGd0YTA0IGl0IHJlZHVjZXMKPiA+IHN1c3BlbmQgY3VycmVudCBieSAxMyBtQS4KPiA+IEZv ciB1bmtub3duIHJlYXNvbnMgdXNiIGRvZXMgbm90IHBvd2VyIG9uIHByb3Blcmx5Lgo+ID4gQWxz byBjYWxsaW5nIHVzYl9waHlfc2h1dGRvd24oKSBoZXJlIGZlZWxzIHdyb25nCj4gPiBhcHBhcmVu dGx5IHRoZSByZXNldCBsaW5lIGhhcyB0byBiZSBhY3RpdmF0ZWQuCj4gPiB1c2JfcGh5X3NldF9z dXNwZW5kIGlzIG5vdCBlbm91Z2ggaGVyZS4gVGhlIHBvd2VyCj4gPiBjb25zdW1wdGlvbiBzdGls bCBzdGF5cyBhcHByb3hpbWF0ZWx5IHRoZSBzYW1lIGFzCj4gPiB3aXRob3V0IGFueSBwYXRjaC4K PiA+IAo+ID4gV2l0aCBhIGRldmljZSBjb25uZWN0ZWQgdGhlIGRldmljZSBkb2VzIG5vdCBlbnVt ZXJhdGUKPiA+IGFmdGVyIHJlc3VtZS4gQSBybW1vZCBlaGNpLW9tYXAgOyBtb2Rwcm9iZSBlaGNp LW9tYXAKPiA+IGRvZXMgbm90IG1ha2UgaXQgcmVlbnVtZXJhZGUuCj4gPiBTbyB0aGVyZSBpcyBz dGlsbCBzb21ldGhpbmcgd3JvbmcgaGVyZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogQW5kcmVh cyBLZW1uYWRlIDxhbmRyZWFzQGtlbW5hZGUuaW5mbz4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvdXNi L2hvc3QvZWhjaS1vbWFwLmMgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC9laGNpLW9tYXAu YyBiL2RyaXZlcnMvdXNiL2hvc3QvZWhjaS1vbWFwLmMKPiA+IGluZGV4IDhkOGJhZmM3MGMxZi4u MGJlMmNjZjgxODJhIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy91c2IvaG9zdC9laGNpLW9tYXAu Ywo+ID4gKysrIGIvZHJpdmVycy91c2IvaG9zdC9laGNpLW9tYXAuYwo+ID4gQEAgLTI2Niw2ICsy NjYsNTggQEAgc3RhdGljIGludCBlaGNpX2hjZF9vbWFwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiArCj4gPiArc3Rh dGljIGludCBfX21heWJlX3VudXNlZCBlaGNpX29tYXBfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpk ZXYpCj4gPiArewo+ID4gKwlzdHJ1Y3QgdXNiX2hjZCAqaGNkID0gZGV2X2dldF9kcnZkYXRhKGRl dik7Cj4gPiArCXN0cnVjdCBvbWFwX2hjZCAqb21hcCA9IChzdHJ1Y3Qgb21hcF9oY2QgKiloY2Rf dG9fZWhjaShoY2QpLT5wcml2Owo+ID4gKwlpbnQgcmV0Owo+ID4gKwlpbnQgaTsKPiA+ICsKPiA+ ICsJcmV0ID0gZWhjaV9zdXNwZW5kKGhjZCwgZmFsc2UpOwo+ID4gKwlpZiAocmV0KSB7Cj4gPiAr CQlkZXZfZXJyKGRldiwgImVoY2kgc3VzcGVuZCBmYWlsZWQ6ICVkXG4iLCByZXQpOwo+ID4gKwkJ cmV0dXJuIHJldDsKPiA+ICsJfQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgb21hcC0+bnBvcnRzOyBp KyspIHsKPiA+ICsJCWlmIChvbWFwLT5waHlbaV0pCj4gPiArCQkJdXNiX3BoeV9zaHV0ZG93bihv bWFwLT5waHlbaV0pOwo+ID4gKwl9Cj4gPiArCXBtX3J1bnRpbWVfcHV0X3N5bmMoZGV2KTsgIAo+ IAo+IFdoeSBkbyB5b3UgaW5jbHVkZSBhIHJ1bnRpbWUgUE0gY2FsbCBoZXJlLCBnaXZlbiB0aGF0 IHRoZSBkcml2ZXIKPiBkb2Vzbid0IHN1cHBvcnQgcnVudGltZSBzdXNwZW5kIG9yIHJlc3VtZT8K PiAKV2VsbCwgdGhlIHBhcmVudCAoZHJpdmVycy9tZmQvb21hcC11c2ItaG9zdC5jKSBoYXMsIGFu ZCB0aGVyZSBhcmUgcnVudGltZSBQTQpjYWxscyBoZXJlIGluIHRoZSBfcHJvYmUvX3JlbW92ZSBm dW5jdGlvbnMsIHNvIGl0IHNlZW1zIHRvIGJlIHNhbmUgdG8gZG8gaXQKaGVyZSwgdG9vLgoKCj4g PiArCj4gPiArCXJldHVybiAwOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgaW50IF9fbWF5YmVf dW51c2VkIGVoY2lfb21hcF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQo+ID4gK3sKPiA+ICsJ c3RydWN0IHVzYl9oY2QgKmhjZCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ID4gKwlzdHJ1Y3Qg b21hcF9oY2QgKm9tYXAgPSAoc3RydWN0IG9tYXBfaGNkICopaGNkX3RvX2VoY2koaGNkKS0+cHJp djsKPiA+ICsJaW50IGk7Cj4gPiArCj4gPiArCXBtX3J1bnRpbWVfZ2V0X3N5bmMoZGV2KTsKPiA+ ICsJLyoKPiA+ICsJICogQW4gdW5kb2N1bWVudGVkICJmZWF0dXJlIiBpbiB0aGUgT01BUDMgRUhD SSBjb250cm9sbGVyLAo+ID4gKwkgKiBjYXVzZXMgc3VzcGVuZGVkIHBvcnRzIHRvIGJlIHRha2Vu IG91dCBvZiBzdXNwZW5kIHdoZW4KPiA+ICsJICogdGhlIFVTQkNNRC5SdW4vU3RvcCBiaXQgaXMg Y2xlYXJlZCAoZm9yIGV4YW1wbGUgd2hlbgo+ID4gKwkgKiB3ZSBkbyBlaGNpX2J1c19zdXNwZW5k KS4KPiA+ICsJICogVGhpcyBicmVha3Mgc3VzcGVuZC1yZXN1bWUgaWYgdGhlIHJvb3QtaHViIGlz IGFsbG93ZWQKPiA+ICsJICogdG8gc3VzcGVuZC4gV3JpdGluZyAxIHRvIHRoaXMgdW5kb2N1bWVu dGVkIHJlZ2lzdGVyIGJpdAo+ID4gKwkgKiBkaXNhYmxlcyB0aGlzIGZlYXR1cmUgYW5kIHJlc3Rv cmVzIG5vcm1hbCBiZWhhdmlvci4KPiA+ICsJICovCj4gPiArCWVoY2lfd3JpdGUoaGNkLT5yZWdz LCBFSENJX0lOU05SRUcwNCwKPiA+ICsJCSAgIEVIQ0lfSU5TTlJFRzA0X0RJU0FCTEVfVU5TVVNQ RU5EKTsgIAo+IAo+IERvZXNuJ3QgdGhpcyBjb2RlIGJlbG9uZyBpbiBlaGNpX2hjZF9vbWFwX3By b2JlKCk/ICBJIGFzc3VtZSB5b3Ugb25seQo+IG5lZWQgdG8gc2V0IHRoaXMgdW5kb2N1bWVudGVk IGJpdCBvbmNlLCBub3QgZXZlcnkgdGltZSB0aGUgY29udHJvbGxlcgo+IGlzIHN1c3BlbmRlZC4g IEFuZCBpbiBhbnkgY2FzZSwgYWNjb3JkaW5nIHRvIHRoZSBjb21tZW50LCB5b3Ugd291bGQKPiBu ZWVkIHRvIHRha2UgY2FyZSBvZiB0aGlzIGJlZm9yZSB0aGUgcm9vdCBodWIgaXMgc3VzcGVuZGVk IC0tIGJ5IHRoZQo+IHRpbWUgdGhlIGNvbnRyb2xsZXIgaXMgc3VzcGVuZGVkLCBpdCBpcyBhbHJl YWR5IHRvbyBsYXRlLgo+CiAKSSBhbSBub3QgcmVhbGx5IHN1cmUgYWJvdXQgdGhpcyBvbmUuIEl0 IGlzIHNldCBpbiBlaGNpX2hjZF9vbWFwX3Byb2JlKCkKc28gaXQgaXMgc2V0IGJlZm9yZSBzdXNw ZW5kLiBJIHNldCBpdCBoZXJlIHRvIGVuc3VyZSBpdCBpcyByZS1zZXQgd2hlbgp0aGUgY29udHJv bGxlciBpcyBwb3dlcmVkIGRvd24gdG9vIG11Y2ggdG8ga2VlcCByZWdpc3RlciBjb250ZW50cy4g SQpkbyBub3Qga25vdyBpZiB0aGF0IGlzIHRoZSBjYXNlLiBCdXQgSSB0aG91Z2h0IGl0IHdvdWxk IG5vdCBoYXJtLgoKUmVnYXJkcywKQW5kcmVhcwo=