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: [v7,01/12] drivers: base: Unified device connection lookup From: Heikki Krogerus Message-Id: <20180314121323.GA10347@kuha.fi.intel.com> Date: Wed, 14 Mar 2018 14:13:23 +0200 To: Greg Kroah-Hartman Cc: Hans de Goede , Darren Hart , Andy Shevchenko , MyungJoo Ham , Chanwoo Choi , Mathias Nyman , Guenter Roeck , Jun Li , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org List-ID: T24gV2VkLCBNYXIgMTQsIDIwMTggYXQgMTI6MTY6MDVQTSArMDEwMCwgR3JlZyBLcm9haC1IYXJ0 bWFuIHdyb3RlOgo+IE9uIE1vbiwgTWFyIDEyLCAyMDE4IGF0IDA1OjM0OjIwUE0gKzAzMDAsIEhl aWtraSBLcm9nZXJ1cyB3cm90ZToKPiA+IFNldmVyYWwgZnJhbWV3b3JrcyAtIGNsaywgZ3Bpbywg cGh5LCBwbXcsIGV0Yy4gLSBtYWludGFpbgo+ID4gbG9va3VwIHRhYmxlcyBmb3IgZGVzY3JpYmlu ZyBjb25uZWN0aW9ucyBhbmQgcHJvdmlkZSBjdXN0b20KPiA+IEFQSSBmb3IgaGFuZGxpbmcgdGhl bS4gVGhpcyBpbnRyb2R1Y2VzIGEgc2luZ2xlIGdlbmVyaWMKPiA+IGxvb2t1cCB0YWJsZSBhbmQg QVBJIGZvciB0aGUgY29ubmVjdGlvbnMuCj4gPiAKPiA+IFRoZSBtb3RpdmF0aW9uIGZvciB0aGlz IGNvbW1pdCBpcyBjZW50cmFsaXppbmcgdGhlCj4gPiBjb25uZWN0aW9uIGxvb2t1cCwgYnV0IHRo ZSBnb2FsIGlzIHRvIHVsdGltYXRlbHkgZXh0cmFjdCB0aGUKPiA+IGNvbm5lY3Rpb24gZGVzY3Jp cHRpb25zIGFsc28gZnJvbSBmaXJtd2FyZSBieSB1c2luZyB0aGUKPiA+IGZ3bm9kZV9ncmFwaF8q IGZ1bmN0aW9ucyBhbmQgb3RoZXIgbWVjaGFuaXNtcyB0aGF0IGFyZQo+ID4gYXZhaWxhYmxlLgo+ ID4gCj4gPiBSZXZpZXdlZC1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4K PiA+IFJldmlld2VkLWJ5OiBBbmR5IFNoZXZjaGVua28gPGFuZHkuc2hldmNoZW5rb0BnbWFpbC5j b20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBIZWlra2kgS3JvZ2VydXMgPGhlaWtraS5rcm9nZXJ1c0Bs aW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+IENoYW5nZXMgaW4gdjc6Cj4gPiAtIEFQSSBuYW1p bmcgaW1wcm92ZW1lbnRzIHN1Z2dlc3RlZCBieSBHcmVnCj4gPiAtIFByb3RvdHlwZXMgdG8gZGV2 aWNlLmgsIGFsc28gc3VnZ2VzdGVkIGJ5IEdyZWcKPiA+IC0gSSByZW1vdmVkIHRoZSBERVZDT04o KSBtYWNybyBhcyBpdCB3YXMgbm90IHVzZWQgeWV0IGFuZCBpdCBuZWVkcyB0byBiZQo+ID4gICBy ZXdyaXR0ZW4KPiA+IAo+ID4gQ2hhbmdlcyBpbiB2NjoKPiA+IC1GaXggZGF0YSBhbmQgbWF0Y2gg YXJndW1lbnRzIGJlaW5nIHN3YXBwZWQgaW4gX19kZXZpY2VfZmluZF9jb25uZWN0aW9uKCkKPiA+ ICBjYWxsIGluIGRldmljZV9maW5kX2Nvbm5lY3Rpb24oKSAoYXMgbm90aWNlZCBieSBKdW4gTGkp Cj4gPiAKPiA+IENoYW5nZXMgaW4gdjU6Cj4gPiAtQWRkIG1pc3NpbmcgZG9jdW1lbnRhdGlvbiBm b3IgQGxpc3Qgc3RydWN0IGRldmNvbiBtZW1iZXIKPiA+IAo+ID4gQ2hhbmdlcyBpbiB2NDoKPiA+ IC1BZGQgQW5keSdzIFJldmlld2VkLWJ5Cj4gPiAKPiA+IENoYW5nZXMgaW4gdjM6Cj4gPiAtVmFy aW91cyBzcGVsbGluZyBhbmQgZ3JhbWFyIGZpeGVzIGluIHRoZSBkb2NzIHBvaW50ZWQgb3V0IGJ5 IFJhbmR5IER1bmxhcAo+ID4gCj4gPiBDaGFuZ2VzIGluIHYyOgo+ID4gLUFkZCBhIChzdHJ1Y3Qg ZGV2Y29uKSBjYXN0IHRvIHRoZSBERVZDT04oKSBtYWNybwo+ID4gLS0tCj4gPiAgRG9jdW1lbnRh dGlvbi9kcml2ZXItYXBpL2RldmljZV9jb25uZWN0aW9uLnJzdCB8ICA0MyArKysrKysrKwo+ID4g IGRyaXZlcnMvYmFzZS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKy0K PiA+ICBkcml2ZXJzL2Jhc2UvZGV2Y29uLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTQx ICsrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ICBpbmNsdWRlL2xpbnV4L2RldmljZS5oICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIyICsrKysKPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDIw OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERv Y3VtZW50YXRpb24vZHJpdmVyLWFwaS9kZXZpY2VfY29ubmVjdGlvbi5yc3QKPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9iYXNlL2RldmNvbi5jCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9E b2N1bWVudGF0aW9uL2RyaXZlci1hcGkvZGV2aWNlX2Nvbm5lY3Rpb24ucnN0IGIvRG9jdW1lbnRh dGlvbi9kcml2ZXItYXBpL2RldmljZV9jb25uZWN0aW9uLnJzdAo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uYWZmYmM1NTY2YWIwCj4gPiAtLS0gL2Rldi9u dWxsCj4gPiArKysgYi9Eb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvZGV2aWNlX2Nvbm5lY3Rpb24u cnN0Cj4gPiBAQCAtMCwwICsxLDQzIEBACj4gPiArPT09PT09PT09PT09PT09PT09Cj4gPiArRGV2 aWNlIGNvbm5lY3Rpb25zCj4gPiArPT09PT09PT09PT09PT09PT09Cj4gPiArCj4gPiArSW50cm9k dWN0aW9uCj4gPiArLS0tLS0tLS0tLS0tCj4gPiArCj4gPiArRGV2aWNlcyBvZnRlbiBoYXZlIGNv bm5lY3Rpb25zIHRvIG90aGVyIGRldmljZXMgdGhhdCBhcmUgb3V0c2lkZSBvZiB0aGUgZGlyZWN0 Cj4gPiArY2hpbGQvcGFyZW50IHJlbGF0aW9uc2hpcC4gQSBzZXJpYWwgb3IgbmV0d29yayBjb21t dW5pY2F0aW9uIGNvbnRyb2xsZXIsIHdoaWNoCj4gPiArY291bGQgYmUgYSBQQ0kgZGV2aWNlLCBt YXkgbmVlZCB0byBiZSBhYmxlIHRvIGdldCBhIHJlZmVyZW5jZSB0byBpdHMgUEhZCj4gPiArY29t cG9uZW50LCB3aGljaCBjb3VsZCBiZSBhdHRhY2hlZCBmb3IgZXhhbXBsZSB0byB0aGUgSTJDIGJ1 cy4gU29tZSBkZXZpY2UKPiA+ICtkcml2ZXJzIG5lZWQgdG8gYmUgYWJsZSB0byBjb250cm9sIHRo ZSBjbG9ja3Mgb3IgdGhlIEdQSU9zIGZvciB0aGVpciBkZXZpY2VzLAo+ID4gK2FuZCBzbyBvbi4K PiA+ICsKPiA+ICtEZXZpY2UgY29ubmVjdGlvbnMgYXJlIGdlbmVyaWMgZGVzY3JpcHRpb25zIG9m IGFueSB0eXBlIG9mIGNvbm5lY3Rpb24gYmV0d2Vlbgo+ID4gK3R3byBzZXBhcmF0ZSBkZXZpY2Vz Lgo+ID4gKwo+ID4gK0RldmljZSBjb25uZWN0aW9ucyBhbG9uZSBkbyBub3QgY3JlYXRlIGEgZGVw ZW5kZW5jeSBiZXR3ZWVuIHRoZSB0d28gZGV2aWNlcy4KPiA+ICtUaGV5IGFyZSBvbmx5IGRlc2Ny aXB0aW9ucyB3aGljaCBhcmUgbm90IHRpZWQgdG8gZWl0aGVyIG9mIHRoZSBkZXZpY2VzIGRpcmVj dGx5Lgo+ID4gK0EgZGVwZW5kZW5jeSBiZXR3ZWVuIHRoZSB0d28gZGV2aWNlcyBleGlzdHMgb25s eSBpZiBvbmUgb2YgdGhlIHR3byBlbmRwb2ludAo+ID4gK2RldmljZXMgcmVxdWVzdHMgYSByZWZl cmVuY2UgdG8gdGhlIG90aGVyLiBUaGUgZGVzY3JpcHRpb25zIHRoZW1zZWx2ZXMgY2FuIGJlCj4g PiArZGVmaW5lZCBpbiBmaXJtd2FyZSAobm90IHlldCBzdXBwb3J0ZWQpIG9yIHRoZXkgY2FuIGJl IGJ1aWx0LWluLgo+ID4gKwo+ID4gK1VzYWdlCj4gPiArLS0tLS0KPiA+ICsKPiA+ICtEZXZpY2Ug Y29ubmVjdGlvbnMgc2hvdWxkIGV4aXN0IGJlZm9yZSBkZXZpY2UgYGAtPnByb2JlYGAgY2FsbGJh Y2sgaXMgY2FsbGVkIGZvcgo+ID4gK2VpdGhlciBlbmRwb2ludCBkZXZpY2UgaW4gdGhlIGRlc2Ny aXB0aW9uLiBJZiB0aGUgY29ubmVjdGlvbnMgYXJlIGRlZmluZWQgaW4KPiA+ICtmaXJtd2FyZSwg dGhpcyBpcyBub3QgYSBwcm9ibGVtLiBJdCBzaG91bGQgYmUgY29uc2lkZXJlZCBpZiB0aGUgY29u bmVjdGlvbgo+ID4gK2Rlc2NyaXB0aW9ucyBhcmUgImJ1aWx0LWluIiwgYW5kIG5lZWQgdG8gYmUg YWRkZWQgc2VwYXJhdGVseS4KPiA+ICsKPiA+ICtUaGUgY29ubmVjdGlvbiBkZXNjcmlwdGlvbiBj b25zaXN0cyBvZiB0aGUgbmFtZXMgb2YgdGhlIHR3byBkZXZpY2VzIHdpdGggdGhlCj4gPiArY29u bmVjdGlvbiwgaS5lLiB0aGUgZW5kcG9pbnRzLCBhbmQgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRo ZSBjb25uZWN0aW9uIHdoaWNoCj4gPiAraXMgbmVlZGVkIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBj b25uZWN0aW9ucyBiZXR3ZWVuIHRoZSB0d28gZGV2aWNlcy4KPiA+ICsKPiA+ICtBZnRlciBhIGRl c2NyaXB0aW9uIGV4aXN0cywgdGhlIGRldmljZXMgaW4gaXQgY2FuIHJlcXVlc3QgcmVmZXJlbmNl IHRvIHRoZSBvdGhlcgo+ID4gK2VuZHBvaW50IGRldmljZSwgb3IgdGhleSBjYW4gcmVxdWVzdCB0 aGUgZGVzY3JpcHRpb24gaXRzZWxmLgo+ID4gKwo+ID4gK0FQSQo+ID4gKy0tLQo+ID4gKwo+ID4g Ky4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2Jhc2UvZGV2Y29uLmMKPiA+ICsgICA6IGZ1bmN0aW9u czogZGV2aWNlX2Nvbm5lY3Rpb25fZmluZF9tYXRjaCBkZXZpY2VfY29ubmVjdGlvbl9maW5kIGRl dmljZV9jb25uZWN0aW9uX2FkZCBkZXZpY2VfY29ubmVjdGlvbl9yZW1vdmUKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2Jhc2UvTWFrZWZpbGUgYi9kcml2ZXJzL2Jhc2UvTWFrZWZpbGUKPiA+IGlu ZGV4IGUzMmE1MjQ5MDA1MS4uMTJhN2Y2NGQzNWE5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9i YXNlL01ha2VmaWxlCj4gPiArKysgYi9kcml2ZXJzL2Jhc2UvTWFrZWZpbGUKPiA+IEBAIC01LDcg KzUsOCBAQCBvYmoteQkJCTo9IGNvbXBvbmVudC5vIGNvcmUubyBidXMubyBkZC5vIHN5c2NvcmUu byBcCj4gPiAgCQkJICAgZHJpdmVyLm8gY2xhc3MubyBwbGF0Zm9ybS5vIFwKPiA+ICAJCQkgICBj cHUubyBmaXJtd2FyZS5vIGluaXQubyBtYXAubyBkZXZyZXMubyBcCj4gPiAgCQkJICAgYXR0cmli dXRlX2NvbnRhaW5lci5vIHRyYW5zcG9ydF9jbGFzcy5vIFwKPiA+IC0JCQkgICB0b3BvbG9neS5v IGNvbnRhaW5lci5vIHByb3BlcnR5Lm8gY2FjaGVpbmZvLm8KPiA+ICsJCQkgICB0b3BvbG9neS5v IGNvbnRhaW5lci5vIHByb3BlcnR5Lm8gY2FjaGVpbmZvLm8gXAo+ID4gKwkJCSAgIGRldmNvbi5v Cj4gPiAgb2JqLSQoQ09ORklHX0RFVlRNUEZTKQkrPSBkZXZ0bXBmcy5vCj4gPiAgb2JqLSQoQ09O RklHX0RNQV9DTUEpICs9IGRtYS1jb250aWd1b3VzLm8KPiA+ICBvYmoteQkJCSs9IHBvd2VyLwo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZS9kZXZjb24uYyBiL2RyaXZlcnMvYmFzZS9kZXZj b24uYwo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTc4 M2MyYzJlZDFhCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9kcml2ZXJzL2Jhc2UvZGV2Y29u LmMKPiA+IEBAIC0wLDAgKzEsMTQxIEBACj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAKPiA+ICsvKioKPiA+ICsgKiBEZXZpY2UgY29ubmVjdGlvbnMKPiA+ICsgKgo+ID4g KyAqIENvcHlyaWdodCAoQykgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gKyAqIEF1dGhvcjog SGVpa2tpIEtyb2dlcnVzIDxoZWlra2kua3JvZ2VydXNAbGludXguaW50ZWwuY29tPgo+ID4gKyAq Lwo+ID4gKwo+ID4gKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KPiA+ICsKPiA+ICtzdGF0aWMg REVGSU5FX01VVEVYKGRldmNvbl9sb2NrKTsKPiA+ICtzdGF0aWMgTElTVF9IRUFEKGRldmNvbl9s aXN0KTsKPiA+ICsKPiA+ICsvKioKPiA+ICsgKiBkZXZpY2VfY29ubmVjdGlvbl9maW5kX21hdGNo IC0gRmluZCBwaHlzaWNhbCBjb25uZWN0aW9uIHRvIGEgZGV2aWNlCj4gPiArICogQGRldjogRGV2 aWNlIHdpdGggdGhlIGNvbm5lY3Rpb24KPiA+ICsgKiBAY29uX2lkOiBJZGVudGlmaWVyIGZvciB0 aGUgY29ubmVjdGlvbgo+ID4gKyAqIEBkYXRhOiBEYXRhIGZvciB0aGUgbWF0Y2ggZnVuY3Rpb24K PiA+ICsgKiBAbWF0Y2g6IEZ1bmN0aW9uIHRvIGNoZWNrIGFuZCBjb252ZXJ0IHRoZSBjb25uZWN0 aW9uIGRlc2NyaXB0aW9uCj4gPiArICoKPiA+ICsgKiBGaW5kIGEgY29ubmVjdGlvbiB3aXRoIHVu aXF1ZSBpZGVudGlmaWVyIEBjb25faWQgYmV0d2VlbiBAZGV2IGFuZCBhbm90aGVyCj4gPiArICog ZGV2aWNlLiBAbWF0Y2ggd2lsbCBiZSB1c2VkIHRvIGNvbnZlcnQgdGhlIGNvbm5lY3Rpb24gZGVz Y3JpcHRpb24gdG8gZGF0YSB0aGUKPiA+ICsgKiBjYWxsZXIgaXMgZXhwZWN0aW5nIHRvIGJlIHJl dHVybmVkLgo+ID4gKyAqLwo+ID4gK3ZvaWQgKmRldmljZV9jb25uZWN0aW9uX2ZpbmRfbWF0Y2go c3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICpjb25faWQsCj4gPiArCQkJICAgICAgIHZv aWQgKmRhdGEsCj4gPiArCQkJICAgICAgIHZvaWQgKigqbWF0Y2gpKHN0cnVjdCBkZXZpY2VfY29u bmVjdGlvbiAqY29uLAo+ID4gKwkJCQkJICAgICAgaW50IGVwLCB2b2lkICpkYXRhKSkKPiA+ICt7 Cj4gPiArCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBkZXZfbmFtZShkZXYpOwo+ID4gKwlzdHJ1Y3Qg ZGV2aWNlX2Nvbm5lY3Rpb24gKmNvbjsKPiA+ICsJdm9pZCAqcmV0ID0gTlVMTDsKPiA+ICsJaW50 IGVwOwo+ID4gKwo+ID4gKwlpZiAoIW1hdGNoKQo+ID4gKwkJcmV0dXJuIE5VTEw7Cj4gPiArCj4g PiArCXJjdV9yZWFkX2xvY2soKTsKPiAKPiBXYWl0LCB3aHkgYXJlIHlvdSB1c2luZyByY3UgYXQg YWxsIGZvciB0aGlzPyAgVGhpcyBpcyBub3QgYSAiaGVhdnkiCj4gb3BlcmF0aW9uIHRoYXQgeW91 IG5lZWQgdG8gY2FyZSBhYm91dCBzcGVlZCBmb3IsIHJpZ2h0PyAgV2h5IGdldCByY3UKPiBpbnZv bHZlZCBhdCBhbGwgaW4gdGhpcyB0eXBlIG9mIHRoaW5nPwo+IAo+IFllcywgdGhlIGxpbmtzIGlu IHRoZSBkcml2ZXIgY29yZSBzZWVtIHRvIGJlIHVzaW5nIHJjdSwgd2hpY2ggSSBkaWRuJ3QKPiBu b3RpY2UgdW50aWwgcmlnaHQgbm93LCBhbmQgSSBjYW4ndCByZW1lbWJlciB3aHkgb3Igd2hlbiB0 aGF0IGhhcHBlbmVkLgo+IExldCdzIG5vdCBtYWtlIHRoaXMgbW9yZSBjb21wbGV4IHRoYW4gaXQg aGFzIHRvIGJlIHBsZWFzZS4KCk9LLiBNYWtlcyBzZW5zZS4KCj4gU29ycnkgSSBtaXNzZWQgdGhp cyB0aGUgbGFzdCByZXZpZXcgY3ljbGVzLgoKTnAuIEknbGwgcHJlcGFyZSB2OC4gVGhpcyB3aWxs IG5vdCBhZmZlY3QgdGhlIG90aGVyIHBhdGNoZXMsIHNvIGlzIGl0CmVub3VnaCBpZiBJIGp1c3Qg dXBkYXRlIHRoaXMgcGF0Y2g/IE9yIGRvIHlvdSBwcmVmZXIgdGhhdCBJIHJlLXNlbmQKdGhlIHdo b2xlIHNlcmllcz8KCgpUaGFua3MsCg==