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: host: xhci-plat: Iterate over parent nodes for finding quirks From: Anurag Kumar Vulisha Message-Id: <1533560671-32640-1-git-send-email-anurag.kumar.vulisha@xilinx.com> Date: Mon, 6 Aug 2018 18:34:31 +0530 To: mathias.nyman@intel.com, gregkh@linuxfoundation.org Cc: v.anuragkumar@gmail.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Anurag Kumar Vulisha List-ID: SW4geGhjaV9wbGF0X3Byb2JlKCkgYm90aCBzeXNkZXYgYW5kIHBkZXYtPmRldiBhcmUgYmVpbmcg dXNlZApmb3IgZmluZGluZyBxdWlya3MuIFRoZXJlIGFyZSBzb21lIGRyaXZlcnMobGlrZSBkd2Mz IGhvc3QuYykKd2hpY2ggYWRkcyBxdWlya3MobGlrZSB1c2IzLWxwbS1jYXBhYmxlKSBpbnRvIHBk ZXYgYW5kIHRoZSBsb2dpYwpwcmVzZW50IGluIHhoY2lfcGxhdF9wcm9iZSgpIGNoZWNrcyBmb3Ig cXVpcmtzIGluIGVpdGhlciBzeXNkZXYKb3IgcGRldiBmb3IgZmluZGluZyB0aGUgcXVpcmtzLiBC ZWNhdXNlIG9mIHRoaXMgbG9naWMsIHNvbWUgb2YKdGhlIHF1aXJrcyBhcmUgZ2V0dGluZyBtaXNz ZWQodXNiMy1scG0tY2FwYWJsZSBxdWlyayBhZGRlZCBieSBkd2MzCmhvc3QuYyBkcml2ZXIgaXMg Z2V0dGluZyBtaXNzZWQpLlRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBieSBpdGVyYXRpbmcKb3ZlciBh bGwgdGhlIGF2YWlsYWJsZSBwYXJlbnRzIGZvciBmaW5kaW5nIHRoZSBxdWlya3MuIEluIHRoaXMg d2F5CmFsbCB0aGUgcXVpcmtzIHdoaWNoIGFyZSBwcmVzZW50IGluIGNoaWxkIG9yIHBhcmVudCBh cmUgY29ycmVjdGx5CnVwZGF0ZWQuCgpTaWduZWQtb2ZmLWJ5OiBBbnVyYWcgS3VtYXIgVnVsaXNo YSA8YW51cmFnLmt1bWFyLnZ1bGlzaGFAeGlsaW54LmNvbT4KLS0tCiBDaGFuZ2VzIGluIHYzOgoJ MS4gQXMgTWF0aGlhcyBzdWdnZXN0ZWQsIG1vdmVkIHRoZSBwb3NpdGlvbiBvZiByZWFkaW5nIGRl dmljZXRyZWUKCSAgIHByb3BlcnR5ICJpbW9kLWludGVydmFsLW5zIiBpbnRvIGZvciBsb29wCgog Q2hhbmdlcyBpbiB2MjoKCTEuIEFzIHN1Z2dlc3RlZCBieSBNYXRoaWFzLCByZXN0b3JpbmcgaW1t b2RfaW50ZXJ2YWwgY2hhbmdlcyB0bwoJICAgZGVmYXVsdAotLS0KIGRyaXZlcnMvdXNiL2hvc3Qv eGhjaS1wbGF0LmMgfCAyNyArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCAxNiBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9ob3N0L3hoY2ktcGxhdC5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXBsYXQuYwpp bmRleCBjMWIyMmZjLi5iNWExNGNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2kt cGxhdC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS1wbGF0LmMKQEAgLTE1Miw3ICsxNTIs NyBAQCBzdGF0aWMgaW50IHhoY2lfcGxhdF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQogewogCWNvbnN0IHN0cnVjdCB4aGNpX3BsYXRfcHJpdiAqcHJpdl9tYXRjaDsKIAljb25z dCBzdHJ1Y3QgaGNfZHJpdmVyCSpkcml2ZXI7Ci0Jc3RydWN0IGRldmljZQkJKnN5c2RldjsKKwlz dHJ1Y3QgZGV2aWNlCQkqc3lzZGV2LCAqdG1wZGV2OwogCXN0cnVjdCB4aGNpX2hjZAkJKnhoY2k7 CiAJc3RydWN0IHJlc291cmNlICAgICAgICAgKnJlczsKIAlzdHJ1Y3QgdXNiX2hjZAkJKmhjZDsK QEAgLTI3MiwxOSArMjcyLDI0IEBAIHN0YXRpYyBpbnQgeGhjaV9wbGF0X3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCWdvdG8gZGlzYWJsZV9jbGs7CiAJfQogCi0JaWYgKGRl dmljZV9wcm9wZXJ0eV9yZWFkX2Jvb2woc3lzZGV2LCAidXNiMi1scG0tZGlzYWJsZSIpKQotCQl4 aGNpLT5xdWlya3MgfD0gWEhDSV9IV19MUE1fRElTQUJMRTsKKwkvKiBpbW9kX2ludGVydmFsIGlz IHRoZSBpbnRlcnJ1cHQgbW9kZXJhdGlvbiB2YWx1ZSBpbiBuYW5vc2Vjb25kcy4gKi8KKwl4aGNp LT5pbW9kX2ludGVydmFsID0gNDAwMDA7CiAKLQlpZiAoZGV2aWNlX3Byb3BlcnR5X3JlYWRfYm9v bChzeXNkZXYsICJ1c2IzLWxwbS1jYXBhYmxlIikpCi0JCXhoY2ktPnF1aXJrcyB8PSBYSENJX0xQ TV9TVVBQT1JUOworCS8qIEl0ZXJhdGUgb3ZlciBhbGwgcGFyZW50IG5vZGVzIGZvciBmaW5kaW5n IHF1aXJrcyAqLworCWZvciAodG1wZGV2ID0gJnBkZXYtPmRldjsgdG1wZGV2OyB0bXBkZXYgPSB0 bXBkZXYtPnBhcmVudCkgewogCi0JaWYgKGRldmljZV9wcm9wZXJ0eV9yZWFkX2Jvb2woJnBkZXYt PmRldiwgInF1aXJrLWJyb2tlbi1wb3J0LXBlZCIpKQotCQl4aGNpLT5xdWlya3MgfD0gWEhDSV9C Uk9LRU5fUE9SVF9QRUQ7CisJCWlmIChkZXZpY2VfcHJvcGVydHlfcmVhZF9ib29sKHRtcGRldiwg InVzYjItbHBtLWRpc2FibGUiKSkKKwkJCXhoY2ktPnF1aXJrcyB8PSBYSENJX0hXX0xQTV9ESVNB QkxFOwogCi0JLyogaW1vZF9pbnRlcnZhbCBpcyB0aGUgaW50ZXJydXB0IG1vZGVyYXRpb24gdmFs dWUgaW4gbmFub3NlY29uZHMuICovCi0JeGhjaS0+aW1vZF9pbnRlcnZhbCA9IDQwMDAwOwotCWRl dmljZV9wcm9wZXJ0eV9yZWFkX3UzMihzeXNkZXYsICJpbW9kLWludGVydmFsLW5zIiwKLQkJCQkg JnhoY2ktPmltb2RfaW50ZXJ2YWwpOworCQlpZiAoZGV2aWNlX3Byb3BlcnR5X3JlYWRfYm9vbCh0 bXBkZXYsICJ1c2IzLWxwbS1jYXBhYmxlIikpCisJCQl4aGNpLT5xdWlya3MgfD0gWEhDSV9MUE1f U1VQUE9SVDsKKworCQlpZiAoZGV2aWNlX3Byb3BlcnR5X3JlYWRfYm9vbCh0bXBkZXYsICJxdWly ay1icm9rZW4tcG9ydC1wZWQiKSkKKwkJCXhoY2ktPnF1aXJrcyB8PSBYSENJX0JST0tFTl9QT1JU X1BFRDsKKworCQlkZXZpY2VfcHJvcGVydHlfcmVhZF91MzIodG1wZGV2LCAiaW1vZC1pbnRlcnZh bC1ucyIsCisJCQkJCSAmeGhjaS0+aW1vZF9pbnRlcnZhbCk7CisJfQogCiAJaGNkLT51c2JfcGh5 ID0gZGV2bV91c2JfZ2V0X3BoeV9ieV9waGFuZGxlKHN5c2RldiwgInVzYi1waHkiLCAwKTsKIAlp ZiAoSVNfRVJSKGhjZC0+dXNiX3BoeSkpIHsK