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: [1/3] ACPI / blacklist: add acpi_match_oemlist() interface From: Toshi Kani Message-Id: <20170717215912.26070-2-toshi.kani@hpe.com> Date: Mon, 17 Jul 2017 15:59:10 -0600 To: rjw@rjwysocki.net, bp@alien8.de Cc: mchehab@kernel.org, tglx@linutronix.de, srinivas.pandruvada@linux.intel.com, lenb@kernel.org, linux-acpi@vger.kernel.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, Toshi Kani List-ID: QUNQSSBPRU0gSUQgLyBPRU0gVGFibGUgSUQgLyBSZXZpc2lvbiBjYW4gYmUgdXNlZCB0byBpZGVu dGlmeQpwbGF0Zm9ybSB0eXBlIGJhc2VkIG9uIEFDUEkgZmlybXdhcmUuICBhY3BpX2JsYWNrbGlz dGVkKCksCmludGVsX3BzdGF0ZV9wbGF0Zm9ybV9wd3JfbWdtdF9leGlzdHMoKSBhbmQgc29tZSBv dGhlciBmdW5jcwpoYXZlIGJlZW4gdXNpbmcgdGhpcyB0eXBlIG9mIGNoZWNrIHRvIGRldGVjdCBh IGxpc3Qgb2YgcGxhdGZvcm1zCnRoYXQgcmVxdWlyZSBzcGVjaWFsIGhhbmRsaW5ncy4KCk1vdmUg dGhlIHBsYXRmb3JtIHR5cGUgY2hlY2sgaW4gYWNwaV9ibGFja2xpc3RlZCgpIHRvIGEgY29tbW9u CnV0aWxpdHkgZnVuY3Rpb24sIGFjcGlfbWF0Y2hfb2VtbGlzdCgpLCBzbyB0aGF0IG90aGVyIGRy aXZlcnMKZG8gbm90IGhhdmUgdG8gaW1wbGVtZW50IHRoZWlyIG93bi4KClRoZXJlIGlzIG5vIGNo YW5nZSBpbiBmdW5jdGlvbmFsaXR5LgoKU2lnbmVkLW9mZi1ieTogVG9zaGkgS2FuaSA8dG9zaGku a2FuaUBocGUuY29tPgpDYzogIlJhZmFlbCBKLiBXeXNvY2tpIiA8cmp3QHJqd3lzb2NraS5uZXQ+ CkNjOiBCb3Jpc2xhdiBQZXRrb3YgPGJwQGFsaWVuOC5kZT4KQ2M6IFRob21hcyBHbGVpeG5lciA8 dGdseEBsaW51dHJvbml4LmRlPgotLS0KIGRyaXZlcnMvYWNwaS9ibGFja2xpc3QuYyB8ICAgODQg KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9h Y3BpL3V0aWxzLmMgICAgIHwgICA0MCArKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2xp bnV4L2FjcGkuaCAgICAgfCAgIDE5ICsrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNzQgaW5z ZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0pCgotLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMg bGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtZWRhYyIgaW4KdGhlIGJvZHkg b2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8g aW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9hY3BpL2JsYWNrbGlzdC5jIGIvZHJpdmVycy9hY3BpL2JsYWNrbGlz dC5jCmluZGV4IGJiNTQyYWMuLjI4OGZlNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9ibGFj a2xpc3QuYworKysgYi9kcml2ZXJzL2FjcGkvYmxhY2tsaXN0LmMKQEAgLTMwLDMwICszMCwxMyBA QAogCiAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKIAotZW51bSBhY3BpX2JsYWNrbGlzdF9wcmVkaWNh dGVzIHsKLQlhbGxfdmVyc2lvbnMsCi0JbGVzc190aGFuX29yX2VxdWFsLAotCWVxdWFsLAotCWdy ZWF0ZXJfdGhhbl9vcl9lcXVhbCwKLX07Ci0KLXN0cnVjdCBhY3BpX2JsYWNrbGlzdF9pdGVtIHsK LQljaGFyIG9lbV9pZFs3XTsKLQljaGFyIG9lbV90YWJsZV9pZFs5XTsKLQl1MzIgb2VtX3Jldmlz aW9uOwotCWNoYXIgKnRhYmxlOwotCWVudW0gYWNwaV9ibGFja2xpc3RfcHJlZGljYXRlcyBvZW1f cmV2aXNpb25fcHJlZGljYXRlOwotCWNoYXIgKnJlYXNvbjsKLQl1MzIgaXNfY3JpdGljYWxfZXJy b3I7Ci19OwotCiBzdGF0aWMgc3RydWN0IGRtaV9zeXN0ZW1faWQgYWNwaV9yZXZfZG1pX3RhYmxl W10gX19pbml0ZGF0YTsKIAogLyoKICAqIFBPTElDWTogSWYgKmFueXRoaW5nKiBkb2Vzbid0IHdv cmssIHB1dCBpdCBvbiB0aGUgYmxhY2tsaXN0LgogICoJICAgSWYgdGhleSBhcmUgY3JpdGljYWwg ZXJyb3JzLCBtYXJrIGl0IGNyaXRpY2FsLCBhbmQgYWJvcnQgZHJpdmVyIGxvYWQuCiAgKi8KLXN0 YXRpYyBzdHJ1Y3QgYWNwaV9ibGFja2xpc3RfaXRlbSBhY3BpX2JsYWNrbGlzdFtdIF9faW5pdGRh dGEgPSB7CitzdGF0aWMgc3RydWN0IGFjcGlfb2VtbGlzdCBhY3BpX2JsYWNrbGlzdFtdIF9faW5p dGRhdGEgPSB7CiAJLyogQ29tcGFxIFByZXNhcmlvIDE3MDAgKi8KIAl7IlBUTFREICIsICIgIERT RFQgICIsIDB4MDYwNDAwMDAsIEFDUElfU0lHX0RTRFQsIGxlc3NfdGhhbl9vcl9lcXVhbCwKIAkg Ik11bHRpcGxlIHByb2JsZW1zIiwgMX0sCkBAIC02Nyw2NSArNTAsMjggQEAgc3RhdGljIHN0cnVj dCBhY3BpX2JsYWNrbGlzdF9pdGVtIGFjcGlfYmxhY2tsaXN0W10gX19pbml0ZGF0YSA9IHsKIAl7 IklCTSAgICIsICJUUDYwMEUgICIsIDB4MDAwMDAxMDUsIEFDUElfU0lHX0RTRFQsIGxlc3NfdGhh bl9vcl9lcXVhbCwKIAkgIkluY29ycmVjdCBfQURSIiwgMX0sCiAKLQl7IiJ9CisJeyB9CiB9Owog CiBpbnQgX19pbml0IGFjcGlfYmxhY2tsaXN0ZWQodm9pZCkKIHsKLQlpbnQgaSA9IDA7CisJaW50 IGk7CiAJaW50IGJsYWNrbGlzdGVkID0gMDsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgdGFi bGVfaGVhZGVyOwotCi0Jd2hpbGUgKGFjcGlfYmxhY2tsaXN0W2ldLm9lbV9pZFswXSAhPSAnXDAn KSB7Ci0JCWlmIChhY3BpX2dldF90YWJsZV9oZWFkZXIoYWNwaV9ibGFja2xpc3RbaV0udGFibGUs IDAsICZ0YWJsZV9oZWFkZXIpKSB7Ci0JCQlpKys7Ci0JCQljb250aW51ZTsKLQkJfQotCi0JCWlm IChzdHJuY21wKGFjcGlfYmxhY2tsaXN0W2ldLm9lbV9pZCwgdGFibGVfaGVhZGVyLm9lbV9pZCwg NikpIHsKLQkJCWkrKzsKLQkJCWNvbnRpbnVlOwotCQl9Ci0KLQkJaWYgKHN0cm5jbXAKLQkJICAg IChhY3BpX2JsYWNrbGlzdFtpXS5vZW1fdGFibGVfaWQsIHRhYmxlX2hlYWRlci5vZW1fdGFibGVf aWQsCi0JCSAgICAgOCkpIHsKLQkJCWkrKzsKLQkJCWNvbnRpbnVlOwotCQl9Ci0KLQkJaWYgKChh Y3BpX2JsYWNrbGlzdFtpXS5vZW1fcmV2aXNpb25fcHJlZGljYXRlID09IGFsbF92ZXJzaW9ucykK LQkJICAgIHx8IChhY3BpX2JsYWNrbGlzdFtpXS5vZW1fcmV2aXNpb25fcHJlZGljYXRlID09Ci0J CQlsZXNzX3RoYW5fb3JfZXF1YWwKLQkJCSYmIHRhYmxlX2hlYWRlci5vZW1fcmV2aXNpb24gPD0K LQkJCWFjcGlfYmxhY2tsaXN0W2ldLm9lbV9yZXZpc2lvbikKLQkJICAgIHx8IChhY3BpX2JsYWNr bGlzdFtpXS5vZW1fcmV2aXNpb25fcHJlZGljYXRlID09Ci0JCQlncmVhdGVyX3RoYW5fb3JfZXF1 YWwKLQkJCSYmIHRhYmxlX2hlYWRlci5vZW1fcmV2aXNpb24gPj0KLQkJCWFjcGlfYmxhY2tsaXN0 W2ldLm9lbV9yZXZpc2lvbikKLQkJICAgIHx8IChhY3BpX2JsYWNrbGlzdFtpXS5vZW1fcmV2aXNp b25fcHJlZGljYXRlID09IGVxdWFsCi0JCQkmJiB0YWJsZV9oZWFkZXIub2VtX3JldmlzaW9uID09 Ci0JCQlhY3BpX2JsYWNrbGlzdFtpXS5vZW1fcmV2aXNpb24pKSB7CiAKLQkJCXByaW50ayhLRVJO X0VSUiBQUkVGSVgKLQkJCSAgICAgICAiVmVuZG9yIFwiJTYuNnNcIiBTeXN0ZW0gXCIlOC44c1wi ICIKLQkJCSAgICAgICAiUmV2aXNpb24gMHgleCBoYXMgYSBrbm93biBBQ1BJIEJJT1MgcHJvYmxl bS5cbiIsCi0JCQkgICAgICAgYWNwaV9ibGFja2xpc3RbaV0ub2VtX2lkLAotCQkJICAgICAgIGFj cGlfYmxhY2tsaXN0W2ldLm9lbV90YWJsZV9pZCwKLQkJCSAgICAgICBhY3BpX2JsYWNrbGlzdFtp XS5vZW1fcmV2aXNpb24pOworCWkgPSBhY3BpX21hdGNoX29lbWxpc3QoYWNwaV9ibGFja2xpc3Qp OworCWlmIChpID49IDApIHsKKwkJcHJfZXJyKFBSRUZJWCAiVmVuZG9yIFwiJTYuNnNcIiBTeXN0 ZW0gXCIlOC44c1wiICIKKwkJICAgICAgICJSZXZpc2lvbiAweCV4IGhhcyBhIGtub3duIEFDUEkg QklPUyBwcm9ibGVtLlxuIiwKKwkJICAgICAgIGFjcGlfYmxhY2tsaXN0W2ldLm9lbV9pZCwKKwkJ ICAgICAgIGFjcGlfYmxhY2tsaXN0W2ldLm9lbV90YWJsZV9pZCwKKwkJICAgICAgIGFjcGlfYmxh Y2tsaXN0W2ldLm9lbV9yZXZpc2lvbik7CiAKLQkJCXByaW50ayhLRVJOX0VSUiBQUkVGSVgKLQkJ CSAgICAgICAiUmVhc29uOiAlcy4gVGhpcyBpcyBhICVzIGVycm9yXG4iLAotCQkJICAgICAgIGFj cGlfYmxhY2tsaXN0W2ldLnJlYXNvbiwKLQkJCSAgICAgICAoYWNwaV9ibGFja2xpc3RbaV0uCi0J CQkJaXNfY3JpdGljYWxfZXJyb3IgPyAibm9uLXJlY292ZXJhYmxlIiA6Ci0JCQkJInJlY292ZXJh YmxlIikpOworCQlwcl9lcnIoUFJFRklYICJSZWFzb246ICVzLiBUaGlzIGlzIGEgJXMgZXJyb3Jc biIsCisJCSAgICAgICBhY3BpX2JsYWNrbGlzdFtpXS5yZWFzb24sCisJCSAgICAgICAoYWNwaV9i bGFja2xpc3RbaV0uZGF0YSA/CisJCQkibm9uLXJlY292ZXJhYmxlIiA6ICJyZWNvdmVyYWJsZSIp KTsKIAotCQkJYmxhY2tsaXN0ZWQgPSBhY3BpX2JsYWNrbGlzdFtpXS5pc19jcml0aWNhbF9lcnJv cjsKLQkJCWJyZWFrOwotCQl9IGVsc2UgewotCQkJaSsrOwotCQl9CisJCWJsYWNrbGlzdGVkID0g YWNwaV9ibGFja2xpc3RbaV0uZGF0YTsKIAl9CiAKIAkodm9pZCllYXJseV9hY3BpX29zaV9pbml0 KCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2FjcGkvdXRpbHMuYyBiL2RyaXZlcnMvYWNwaS91dGls cy5jCmluZGV4IGI5ZDk1NmMuLmU1OTA5ZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS91dGls cy5jCisrKyBiL2RyaXZlcnMvYWNwaS91dGlscy5jCkBAIC04MTYsMyArODE2LDQzIEBAIHN0YXRp YyBpbnQgX19pbml0IGFjcGlfYmFja2xpZ2h0KGNoYXIgKnN0cikKIAlyZXR1cm4gMTsKIH0KIF9f c2V0dXAoImFjcGlfYmFja2xpZ2h0PSIsIGFjcGlfYmFja2xpZ2h0KTsKKworLyoqCisgKiBhY3Bp X21hdGNoX29lbWxpc3QgLSBDaGVjayBpZiB0aGUgc3lzdGVtIG1hdGNoZXMgd2l0aCBhbiBvZW0g bGlzdAorICogQG9lbTogcG9pbnRlciB0byBhY3BpX29lbWxpc3QgdGFibGUgdGVybWluYXRlZCBi eSBhIE5VTEwgZW50cnkKKyAqCisgKiBSZXR1cm4gdGhlIG1hdGNoZWQgaW5kZXggaWYgdGhlIHN5 c3RlbSBpcyBmb3VuZCBpbiB0aGUgb2VtIGxpc3QuCisgKiBPdGhlcndpc2UsIHJldHVybiBhIG5l Z2F0aXZlIGVycm9yIGNvZGUuCisgKi8KK2ludCBhY3BpX21hdGNoX29lbWxpc3QoY29uc3Qgc3Ry dWN0IGFjcGlfb2VtbGlzdCAqb2VtKQoreworCXN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciBoZHI7 CisJaW50IGlkeCA9IDA7CisKKwlpZiAoYWNwaV9kaXNhYmxlZCkKKwkJcmV0dXJuIC1FTk9ERVY7 CisKKwlmb3IgKDsgb2VtLT5vZW1faWRbMF07IG9lbSsrLCBpZHgrKykgeworCQlpZiAoQUNQSV9G QUlMVVJFKGFjcGlfZ2V0X3RhYmxlX2hlYWRlcihvZW0tPnRhYmxlLCAwLCAmaGRyKSkpCisJCQlj b250aW51ZTsKKworCQlpZiAoc3RybmNtcChvZW0tPm9lbV9pZCwgaGRyLm9lbV9pZCwgQUNQSV9P RU1fSURfU0laRSkpCisJCQljb250aW51ZTsKKworCQlpZiAoc3RybmNtcChvZW0tPm9lbV90YWJs ZV9pZCwgaGRyLm9lbV90YWJsZV9pZCwKKwkJCSAgICBBQ1BJX09FTV9UQUJMRV9JRF9TSVpFKSkK KwkJCWNvbnRpbnVlOworCisJCWlmICgob2VtLT5vZW1fcmV2aXNpb25fcHJlZGljYXRlID09IGFs bF92ZXJzaW9ucykgfHwKKwkJICAgIChvZW0tPm9lbV9yZXZpc2lvbl9wcmVkaWNhdGUgPT0gbGVz c190aGFuX29yX2VxdWFsCisJCQkmJiBoZHIub2VtX3JldmlzaW9uIDw9IG9lbS0+b2VtX3Jldmlz aW9uKSB8fAorCQkgICAgKG9lbS0+b2VtX3JldmlzaW9uX3ByZWRpY2F0ZSA9PSBncmVhdGVyX3Ro YW5fb3JfZXF1YWwKKwkJCSYmIGhkci5vZW1fcmV2aXNpb24gPj0gb2VtLT5vZW1fcmV2aXNpb24p IHx8CisJCSAgICAob2VtLT5vZW1fcmV2aXNpb25fcHJlZGljYXRlID09IGVxdWFsCisJCQkmJiBo ZHIub2VtX3JldmlzaW9uID09IG9lbS0+b2VtX3JldmlzaW9uKSkKKwkJCXJldHVybiBpZHg7CisJ fQorCisJcmV0dXJuIC1FTk9ERVY7Cit9CitFWFBPUlRfU1lNQk9MKGFjcGlfbWF0Y2hfb2VtbGlz dCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2FjcGkuaCBiL2luY2x1ZGUvbGludXgvYWNw aS5oCmluZGV4IGM3NDllZWYuLjg2NDc5YjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvYWNw aS5oCisrKyBiL2luY2x1ZGUvbGludXgvYWNwaS5oCkBAIC01NTYsNiArNTU2LDI1IEBAIGV4dGVy biBhY3BpX3N0YXR1cyBhY3BpX3BjaV9vc2NfY29udHJvbF9zZXQoYWNwaV9oYW5kbGUgaGFuZGxl LAogI2RlZmluZSBBQ1BJX09TVF9TQ19EUklWRVJfTE9BRF9GQUlMVVJFCQkweDgxCiAjZGVmaW5l IEFDUElfT1NUX1NDX0lOU0VSVF9OT1RfU1VQUE9SVEVECTB4ODIKIAorZW51bSBhY3BpX29lbWxp c3RfcHJlZGljYXRlcyB7CisJYWxsX3ZlcnNpb25zLAorCWxlc3NfdGhhbl9vcl9lcXVhbCwKKwll cXVhbCwKKwlncmVhdGVyX3RoYW5fb3JfZXF1YWwsCit9OworCisvKiBUYWJsZSBtdXN0IGJlIHRl cm1pbnRlZCBieSBhIE5VTEwgZW50cnkgKi8KK3N0cnVjdCBhY3BpX29lbWxpc3QgeworCWNoYXIJ b2VtX2lkW0FDUElfT0VNX0lEX1NJWkVdOworCWNoYXIJb2VtX3RhYmxlX2lkW0FDUElfT0VNX1RB QkxFX0lEX1NJWkVdOworCXUzMglvZW1fcmV2aXNpb247CisJY2hhcgkqdGFibGU7CisJZW51bQlh Y3BpX29lbWxpc3RfcHJlZGljYXRlcyBvZW1fcmV2aXNpb25fcHJlZGljYXRlOworCWNoYXIJKnJl YXNvbjsKKwl1MzIJZGF0YTsKK307CitpbnQgYWNwaV9tYXRjaF9vZW1saXN0KGNvbnN0IHN0cnVj dCBhY3BpX29lbWxpc3QgKm9lbSk7CisKIGV4dGVybiB2b2lkIGFjcGlfZWFybHlfaW5pdCh2b2lk KTsKIGV4dGVybiB2b2lkIGFjcGlfc3Vic3lzdGVtX2luaXQodm9pZCk7CiAK