From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Nicol=C3=B2=20Veronese?= Subject: [PATCH 1/2] ASoC: add generic simple-amplifier support Date: Mon, 25 Jun 2018 13:06:16 +0200 Message-ID: <1529924777-21136-1-git-send-email-nicveronese@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by alsa0.perex.cz (Postfix) with ESMTP id 55EDB2675FB for ; Mon, 25 Jun 2018 13:06:35 +0200 (CEST) Received: by mail-wm0-f65.google.com with SMTP id u18-v6so5018981wmc.1 for ; Mon, 25 Jun 2018 04:06:35 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: broonie@kernel.org, alsa-devel@alsa-project.org Cc: =?UTF-8?q?Nicol=C3=B2=20Veronese?= List-Id: alsa-devel@alsa-project.org TWFueSBib2FyZHMgaGF2ZSBzcGVha2VyIGFtcGxpZmllciBhdHRhY2hlZCBvbiBhbiBhbmFsb2cg b3V0cHV0LgpNb3N0IG9mIHRoZW0gYXJlIG9ubHkgbWFuYWdlZCBieSBhIG11dGUgb3Igc2h1dGRv d24gR1BJTy4KSW4gb3JkZXIgdG8gcmVkdWNlIGR1cGxpY2F0ZSBkcml2ZXIsIHRoaXMgcGF0Y2gg YWRkcyBnZW5lcmljL3NpbXBsZS1hbXBsaWZpZXIuCgpTaWduZWQtb2ZmLWJ5OiBOaWNvbMOyIFZl cm9uZXNlIDxuaWN2ZXJvbmVzZUBnbWFpbC5jb20+Ci0tLQogc291bmQvc29jL2dlbmVyaWMvS2Nv bmZpZyAgICAgICAgICAgIHwgICA1ICsrCiBzb3VuZC9zb2MvZ2VuZXJpYy9NYWtlZmlsZSAgICAg ICAgICAgfCAgIDIgKwogc291bmQvc29jL2dlbmVyaWMvc2ltcGxlLWFtcGxpZmllci5jIHwgMTA5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEx NiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc291bmQvc29jL2dlbmVyaWMvc2lt cGxlLWFtcGxpZmllci5jCgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2dlbmVyaWMvS2NvbmZpZyBi L3NvdW5kL3NvYy9nZW5lcmljL0tjb25maWcKaW5kZXggYzk1NGJlMC4uYWNlMTdjM2EgMTAwNjQ0 Ci0tLSBhL3NvdW5kL3NvYy9nZW5lcmljL0tjb25maWcKKysrIGIvc291bmQvc29jL2dlbmVyaWMv S2NvbmZpZwpAQCAtNyw2ICs3LDExIEBAIGNvbmZpZyBTTkRfU0lNUExFX0NBUkQKIAloZWxwCiAJ ICBUaGlzIG9wdGlvbiBlbmFibGVzIGdlbmVyaWMgc2ltcGxlIHNvdW5kIGNhcmQgc3VwcG9ydAog Citjb25maWcgU05EX1NJTVBMRV9BTVBMSUZJRVIKKwl0cmlzdGF0ZSAiQVNvQyBTaW1wbGUgQW1w bGlmaWVyIHN1cHBvcnQiCisJaGVscAorCSAgVGhpcyBvcHRpb24gZW5hYmxlcyBnZW5lcmljIHNp bXBsZSBhbXBsaWZpZXIgc3VwcG9ydAorCiBjb25maWcgU05EX1NJTVBMRV9TQ1VfQ0FSRAogCXRy aXN0YXRlICJBU29DIFNpbXBsZSBTQ1Ugc291bmQgY2FyZCBzdXBwb3J0IgogCWRlcGVuZHMgb24g T0YKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9nZW5lcmljL01ha2VmaWxlIGIvc291bmQvc29jL2dl bmVyaWMvTWFrZWZpbGUKaW5kZXggOWRlYzI5My4uODA1YTc0NiAxMDA2NDQKLS0tIGEvc291bmQv c29jL2dlbmVyaWMvTWFrZWZpbGUKKysrIGIvc291bmQvc29jL2dlbmVyaWMvTWFrZWZpbGUKQEAg LTEsMTIgKzEsMTQgQEAKICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKIHNuZC1z b2Mtc2ltcGxlLWNhcmQtdXRpbHMtb2Jqcwk6PSBzaW1wbGUtY2FyZC11dGlscy5vCiBzbmQtc29j LXNpbXBsZS1jYXJkLW9ianMJOj0gc2ltcGxlLWNhcmQubworc25kLXNvYy1zaW1wbGUtYW1wbGlm aWVyLW9ianMJCTo9IHNpbXBsZS1hbXBsaWZpZXIubwogc25kLXNvYy1zaW1wbGUtc2N1LWNhcmQt b2Jqcwk6PSBzaW1wbGUtc2N1LWNhcmQubwogc25kLXNvYy1hdWRpby1ncmFwaC1jYXJkLW9ianMJ Oj0gYXVkaW8tZ3JhcGgtY2FyZC5vCiBzbmQtc29jLWF1ZGlvLWdyYXBoLXNjdS1jYXJkLW9ianMJ Oj0gYXVkaW8tZ3JhcGgtc2N1LWNhcmQubwogCiBvYmotJChDT05GSUdfU05EX1NJTVBMRV9DQVJE X1VUSUxTKQkrPSBzbmQtc29jLXNpbXBsZS1jYXJkLXV0aWxzLm8KIG9iai0kKENPTkZJR19TTkRf U0lNUExFX0NBUkQpCQkrPSBzbmQtc29jLXNpbXBsZS1jYXJkLm8KK29iai0kKENPTkZJR19TTkRf U0lNUExFX0FNUExJRklFUikJCSs9IHNuZC1zb2Mtc2ltcGxlLWFtcGxpZmllci5vCiBvYmotJChD T05GSUdfU05EX1NJTVBMRV9TQ1VfQ0FSRCkJKz0gc25kLXNvYy1zaW1wbGUtc2N1LWNhcmQubwog b2JqLSQoQ09ORklHX1NORF9BVURJT19HUkFQSF9DQVJEKQkrPSBzbmQtc29jLWF1ZGlvLWdyYXBo LWNhcmQubwogb2JqLSQoQ09ORklHX1NORF9BVURJT19HUkFQSF9TQ1VfQ0FSRCkJKz0gc25kLXNv Yy1hdWRpby1ncmFwaC1zY3UtY2FyZC5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZ2VuZXJpYy9z aW1wbGUtYW1wbGlmaWVyLmMgYi9zb3VuZC9zb2MvZ2VuZXJpYy9zaW1wbGUtYW1wbGlmaWVyLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTEzNWE0MwotLS0gL2Rldi9udWxs CisrKyBiL3NvdW5kL3NvYy9nZW5lcmljL3NpbXBsZS1hbXBsaWZpZXIuYwpAQCAtMCwwICsxLDEw OSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKy8vIEFMU0EgU29DIHNp bXBsZSBhbXBsaWZpZXIgZHJpdmVyCisvLworLy8gQ29weXJpZ2h0IDIwMTgKKy8vIEF1dGhvcjog IE5pY29sw7IgVmVyb25lc2UgPG5pY3Zlcm9uZXNlQGdtYWlsLmNvbT4KKworI2luY2x1ZGUgPGxp bnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1 ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29u c3VtZXIuaD4KKworI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1k YXBtLmg+CisKKy8qIFRoaXMgc3RydWN0IGlzIHVzZWQgdG8gc2F2ZSB0aGUgY29udGV4dCAqLwor c3RydWN0IHNpbXBsZV9hbXBfZGF0YSB7CisJc3RydWN0IGRldmljZSAqZGV2OworCXN0cnVjdCBy ZWdtYXAgKnJlZ21hcDsKKwlzdHJ1Y3QgZ3Bpb19kZXNjICpwb3dlcl9ncGlvOworfTsKKworc3Rh dGljIGludCBzaW1wbGVfYW1wX3Bvd2VyX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0 ICp3aWRnZXQsCisJCQkJIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjdHJsLCBpbnQgZXZlbnQpCit7 CisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVu dCh3aWRnZXQtPmRhcG0pOworCXN0cnVjdCBzaW1wbGVfYW1wX2RhdGEgKmRhdGEgPSBzbmRfc29j X2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjKTsKKworCS8qIFNodXRkb3duIEdQSU8gKi8KKyAgICBp ZiAoZGF0YS0+cG93ZXJfZ3BpbykKKyAgICAgICAgZ3Bpb2Rfc2V0X3ZhbHVlX2NhbnNsZWVwKGRh dGEtPnBvd2VyX2dwaW8sIFNORF9TT0NfREFQTV9FVkVOVF9PTihldmVudCkpOworCisJcmV0dXJu IDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCBzaW1wbGVf YW1wX2RhcG1fd2lkZ2V0c1tdID0geworCVNORF9TT0NfREFQTV9JTlBVVCgiTEVGVCBBTVAgSU4i KSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIlJJR0hUIEFNUCBJTiIpLAorCisJU05EX1NPQ19EQVBN X09VVFBVVCgiU1BLIExFRlQiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEsgUklHSFQiKSwK KworCVNORF9TT0NfREFQTV9SRUdVTEFUT1JfU1VQUExZKCJWQ0MiLCAyMCwgMCksCisJU05EX1NP Q19EQVBNX1NQSygiTVVURSIsIHNpbXBsZV9hbXBfcG93ZXJfZXZlbnQpLAorfTsKKworc3RhdGlj IGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgc2ltcGxlX2FtcF9kYXBtX3JvdXRlc1td ID0geworCXsgIk1VVEUiLCBOVUxMLCAiTEVGVCBBTVAgSU4iIH0sCisJeyAiTVVURSIsIE5VTEws ICJSSUdIVCBBTVAgSU4iIH0sCisKKwl7ICJTUEsgTEVGVCIsIE5VTEwsICJWQ0MiIH0sCisJeyAi U1BLIFJJR0hUIiwgTlVMTCwgIlZDQyIgfSwKKworCXsgIlNQSyBMRUZUIiwgTlVMTCwgIk1VVEUi IH0sCisJeyAiU1BLIFJJR0hUIiwgTlVMTCwgIk1VVEUiIH0sCit9OworCitzdGF0aWMgY29uc3Qg c3RydWN0IHNuZF9zb2NfY29tcG9uZW50X2RyaXZlciBzaW1wbGVfYW1wX2NvbXBvbmVudF9kcml2 ZXIgPSB7CisJLm5hbWUgPSAic2ltcGxlLWFtcGxpZmllciIsCisJLmRhcG1fd2lkZ2V0cyA9IHNp bXBsZV9hbXBfZGFwbV93aWRnZXRzLAorCS5udW1fZGFwbV93aWRnZXRzID0gQVJSQVlfU0laRShz aW1wbGVfYW1wX2RhcG1fd2lkZ2V0cyksCisJLmRhcG1fcm91dGVzID0gc2ltcGxlX2FtcF9kYXBt X3JvdXRlcywKKwkubnVtX2RhcG1fcm91dGVzID0gQVJSQVlfU0laRShzaW1wbGVfYW1wX2RhcG1f cm91dGVzKSwKK307CisKK3N0YXRpYyBpbnQgYXNvY19zaW1wbGVfYW1wX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNpbXBsZV9hbXBfZGF0YSAqZGF0YTsK KwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2OworCWludCByZXQ7CisKKwlkYXRhID0g ZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpkYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFkYXRh KQorCQlyZXR1cm4gLUVOT01FTTsKKwlkYXRhLT5kZXYgPSAmcGRldi0+ZGV2OworCXBsYXRmb3Jt X3NldF9kcnZkYXRhKHBkZXYsIGRhdGEpOworCisJaWYob2ZfcHJvcGVydHlfcmVhZF9ib29sKHBk ZXYtPmRldi5vZl9ub2RlLCJzaHV0ZG93bi1ncGlvcyIpKSB7CisJCWRhdGEtPnBvd2VyX2dwaW8g PSBkZXZtX2dwaW9kX2dldF9vcHRpb25hbCgmcGRldi0+ZGV2LCAic2h1dGRvd24iLCBHUElPRF9P VVRfTE9XKTsKKworCQlpZiAoSVNfRVJSKGRhdGEtPnBvd2VyX2dwaW8pKSB7CisJCQlyZXQgPSBQ VFJfRVJSKGRhdGEtPnBvd2VyX2dwaW8pOworCQkJZGV2X2VycigmcGRldi0+ZGV2LCAiRmFpbGVk IHRvIGdldCBzaHV0ZG93biBncGlvOiAlZFxuIiwgcmV0KTsKKwkJCXJldHVybiByZXQ7CisJCX0K Kwl9CisKKwlyZXR1cm4gZGV2bV9zbmRfc29jX3JlZ2lzdGVyX2NvbXBvbmVudChkZXYsCisJCQkm c2ltcGxlX2FtcF9jb21wb25lbnRfZHJpdmVyLCBOVUxMLCAwKTsKK30KKworc3RhdGljIGNvbnN0 IHN0cnVjdCBvZl9kZXZpY2VfaWQgYXNvY19zaW1wbGVfb2ZfbWF0Y2hbXSA9IHsKKwl7IC5jb21w YXRpYmxlID0gInNpbXBsZS1hdWRpby1hbXBsaWZpZXIiLCB9LAorCXt9LAorfTsKK01PRFVMRV9E RVZJQ0VfVEFCTEUob2YsIGFzb2Nfc2ltcGxlX29mX21hdGNoKTsKKworc3RhdGljIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgYXNvY19zaW1wbGVfYW1wID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1l ID0gImFzb2Mtc2ltcGxlLWFtcGxpZmllciIsCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNo X3B0cihhc29jX3NpbXBsZV9vZl9tYXRjaCksCisJfSwKKwkucHJvYmUgPSBhc29jX3NpbXBsZV9h bXBfcHJvYmUsCit9OworCittb2R1bGVfcGxhdGZvcm1fZHJpdmVyKGFzb2Nfc2ltcGxlX2FtcCk7 CisKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKK01PRFVMRV9ERVNDUklQVElPTigiQVNvQyBT aW1wbGUgQW1wbGlmaWVyIik7CitNT0RVTEVfQVVUSE9SKCJOaWNvbMOyIFZlcm9uZXNlIDxuaWN2 ZXJvbmVzZUBnbWFpbC5jb20+Iik7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KQWxzYS1kZXZlbCBtYWlsaW5nIGxpc3QKQWxzYS1kZXZl bEBhbHNhLXByb2plY3Qub3JnCmh0dHA6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1h bi9saXN0aW5mby9hbHNhLWRldmVsCg==