From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Shevchenko Subject: [PATCH v2 3/3] gpiolib-acpi: Move acpi_dev_add_driver_gpios() et al to consumer.h Date: Tue, 30 Jul 2019 13:43:37 +0300 Message-ID: <20190730104337.21235-3-andriy.shevchenko@linux.intel.com> References: <20190730104337.21235-1-andriy.shevchenko@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 560C5F800BF for ; Tue, 30 Jul 2019 12:43:43 +0200 (CEST) In-Reply-To: <20190730104337.21235-1-andriy.shevchenko@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" To: Linus Walleij , Bartosz Golaszewski , linux-gpio@vger.kernel.org, Mika Westerberg , "Rafael J. Wysocki" , linux-acpi@vger.kernel.org Cc: alsa-devel@alsa-project.org, Jie Yang , Pierre-Louis Bossart , Liam Girdwood , Mark Brown , Andy Shevchenko List-Id: alsa-devel@alsa-project.org VGhlIEFQSSwgd2hpY2ggYmVsb25ncyB0byBHUElPIGxpYnJhcnksIGlzIGZvcmVpZ24gdG8gQUNQ SSBoZWFkZXJzLiBFYXJsaWVyCndlIG1vdmVkIG91dCBJwrJDIG91dCBvZiB0aGUgbGF0dGVyLCBh bmQgbm93IGl0J3MgdGltZSBmb3IKYWNwaV9kZXZfYWRkX2RyaXZlcl9ncGlvcygpIGV0IGFsLgoK Rm9yIHRpbWUgYmVpbmcgdGhlIGFjcGlfZ3Bpb19nZXRfaXJxX3Jlc291cmNlKCkgYW5kIGFjcGlf ZGV2X2dwaW9faXJxX2dldCgpCmFyZSBsZWZ0IHVudG91Y2hlZCBhcyB0aGV5IG5lZWQgbW9yZSB0 aG91Z2h0IGFib3V0LgoKTm90ZSwgaXQgcmVxdWlyZXMgdW5pbmxpbmUgYWNwaV9kZXZfcmVtb3Zl X2RyaXZlcl9ncGlvcygpIHRvIGtlZXAgcHVyaXR5IG9mCmNvbnN1bWVyLmguCgpDYzogUGllcnJl LUxvdWlzIEJvc3NhcnQgPHBpZXJyZS1sb3Vpcy5ib3NzYXJ0QGxpbnV4LmludGVsLmNvbT4KQ2M6 IExpYW0gR2lyZHdvb2QgPGxpYW0uci5naXJkd29vZEBsaW51eC5pbnRlbC5jb20+CkNjOiBKaWUg WWFuZyA8eWFuZy5qaWVAbGludXguaW50ZWwuY29tPgpDYzogTWFyayBCcm93biA8YnJvb25pZUBr ZXJuZWwub3JnPgpDYzogYWxzYS1kZXZlbEBhbHNhLXByb2plY3Qub3JnIChtb2RlcmF0ZWQgbGlz dDpJTlRFTCBBU29DIERSSVZFUlMpClNpZ25lZC1vZmYtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5k cml5LnNoZXZjaGVua29AbGludXguaW50ZWwuY29tPgotLS0KdjI6IG5ldyBwYXRjaAogZHJpdmVy cy9ncGlvL2dwaW9saWItYWNwaS5jICAgICAgICAgICAgICAgICAgfCAgNyArKysKIGluY2x1ZGUv bGludXgvYWNwaS5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTEgLS0tLS0tLS0tLS0tLS0t LS0tCiBpbmNsdWRlL2xpbnV4L2dwaW8vY29uc3VtZXIuaCAgICAgICAgICAgICAgICB8IDU3ICsr KysrKysrKysrKysrKysrKysrCiBzb3VuZC9zb2MvaW50ZWwvYm9hcmRzL2J5dGNodF9jeDIwNzJ4 LmMgICAgICB8ICAxICsKIHNvdW5kL3NvYy9pbnRlbC9ib2FyZHMvY2h0X2Jzd19tYXg5ODA5MF90 aS5jIHwgIDEgKwogc291bmQvc29jL2ludGVsL2JvYXJkcy9jaHRfYnN3X3J0NTY3Mi5jICAgICAg fCAgMSArCiA2IGZpbGVzIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3Bpby9ncGlvbGliLWFjcGkuYyBiL2RyaXZlcnMvZ3Bp by9ncGlvbGliLWFjcGkuYwppbmRleCBkNTRmYzZlN2M4YTkuLmZkZWU4YWZhNTMzOSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncGlvL2dwaW9saWItYWNwaS5jCisrKyBiL2RyaXZlcnMvZ3Bpby9ncGlv bGliLWFjcGkuYwpAQCAtMzgzLDYgKzM4MywxMyBAQCBpbnQgYWNwaV9kZXZfYWRkX2RyaXZlcl9n cGlvcyhzdHJ1Y3QgYWNwaV9kZXZpY2UgKmFkZXYsCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChhY3Bp X2Rldl9hZGRfZHJpdmVyX2dwaW9zKTsKIAordm9pZCBhY3BpX2Rldl9yZW1vdmVfZHJpdmVyX2dw aW9zKHN0cnVjdCBhY3BpX2RldmljZSAqYWRldikKK3sKKwlpZiAoYWRldikKKwkJYWRldi0+ZHJp dmVyX2dwaW9zID0gTlVMTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGFjcGlfZGV2X3JlbW92ZV9k cml2ZXJfZ3Bpb3MpOworCiBzdGF0aWMgdm9pZCBkZXZtX2FjcGlfZGV2X3JlbGVhc2VfZHJpdmVy X2dwaW9zKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqcmVzKQogewogCWFjcGlfZGV2X3JlbW92 ZV9kcml2ZXJfZ3Bpb3MoQUNQSV9DT01QQU5JT04oZGV2KSk7CmRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L2FjcGkuaCBiL2luY2x1ZGUvbGludXgvYWNwaS5oCmluZGV4IDk0MjZiOWFhZWQ4Ni4u ZTQwZTFlMjdlZDhlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2FjcGkuaAorKysgYi9pbmNs dWRlL2xpbnV4L2FjcGkuaApAQCAtOTk0LDYyICs5OTQsMTEgQEAgdm9pZCBfX2FjcGlfaGFuZGxl X2RlYnVnKHN0cnVjdCBfZGRlYnVnICpkZXNjcmlwdG9yLCBhY3BpX2hhbmRsZSBoYW5kbGUsIGNv bnN0IGMKICNlbmRpZgogI2VuZGlmCiAKLXN0cnVjdCBhY3BpX2dwaW9fcGFyYW1zIHsKLQl1bnNp Z25lZCBpbnQgY3JzX2VudHJ5X2luZGV4OwotCXVuc2lnbmVkIGludCBsaW5lX2luZGV4OwotCWJv b2wgYWN0aXZlX2xvdzsKLX07Ci0KLXN0cnVjdCBhY3BpX2dwaW9fbWFwcGluZyB7Ci0JY29uc3Qg Y2hhciAqbmFtZTsKLQljb25zdCBzdHJ1Y3QgYWNwaV9ncGlvX3BhcmFtcyAqZGF0YTsKLQl1bnNp Z25lZCBpbnQgc2l6ZTsKLQotLyogSWdub3JlIElvUmVzdHJpY3Rpb24gZmllbGQgKi8KLSNkZWZp bmUgQUNQSV9HUElPX1FVSVJLX05PX0lPX1JFU1RSSUNUSU9OCUJJVCgwKQotLyoKLSAqIFdoZW4g QUNQSSBHUElPIG1hcHBpbmcgdGFibGUgaXMgaW4gdXNlIHRoZSBpbmRleCBwYXJhbWV0ZXIgaW5z aWRlIGl0Ci0gKiByZWZlcnMgdG8gdGhlIEdQSU8gcmVzb3VyY2UgaW4gX0NSUyBtZXRob2QuIFRo YXQgaW5kZXggaGFzIG5vCi0gKiBkaXN0aW5jdGlvbiBvZiBhY3R1YWwgdHlwZSBvZiB0aGUgcmVz b3VyY2UuIFdoZW4gY29uc3VtZXIgd2FudHMgdG8KLSAqIGdldCBHcGlvSW8gdHlwZSBleHBsaWNp dGx5LCB0aGlzIHF1aXJrIG1heSBiZSB1c2VkLgotICovCi0jZGVmaW5lIEFDUElfR1BJT19RVUlS S19PTkxZX0dQSU9JTwkJQklUKDEpCi0KLQl1bnNpZ25lZCBpbnQgcXVpcmtzOwotfTsKLQogI2lm IGRlZmluZWQoQ09ORklHX0FDUEkpICYmIGRlZmluZWQoQ09ORklHX0dQSU9MSUIpCi1pbnQgYWNw aV9kZXZfYWRkX2RyaXZlcl9ncGlvcyhzdHJ1Y3QgYWNwaV9kZXZpY2UgKmFkZXYsCi0JCQkgICAg ICBjb25zdCBzdHJ1Y3QgYWNwaV9ncGlvX21hcHBpbmcgKmdwaW9zKTsKLQotc3RhdGljIGlubGlu ZSB2b2lkIGFjcGlfZGV2X3JlbW92ZV9kcml2ZXJfZ3Bpb3Moc3RydWN0IGFjcGlfZGV2aWNlICph ZGV2KQotewotCWlmIChhZGV2KQotCQlhZGV2LT5kcml2ZXJfZ3Bpb3MgPSBOVUxMOwotfQotCi1p bnQgZGV2bV9hY3BpX2Rldl9hZGRfZHJpdmVyX2dwaW9zKHN0cnVjdCBkZXZpY2UgKmRldiwKLQkJ CQkgICBjb25zdCBzdHJ1Y3QgYWNwaV9ncGlvX21hcHBpbmcgKmdwaW9zKTsKLXZvaWQgZGV2bV9h Y3BpX2Rldl9yZW1vdmVfZHJpdmVyX2dwaW9zKHN0cnVjdCBkZXZpY2UgKmRldik7Ci0KIGJvb2wg YWNwaV9ncGlvX2dldF9pcnFfcmVzb3VyY2Uoc3RydWN0IGFjcGlfcmVzb3VyY2UgKmFyZXMsCiAJ CQkJc3RydWN0IGFjcGlfcmVzb3VyY2VfZ3BpbyAqKmFncGlvKTsKIGludCBhY3BpX2Rldl9ncGlv X2lycV9nZXQoc3RydWN0IGFjcGlfZGV2aWNlICphZGV2LCBpbnQgaW5kZXgpOwogI2Vsc2UKLXN0 YXRpYyBpbmxpbmUgaW50IGFjcGlfZGV2X2FkZF9kcml2ZXJfZ3Bpb3Moc3RydWN0IGFjcGlfZGV2 aWNlICphZGV2LAotCQkJICAgICAgY29uc3Qgc3RydWN0IGFjcGlfZ3Bpb19tYXBwaW5nICpncGlv cykKLXsKLQlyZXR1cm4gLUVOWElPOwotfQotc3RhdGljIGlubGluZSB2b2lkIGFjcGlfZGV2X3Jl bW92ZV9kcml2ZXJfZ3Bpb3Moc3RydWN0IGFjcGlfZGV2aWNlICphZGV2KSB7fQotCi1zdGF0aWMg aW5saW5lIGludCBkZXZtX2FjcGlfZGV2X2FkZF9kcml2ZXJfZ3Bpb3Moc3RydWN0IGRldmljZSAq ZGV2LAotCQkJICAgICAgY29uc3Qgc3RydWN0IGFjcGlfZ3Bpb19tYXBwaW5nICpncGlvcykKLXsK LQlyZXR1cm4gLUVOWElPOwotfQotc3RhdGljIGlubGluZSB2b2lkIGRldm1fYWNwaV9kZXZfcmVt b3ZlX2RyaXZlcl9ncGlvcyhzdHJ1Y3QgZGV2aWNlICpkZXYpIHt9Ci0KIHN0YXRpYyBpbmxpbmUg Ym9vbCBhY3BpX2dwaW9fZ2V0X2lycV9yZXNvdXJjZShzdHJ1Y3QgYWNwaV9yZXNvdXJjZSAqYXJl cywKIAkJCQkJICAgICAgc3RydWN0IGFjcGlfcmVzb3VyY2VfZ3BpbyAqKmFncGlvKQogewpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9ncGlvL2NvbnN1bWVyLmggYi9pbmNsdWRlL2xpbnV4L2dw aW8vY29uc3VtZXIuaAppbmRleCBiNTQ4YTNmYjVlZWUuLmI3MGFmOTIxYzYxNCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9ncGlvL2NvbnN1bWVyLmgKKysrIGIvaW5jbHVkZS9saW51eC9ncGlv L2NvbnN1bWVyLmgKQEAgLTYwMiw2ICs2MDIsNjMgQEAgc3RydWN0IGdwaW9fZGVzYyAqZGV2bV9n cGlvZF9nZXRfZnJvbV9vZl9ub2RlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAogI2VuZGlmIC8qIENP TkZJR19HUElPTElCICovCiAKK3N0cnVjdCBhY3BpX2dwaW9fcGFyYW1zIHsKKwl1bnNpZ25lZCBp bnQgY3JzX2VudHJ5X2luZGV4OworCXVuc2lnbmVkIGludCBsaW5lX2luZGV4OworCWJvb2wgYWN0 aXZlX2xvdzsKK307CisKK3N0cnVjdCBhY3BpX2dwaW9fbWFwcGluZyB7CisJY29uc3QgY2hhciAq bmFtZTsKKwljb25zdCBzdHJ1Y3QgYWNwaV9ncGlvX3BhcmFtcyAqZGF0YTsKKwl1bnNpZ25lZCBp bnQgc2l6ZTsKKworLyogSWdub3JlIElvUmVzdHJpY3Rpb24gZmllbGQgKi8KKyNkZWZpbmUgQUNQ SV9HUElPX1FVSVJLX05PX0lPX1JFU1RSSUNUSU9OCUJJVCgwKQorLyoKKyAqIFdoZW4gQUNQSSBH UElPIG1hcHBpbmcgdGFibGUgaXMgaW4gdXNlIHRoZSBpbmRleCBwYXJhbWV0ZXIgaW5zaWRlIGl0 CisgKiByZWZlcnMgdG8gdGhlIEdQSU8gcmVzb3VyY2UgaW4gX0NSUyBtZXRob2QuIFRoYXQgaW5k ZXggaGFzIG5vCisgKiBkaXN0aW5jdGlvbiBvZiBhY3R1YWwgdHlwZSBvZiB0aGUgcmVzb3VyY2Uu IFdoZW4gY29uc3VtZXIgd2FudHMgdG8KKyAqIGdldCBHcGlvSW8gdHlwZSBleHBsaWNpdGx5LCB0 aGlzIHF1aXJrIG1heSBiZSB1c2VkLgorICovCisjZGVmaW5lIEFDUElfR1BJT19RVUlSS19PTkxZ X0dQSU9JTwkJQklUKDEpCisKKwl1bnNpZ25lZCBpbnQgcXVpcmtzOworfTsKKworI2lmIElTX0VO QUJMRUQoQ09ORklHX0dQSU9MSUIpICYmIElTX0VOQUJMRUQoQ09ORklHX0FDUEkpCisKK3N0cnVj dCBhY3BpX2RldmljZTsKKworaW50IGFjcGlfZGV2X2FkZF9kcml2ZXJfZ3Bpb3Moc3RydWN0IGFj cGlfZGV2aWNlICphZGV2LAorCQkJICAgICAgY29uc3Qgc3RydWN0IGFjcGlfZ3Bpb19tYXBwaW5n ICpncGlvcyk7Cit2b2lkIGFjcGlfZGV2X3JlbW92ZV9kcml2ZXJfZ3Bpb3Moc3RydWN0IGFjcGlf ZGV2aWNlICphZGV2KTsKKworaW50IGRldm1fYWNwaV9kZXZfYWRkX2RyaXZlcl9ncGlvcyhzdHJ1 Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgY29uc3Qgc3RydWN0IGFjcGlfZ3Bpb19tYXBwaW5nICpn cGlvcyk7Cit2b2lkIGRldm1fYWNwaV9kZXZfcmVtb3ZlX2RyaXZlcl9ncGlvcyhzdHJ1Y3QgZGV2 aWNlICpkZXYpOworCisjZWxzZSAgLyogQ09ORklHX0dQSU9MSUIgJiYgQ09ORklHX0FDUEkgKi8K Kworc3RydWN0IGFjcGlfZGV2aWNlOworCitzdGF0aWMgaW5saW5lIGludCBhY3BpX2Rldl9hZGRf ZHJpdmVyX2dwaW9zKHN0cnVjdCBhY3BpX2RldmljZSAqYWRldiwKKwkJCSAgICAgIGNvbnN0IHN0 cnVjdCBhY3BpX2dwaW9fbWFwcGluZyAqZ3Bpb3MpCit7CisJcmV0dXJuIC1FTlhJTzsKK30KK3N0 YXRpYyBpbmxpbmUgdm9pZCBhY3BpX2Rldl9yZW1vdmVfZHJpdmVyX2dwaW9zKHN0cnVjdCBhY3Bp X2RldmljZSAqYWRldikge30KKworc3RhdGljIGlubGluZSBpbnQgZGV2bV9hY3BpX2Rldl9hZGRf ZHJpdmVyX2dwaW9zKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBh Y3BpX2dwaW9fbWFwcGluZyAqZ3Bpb3MpCit7CisJcmV0dXJuIC1FTlhJTzsKK30KK3N0YXRpYyBp bmxpbmUgdm9pZCBkZXZtX2FjcGlfZGV2X3JlbW92ZV9kcml2ZXJfZ3Bpb3Moc3RydWN0IGRldmlj ZSAqZGV2KSB7fQorCisjZW5kaWYgLyogQ09ORklHX0dQSU9MSUIgJiYgQ09ORklHX0FDUEkgKi8K KworCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfR1BJT0xJQikgJiYgSVNfRU5BQkxFRChDT05GSUdf R1BJT19TWVNGUykKIAogaW50IGdwaW9kX2V4cG9ydChzdHJ1Y3QgZ3Bpb19kZXNjICpkZXNjLCBi b29sIGRpcmVjdGlvbl9tYXlfY2hhbmdlKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9pbnRlbC9i b2FyZHMvYnl0Y2h0X2N4MjA3MnguYyBiL3NvdW5kL3NvYy9pbnRlbC9ib2FyZHMvYnl0Y2h0X2N4 MjA3MnguYwppbmRleCA1NGFjMmZkNDE5MjUuLjY3ZjA2Yzk1ZWVjNSAxMDA2NDQKLS0tIGEvc291 bmQvc29jL2ludGVsL2JvYXJkcy9ieXRjaHRfY3gyMDcyeC5jCisrKyBiL3NvdW5kL3NvYy9pbnRl bC9ib2FyZHMvYnl0Y2h0X2N4MjA3MnguYwpAQCAtNiw2ICs2LDcgQEAKIAogI2luY2x1ZGUgPGxp bnV4L2FjcGkuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9n cGlvL2NvbnN1bWVyLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGlu dXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgpkaWZmIC0tZ2l0 IGEvc291bmQvc29jL2ludGVsL2JvYXJkcy9jaHRfYnN3X21heDk4MDkwX3RpLmMgYi9zb3VuZC9z b2MvaW50ZWwvYm9hcmRzL2NodF9ic3dfbWF4OTgwOTBfdGkuYwppbmRleCAzM2ViNzI1NDViZTYu LjA1ZGIzMTFiNTc5ZSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ludGVsL2JvYXJkcy9jaHRfYnN3 X21heDk4MDkwX3RpLmMKKysrIGIvc291bmQvc29jL2ludGVsL2JvYXJkcy9jaHRfYnN3X21heDk4 MDkwX3RpLmMKQEAgLTEyLDYgKzEyLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZG1pLmg+ CisjaW5jbHVkZSA8bGludXgvZ3Bpby9jb25zdW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVs ZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4 L3NsYWIuaD4KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9pbnRlbC9ib2FyZHMvY2h0X2Jzd19ydDU2 NzIuYyBiL3NvdW5kL3NvYy9pbnRlbC9ib2FyZHMvY2h0X2Jzd19ydDU2NzIuYwppbmRleCA0OTc3 YjVhNjVlYjguLjlkNjU3NDIxNzMwYSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ludGVsL2JvYXJk cy9jaHRfYnN3X3J0NTY3Mi5jCisrKyBiL3NvdW5kL3NvYy9pbnRlbC9ib2FyZHMvY2h0X2Jzd19y dDU2NzIuYwpAQCAtOCw2ICs4LDcgQEAKICAqICAgICAgICAgIE1lbmdkb25nIExpbiA8bWVuZ2Rv bmcubGluQGludGVsLmNvbT4KICAqLwogCisjaW5jbHVkZSA8bGludXgvZ3Bpby9jb25zdW1lci5o PgogI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAj aW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Ci0tIAoyLjIwLjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBs aXN0CkFsc2EtZGV2ZWxAYWxzYS1wcm9qZWN0Lm9yZwpodHRwczovL21haWxtYW4uYWxzYS1wcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Fsc2EtZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8E200C41517 for ; Tue, 30 Jul 2019 10:43:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6F654216C8 for ; Tue, 30 Jul 2019 10:43:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728737AbfG3Knm (ORCPT ); Tue, 30 Jul 2019 06:43:42 -0400 Received: from mga04.intel.com ([192.55.52.120]:35851 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726751AbfG3Knm (ORCPT ); Tue, 30 Jul 2019 06:43:42 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jul 2019 03:43:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,326,1559545200"; d="scan'208";a="346949225" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga005.jf.intel.com with ESMTP; 30 Jul 2019 03:43:38 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id DC83F254; Tue, 30 Jul 2019 13:43:37 +0300 (EEST) From: Andy Shevchenko To: Linus Walleij , Bartosz Golaszewski , linux-gpio@vger.kernel.org, Mika Westerberg , "Rafael J. Wysocki" , linux-acpi@vger.kernel.org Cc: Andy Shevchenko , Pierre-Louis Bossart , Liam Girdwood , Jie Yang , Mark Brown , alsa-devel@alsa-project.org Subject: [PATCH v2 3/3] gpiolib-acpi: Move acpi_dev_add_driver_gpios() et al to consumer.h Date: Tue, 30 Jul 2019 13:43:37 +0300 Message-Id: <20190730104337.21235-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190730104337.21235-1-andriy.shevchenko@linux.intel.com> References: <20190730104337.21235-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org The API, which belongs to GPIO library, is foreign to ACPI headers. Earlier we moved out I²C out of the latter, and now it's time for acpi_dev_add_driver_gpios() et al. For time being the acpi_gpio_get_irq_resource() and acpi_dev_gpio_irq_get() are left untouched as they need more thought about. Note, it requires uninline acpi_dev_remove_driver_gpios() to keep purity of consumer.h. Cc: Pierre-Louis Bossart Cc: Liam Girdwood Cc: Jie Yang Cc: Mark Brown Cc: alsa-devel@alsa-project.org (moderated list:INTEL ASoC DRIVERS) Signed-off-by: Andy Shevchenko --- v2: new patch drivers/gpio/gpiolib-acpi.c | 7 +++ include/linux/acpi.h | 51 ------------------ include/linux/gpio/consumer.h | 57 ++++++++++++++++++++ sound/soc/intel/boards/bytcht_cx2072x.c | 1 + sound/soc/intel/boards/cht_bsw_max98090_ti.c | 1 + sound/soc/intel/boards/cht_bsw_rt5672.c | 1 + 6 files changed, 67 insertions(+), 51 deletions(-) diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c index d54fc6e7c8a9..fdee8afa5339 100644 --- a/drivers/gpio/gpiolib-acpi.c +++ b/drivers/gpio/gpiolib-acpi.c @@ -383,6 +383,13 @@ int acpi_dev_add_driver_gpios(struct acpi_device *adev, } EXPORT_SYMBOL_GPL(acpi_dev_add_driver_gpios); +void acpi_dev_remove_driver_gpios(struct acpi_device *adev) +{ + if (adev) + adev->driver_gpios = NULL; +} +EXPORT_SYMBOL_GPL(acpi_dev_remove_driver_gpios); + static void devm_acpi_dev_release_driver_gpios(struct device *dev, void *res) { acpi_dev_remove_driver_gpios(ACPI_COMPANION(dev)); diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 9426b9aaed86..e40e1e27ed8e 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -994,62 +994,11 @@ void __acpi_handle_debug(struct _ddebug *descriptor, acpi_handle handle, const c #endif #endif -struct acpi_gpio_params { - unsigned int crs_entry_index; - unsigned int line_index; - bool active_low; -}; - -struct acpi_gpio_mapping { - const char *name; - const struct acpi_gpio_params *data; - unsigned int size; - -/* Ignore IoRestriction field */ -#define ACPI_GPIO_QUIRK_NO_IO_RESTRICTION BIT(0) -/* - * When ACPI GPIO mapping table is in use the index parameter inside it - * refers to the GPIO resource in _CRS method. That index has no - * distinction of actual type of the resource. When consumer wants to - * get GpioIo type explicitly, this quirk may be used. - */ -#define ACPI_GPIO_QUIRK_ONLY_GPIOIO BIT(1) - - unsigned int quirks; -}; - #if defined(CONFIG_ACPI) && defined(CONFIG_GPIOLIB) -int acpi_dev_add_driver_gpios(struct acpi_device *adev, - const struct acpi_gpio_mapping *gpios); - -static inline void acpi_dev_remove_driver_gpios(struct acpi_device *adev) -{ - if (adev) - adev->driver_gpios = NULL; -} - -int devm_acpi_dev_add_driver_gpios(struct device *dev, - const struct acpi_gpio_mapping *gpios); -void devm_acpi_dev_remove_driver_gpios(struct device *dev); - bool acpi_gpio_get_irq_resource(struct acpi_resource *ares, struct acpi_resource_gpio **agpio); int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index); #else -static inline int acpi_dev_add_driver_gpios(struct acpi_device *adev, - const struct acpi_gpio_mapping *gpios) -{ - return -ENXIO; -} -static inline void acpi_dev_remove_driver_gpios(struct acpi_device *adev) {} - -static inline int devm_acpi_dev_add_driver_gpios(struct device *dev, - const struct acpi_gpio_mapping *gpios) -{ - return -ENXIO; -} -static inline void devm_acpi_dev_remove_driver_gpios(struct device *dev) {} - static inline bool acpi_gpio_get_irq_resource(struct acpi_resource *ares, struct acpi_resource_gpio **agpio) { diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h index b548a3fb5eee..b70af921c614 100644 --- a/include/linux/gpio/consumer.h +++ b/include/linux/gpio/consumer.h @@ -602,6 +602,63 @@ struct gpio_desc *devm_gpiod_get_from_of_node(struct device *dev, #endif /* CONFIG_GPIOLIB */ +struct acpi_gpio_params { + unsigned int crs_entry_index; + unsigned int line_index; + bool active_low; +}; + +struct acpi_gpio_mapping { + const char *name; + const struct acpi_gpio_params *data; + unsigned int size; + +/* Ignore IoRestriction field */ +#define ACPI_GPIO_QUIRK_NO_IO_RESTRICTION BIT(0) +/* + * When ACPI GPIO mapping table is in use the index parameter inside it + * refers to the GPIO resource in _CRS method. That index has no + * distinction of actual type of the resource. When consumer wants to + * get GpioIo type explicitly, this quirk may be used. + */ +#define ACPI_GPIO_QUIRK_ONLY_GPIOIO BIT(1) + + unsigned int quirks; +}; + +#if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_ACPI) + +struct acpi_device; + +int acpi_dev_add_driver_gpios(struct acpi_device *adev, + const struct acpi_gpio_mapping *gpios); +void acpi_dev_remove_driver_gpios(struct acpi_device *adev); + +int devm_acpi_dev_add_driver_gpios(struct device *dev, + const struct acpi_gpio_mapping *gpios); +void devm_acpi_dev_remove_driver_gpios(struct device *dev); + +#else /* CONFIG_GPIOLIB && CONFIG_ACPI */ + +struct acpi_device; + +static inline int acpi_dev_add_driver_gpios(struct acpi_device *adev, + const struct acpi_gpio_mapping *gpios) +{ + return -ENXIO; +} +static inline void acpi_dev_remove_driver_gpios(struct acpi_device *adev) {} + +static inline int devm_acpi_dev_add_driver_gpios(struct device *dev, + const struct acpi_gpio_mapping *gpios) +{ + return -ENXIO; +} +static inline void devm_acpi_dev_remove_driver_gpios(struct device *dev) {} + +#endif /* CONFIG_GPIOLIB && CONFIG_ACPI */ + + #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS) int gpiod_export(struct gpio_desc *desc, bool direction_may_change); diff --git a/sound/soc/intel/boards/bytcht_cx2072x.c b/sound/soc/intel/boards/bytcht_cx2072x.c index 54ac2fd41925..67f06c95eec5 100644 --- a/sound/soc/intel/boards/bytcht_cx2072x.c +++ b/sound/soc/intel/boards/bytcht_cx2072x.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/sound/soc/intel/boards/cht_bsw_max98090_ti.c b/sound/soc/intel/boards/cht_bsw_max98090_ti.c index 33eb72545be6..05db311b579e 100644 --- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c +++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c @@ -12,6 +12,7 @@ */ #include +#include #include #include #include diff --git a/sound/soc/intel/boards/cht_bsw_rt5672.c b/sound/soc/intel/boards/cht_bsw_rt5672.c index 4977b5a65eb8..9d657421730a 100644 --- a/sound/soc/intel/boards/cht_bsw_rt5672.c +++ b/sound/soc/intel/boards/cht_bsw_rt5672.c @@ -8,6 +8,7 @@ * Mengdong Lin */ +#include #include #include #include -- 2.20.1