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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 81EE2C64EC4 for ; Fri, 3 Mar 2023 08:43:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Edl6hCOsY6mRUC2bySNCYFrYcGpPL7XFZOnA+Ul1Xus=; b=ctR/nb2maw8VUv A0lyPue38R3Wcn1C6jcze4TTsprWCPWbpI08+FZERXR91x8kwuOFSShbsFZy96t5i9RK4WkMsm4tz fvshFRAv04DGj51vgiTtQNyrk4ITAjrQY0MQq4vCGUtnsmjIdy+lIexoJisPbyIkK38BWw+Fs8dTU cYf9K5wrE6GPb2aRpAu1+KUDIY5LyIOrMt082r23cRE9ibWi0H5ubmxMQQcQakLbSmLEgaK5x1g0C n2ZNPaJ+tcHqBbYSlnugG5GHdBNjJmwcoCaIH3lIzPgMfiOpINmHe1UpOn632Al/yOSWxC3sFN8Mf 7oHS6VGlR/Fz2nGUOUcA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pY0zO-005UQQ-HM; Fri, 03 Mar 2023 08:42:06 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pY0zK-005UOV-87 for linux-arm-kernel@lists.infradead.org; Fri, 03 Mar 2023 08:42:04 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 96C68B81733; Fri, 3 Mar 2023 08:42:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64BD4C433D2; Fri, 3 Mar 2023 08:41:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1677832919; bh=azjRvVmh5QtPCcQyst3g1jyvlF46sxpBu2e0AE5jEWc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=fVaxTeb3yBAGDIUfujccZ6x6eaFZwavT6a28sBUFIXrgmgcP9oXs+mwfXMJ022/Yh m/zClPKY3KbQMIOSAmYNr74j8LJ9cbrUxR7tvWTJR6kR5hAV0x9O2OCO0UOHT+jCf+ kMNFLub/+HzdF3j18UusHRMIFxSfh0WW1GetfKg/5aGdSx7/0wCmtIgiSr1YbKF5UH 0wnVoeCKY4pHaxFauiyy+Q2WaFsjt2bOqbJDYvu+B3sRBEMv8i8yBtnAWe3B8Rm9mx RKf1DIliDQMZEARqHL5xpu+cZWZYjMCeI24j4v23R2lyj5MZH+DeIvMnoQN8M8CT7P /O3GCeaSDf8GQ== Date: Fri, 3 Mar 2023 08:41:53 +0000 From: Lee Jones To: Christoph Niedermaier Cc: linux-arm-kernel@lists.infradead.org, Support Opensource , Adam Thomson , Liam Girdwood , Mark Brown , Marek Vasut , kernel@dh-electronics.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH V2 1/2] mfd: da9062: Remove IRQ requirement Message-ID: <20230303084153.GI2303077@google.com> References: <20230209105144.9351-1-cniedermaier@dh-electronics.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230209105144.9351-1-cniedermaier@dh-electronics.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230303_004202_616097_ADB8C2FF X-CRM114-Status: GOOD ( 29.69 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCAwOSBGZWIgMjAyMywgQ2hyaXN0b3BoIE5pZWRlcm1haWVyIHdyb3RlOgoKPiBUaGlz IHBhdGNoIHJlbW92ZXMgdGhlIHJlcXVpcmVtZW50IGZvciBhbiBJUlEsIGJlY2F1c2UgZm9yIHRo ZSBjb3JlCj4gZnVuY3Rpb25hbGl0eSBJUlEgaXNuJ3QgbmVlZGVkLiBTbyB0aGlzIG1ha2VzIHRo ZSBEQTkwNjEvNjIgY2hpcAo+IHVzZWFibGUgZm9yIGRlc2lnbnMgd2hpY2ggaGF2ZW4ndCBjb25u ZWN0ZWQgdGhlIElSUSBwaW4uCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIE5pZWRlcm1h aWVyIDxjbmllZGVybWFpZXJAZGgtZWxlY3Ryb25pY3MuY29tPgo+IC0tLQo+IENjOiBTdXBwb3J0 IE9wZW5zb3VyY2UgPHN1cHBvcnQub3BlbnNvdXJjZUBkaWFzZW1pLmNvbT4KPiBDYzogTGVlIEpv bmVzIDxsZWVAa2VybmVsLm9yZz4KPiBDYzogQWRhbSBUaG9tc29uIDxBZGFtLlRob21zb24uT3Bl bnNvdXJjZUBkaWFzZW1pLmNvbT4KPiBDYzogTGlhbSBHaXJkd29vZCA8bGdpcmR3b29kQGdtYWls LmNvbT4KPiBDYzogTWFyayBCcm93biA8YnJvb25pZUBrZXJuZWwub3JnPgo+IENjOiBNYXJlayBW YXN1dCA8bWFyZXhAZGVueC5kZT4KPiBDYzoga2VybmVsQGRoLWVsZWN0cm9uaWNzLmNvbQo+IENj OiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCj4gVG86IGxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwo+IC0tLQo+IFYyOiAtIFJlYmFzZSBvbiBjdXJyZW50IG5leHQgMjAy MzAyMDkKPiAgICAgLSBBZGQgTGVlIEpvbmVzIHRvIENjIGxpc3QKPiAtLS0KPiAgZHJpdmVycy9t ZmQvZGE5MDYyLWNvcmUuYyB8IDk4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCAyNSBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvZGE5MDYyLWNvcmUuYyBiL2Ry aXZlcnMvbWZkL2RhOTA2Mi1jb3JlLmMKPiBpbmRleCA0MGNkZTUxZTU3MTkuLmNhYTU5NzQwMGRk MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21mZC9kYTkwNjItY29yZS5jCj4gKysrIGIvZHJpdmVy cy9tZmQvZGE5MDYyLWNvcmUuYwo+IEBAIC0yMTIsNiArMjEyLDI3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgbWZkX2NlbGwgZGE5MDYxX2RldnNbXSA9IHsKPiAgCX0sCj4gIH07Cj4gIAo+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIGRhOTA2MV9kZXZzX3dpdGhvdXRfaXJxW10gPSB7Cgoi X25vaXJxIgoKPiArCXsKPiArCQkubmFtZQkJPSAiZGE5MDYxLWNvcmUiLAo+ICsJfSwKPiArCXsK PiArCQkubmFtZQkJPSAiZGE5MDYyLXJlZ3VsYXRvcnMiLAo+ICsJfSwKClBsYWNlIHRoZSBvbmUg bGluZSBlbnRyaWVzIG9uIG9uZSBsaW5lIHBsZWFzZS4KCkV2ZW4gYmV0dGVyLCB1c2UgTUZEX0NF TExfTkFNRSgpCgo+ICsJewo+ICsJCS5uYW1lCQk9ICJkYTkwNjEtd2F0Y2hkb2ciLAo+ICsJCS5v Zl9jb21wYXRpYmxlICA9ICJkbGcsZGE5MDYxLXdhdGNoZG9nIiwKPiArCX0sCgpNRkRfQ0VMTF9P Rig8bmFtZT4sIE5VTEwsIE5VTEwsIE5VTEwsIDAsIDxjb21wYXRpYmxlPik7Cgo+ICsJewo+ICsJ CS5uYW1lCQk9ICJkYTkwNjEtdGhlcm1hbCIsCj4gKwkJLm9mX2NvbXBhdGlibGUgID0gImRsZyxk YTkwNjEtdGhlcm1hbCIsCj4gKwl9LAo+ICsJewo+ICsJCS5uYW1lCQk9ICJkYTkwNjEtb25rZXki LAo+ICsJCS5vZl9jb21wYXRpYmxlID0gImRsZyxkYTkwNjEtb25rZXkiLAo+ICsJfSwKPiArfTsK PiArCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVzb3VyY2UgZGE5MDYyX2NvcmVfcmVzb3VyY2Vz W10gPSB7Cj4gIAlERUZJTkVfUkVTX05BTUVEKERBOTA2Ml9JUlFfVkREX1dBUk4sIDEsICJWRERf V0FSTiIsIElPUkVTT1VSQ0VfSVJRKSwKPiAgfTsKPiBAQCAtMjg4LDYgKzMwOSwzNSBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIGRhOTA2Ml9kZXZzW10gPSB7Cj4gIAl9LAo+ICB9Owo+ ICAKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtZmRfY2VsbCBkYTkwNjJfZGV2c193aXRob3V0X2ly cVtdID0gewo+ICsJewo+ICsJCS5uYW1lCQk9ICJkYTkwNjItY29yZSIsCj4gKwl9LAo+ICsJewo+ ICsJCS5uYW1lCQk9ICJkYTkwNjItcmVndWxhdG9ycyIsCj4gKwl9LAo+ICsJewo+ICsJCS5uYW1l CQk9ICJkYTkwNjItd2F0Y2hkb2ciLAo+ICsJCS5vZl9jb21wYXRpYmxlICA9ICJkbGcsZGE5MDYy LXdhdGNoZG9nIiwKPiArCX0sCj4gKwl7Cj4gKwkJLm5hbWUJCT0gImRhOTA2Mi10aGVybWFsIiwK PiArCQkub2ZfY29tcGF0aWJsZSAgPSAiZGxnLGRhOTA2Mi10aGVybWFsIiwKPiArCX0sCj4gKwl7 Cj4gKwkJLm5hbWUJCT0gImRhOTA2Mi1ydGMiLAo+ICsJCS5vZl9jb21wYXRpYmxlICA9ICJkbGcs ZGE5MDYyLXJ0YyIsCj4gKwl9LAo+ICsJewo+ICsJCS5uYW1lCQk9ICJkYTkwNjItb25rZXkiLAo+ ICsJCS5vZl9jb21wYXRpYmxlCT0gImRsZyxkYTkwNjItb25rZXkiLAo+ICsJfSwKPiArCXsKPiAr CQkubmFtZQkJPSAiZGE5MDYyLWdwaW8iLAo+ICsJCS5vZl9jb21wYXRpYmxlCT0gImRsZyxkYTkw NjItZ3BpbyIsCj4gKwl9LAo+ICt9OwoKQXMgYWJvdmUuCgo+ICBzdGF0aWMgaW50IGRhOTA2Ml9j bGVhcl9mYXVsdF9sb2coc3RydWN0IGRhOTA2MiAqY2hpcCkKPiAgewo+ICAJaW50IHJldDsKPiBA QCAtNjI1LDcgKzY3NSw3IEBAIHN0YXRpYyBpbnQgZGE5MDYyX2kyY19wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudCAqaTJjKQo+ICB7Cj4gIAljb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQgPSBp MmNfY2xpZW50X2dldF9kZXZpY2VfaWQoaTJjKTsKPiAgCXN0cnVjdCBkYTkwNjIgKmNoaXA7Cj4g LQl1bnNpZ25lZCBpbnQgaXJxX2Jhc2U7Cj4gKwl1bnNpZ25lZCBpbnQgaXJxX2Jhc2UgPSAwOwo+ ICAJY29uc3Qgc3RydWN0IG1mZF9jZWxsICpjZWxsOwo+ICAJY29uc3Qgc3RydWN0IHJlZ21hcF9p cnFfY2hpcCAqaXJxX2NoaXA7Cj4gIAljb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyAqY29uZmln Owo+IEBAIC02NDUsMjEgKzY5NSwxNiBAQCBzdGF0aWMgaW50IGRhOTA2Ml9pMmNfcHJvYmUoc3Ry dWN0IGkyY19jbGllbnQgKmkyYykKPiAgCWkyY19zZXRfY2xpZW50ZGF0YShpMmMsIGNoaXApOwo+ ICAJY2hpcC0+ZGV2ID0gJmkyYy0+ZGV2Owo+ICAKPiAtCWlmICghaTJjLT5pcnEpIHsKPiAtCQlk ZXZfZXJyKGNoaXAtPmRldiwgIk5vIElSUSBjb25maWd1cmVkXG4iKTsKPiAtCQlyZXR1cm4gLUVJ TlZBTDsKPiAtCX0KPiAtCj4gIAlzd2l0Y2ggKGNoaXAtPmNoaXBfdHlwZSkgewo+ICAJY2FzZSBD T01QQVRfVFlQRV9EQTkwNjE6Cj4gLQkJY2VsbCA9IGRhOTA2MV9kZXZzOwo+IC0JCWNlbGxfbnVt ID0gQVJSQVlfU0laRShkYTkwNjFfZGV2cyk7Cj4gKwkJY2VsbCA9IGkyYy0+aXJxID8gZGE5MDYx X2RldnMgOiBkYTkwNjFfZGV2c193aXRob3V0X2lycTsKPiArCQljZWxsX251bSA9IGkyYy0+aXJx ID8gQVJSQVlfU0laRShkYTkwNjFfZGV2cykgOiBBUlJBWV9TSVpFKGRhOTA2MV9kZXZzX3dpdGhv dXRfaXJxKTsKClRoaXMgaXMgaGlkZW91cy4KCldoeSBub3QganVzdCBOVUxMaWZ5IHRoZSByZXNv dXJjZXMgYmVsb3cgaW5zdGVhZD8KCj4gIAkJaXJxX2NoaXAgPSAmZGE5MDYxX2lycV9jaGlwOwo+ ICAJCWNvbmZpZyA9ICZkYTkwNjFfcmVnbWFwX2NvbmZpZzsKPiAgCQlicmVhazsKPiAgCWNhc2Ug Q09NUEFUX1RZUEVfREE5MDYyOgo+IC0JCWNlbGwgPSBkYTkwNjJfZGV2czsKPiAtCQljZWxsX251 bSA9IEFSUkFZX1NJWkUoZGE5MDYyX2RldnMpOwo+ICsJCWNlbGwgPSBpMmMtPmlycSA/IGRhOTA2 Ml9kZXZzIDogZGE5MDYyX2RldnNfd2l0aG91dF9pcnE7Cj4gKwkJY2VsbF9udW0gPSBpMmMtPmly cSA/IEFSUkFZX1NJWkUoZGE5MDYyX2RldnMpIDogQVJSQVlfU0laRShkYTkwNjJfZGV2c193aXRo b3V0X2lycSk7Cj4gIAkJaXJxX2NoaXAgPSAmZGE5MDYyX2lycV9jaGlwOwoKU3RpbGwgc2V0dGlu ZyB0aGlzIGRlc3BpdGUgbm8gSVJRcz8KCj4gIAkJY29uZmlnID0gJmRhOTA2Ml9yZWdtYXBfY29u ZmlnOwo+ICAJCWJyZWFrOwogIF9fCiBffHxfCiBcICAvCiAgXC8KClsuLi5dCgppZiAoaTJjLT5p cnEgPD0gMCkKICBjZWxsLT5yZXNvdXJjZXMgPSBOVUxMOwogIGNlbGwtPm51bV9yZXNvdXJjZXMg PSAwOwoKPiBAQCAtNjk1LDI5ICs3NDAsMzIgQEAgc3RhdGljIGludCBkYTkwNjJfaTJjX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4g IAo+IC0JcmV0ID0gZGE5MDYyX2NvbmZpZ3VyZV9pcnFfdHlwZShjaGlwLCBpMmMtPmlycSwgJnRy aWdnZXJfdHlwZSk7Cj4gLQlpZiAocmV0IDwgMCkgewo+IC0JCWRldl9lcnIoY2hpcC0+ZGV2LCAi RmFpbGVkIHRvIGNvbmZpZ3VyZSBJUlEgdHlwZVxuIik7Cj4gLQkJcmV0dXJuIHJldDsKPiAtCX0K PiArCWlmIChpMmMtPmlycSkgewo+ICsJCXJldCA9IGRhOTA2Ml9jb25maWd1cmVfaXJxX3R5cGUo Y2hpcCwgaTJjLT5pcnEsICZ0cmlnZ2VyX3R5cGUpOwo+ICsJCWlmIChyZXQgPCAwKSB7Cj4gKwkJ CWRldl9lcnIoY2hpcC0+ZGV2LCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBJUlEgdHlwZVxuIik7Cj4g KwkJCXJldHVybiByZXQ7Cj4gKwkJfQo+ICAKPiAtCXJldCA9IHJlZ21hcF9hZGRfaXJxX2NoaXAo Y2hpcC0+cmVnbWFwLCBpMmMtPmlycSwKPiAtCQkJdHJpZ2dlcl90eXBlIHwgSVJRRl9TSEFSRUQg fCBJUlFGX09ORVNIT1QsCj4gLQkJCS0xLCBpcnFfY2hpcCwgJmNoaXAtPnJlZ21hcF9pcnEpOwo+ IC0JaWYgKHJldCkgewo+IC0JCWRldl9lcnIoY2hpcC0+ZGV2LCAiRmFpbGVkIHRvIHJlcXVlc3Qg SVJRICVkOiAlZFxuIiwKPiAtCQkJaTJjLT5pcnEsIHJldCk7Cj4gLQkJcmV0dXJuIHJldDsKPiAt CX0KPiArCQlyZXQgPSByZWdtYXBfYWRkX2lycV9jaGlwKGNoaXAtPnJlZ21hcCwgaTJjLT5pcnEs Cj4gKwkJCQl0cmlnZ2VyX3R5cGUgfCBJUlFGX1NIQVJFRCB8IElSUUZfT05FU0hPVCwKPiArCQkJ CS0xLCBpcnFfY2hpcCwgJmNoaXAtPnJlZ21hcF9pcnEpOwo+ICsJCWlmIChyZXQpIHsKPiArCQkJ ZGV2X2VycihjaGlwLT5kZXYsICJGYWlsZWQgdG8gcmVxdWVzdCBJUlEgJWQ6ICVkXG4iLAo+ICsJ CQkJaTJjLT5pcnEsIHJldCk7Cj4gKwkJCXJldHVybiByZXQ7Cj4gKwkJfQo+ICAKPiAtCWlycV9i YXNlID0gcmVnbWFwX2lycV9jaGlwX2dldF9iYXNlKGNoaXAtPnJlZ21hcF9pcnEpOwo+ICsJCWly cV9iYXNlID0gcmVnbWFwX2lycV9jaGlwX2dldF9iYXNlKGNoaXAtPnJlZ21hcF9pcnEpOwo+ICsJ fQo+ICAKPiAgCXJldCA9IG1mZF9hZGRfZGV2aWNlcyhjaGlwLT5kZXYsIFBMQVRGT1JNX0RFVklE X05PTkUsIGNlbGwsCj4gIAkJCSAgICAgIGNlbGxfbnVtLCBOVUxMLCBpcnFfYmFzZSwKPiAgCQkJ ICAgICAgTlVMTCk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJZGV2X2VycihjaGlwLT5kZXYsICJDYW5u b3QgcmVnaXN0ZXIgY2hpbGQgZGV2aWNlc1xuIik7Cj4gLQkJcmVnbWFwX2RlbF9pcnFfY2hpcChp MmMtPmlycSwgY2hpcC0+cmVnbWFwX2lycSk7Cj4gKwkJaWYgKGkyYy0+aXJxKQo+ICsJCQlyZWdt YXBfZGVsX2lycV9jaGlwKGkyYy0+aXJxLCBjaGlwLT5yZWdtYXBfaXJxKTsKPiAgCQlyZXR1cm4g cmV0Owo+ICAJfQo+ICAKPiAtLSAKPiAyLjExLjAKPiAKCi0tIApMZWUgSm9uZXMgW+adjueQvOaW r10KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwK 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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69AA4C64EC4 for ; Fri, 3 Mar 2023 08:42:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229586AbjCCImF (ORCPT ); Fri, 3 Mar 2023 03:42:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229849AbjCCImD (ORCPT ); Fri, 3 Mar 2023 03:42:03 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA14938B4B for ; Fri, 3 Mar 2023 00:42:01 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 8DE06B81732 for ; Fri, 3 Mar 2023 08:42:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64BD4C433D2; Fri, 3 Mar 2023 08:41:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1677832919; bh=azjRvVmh5QtPCcQyst3g1jyvlF46sxpBu2e0AE5jEWc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=fVaxTeb3yBAGDIUfujccZ6x6eaFZwavT6a28sBUFIXrgmgcP9oXs+mwfXMJ022/Yh m/zClPKY3KbQMIOSAmYNr74j8LJ9cbrUxR7tvWTJR6kR5hAV0x9O2OCO0UOHT+jCf+ kMNFLub/+HzdF3j18UusHRMIFxSfh0WW1GetfKg/5aGdSx7/0wCmtIgiSr1YbKF5UH 0wnVoeCKY4pHaxFauiyy+Q2WaFsjt2bOqbJDYvu+B3sRBEMv8i8yBtnAWe3B8Rm9mx RKf1DIliDQMZEARqHL5xpu+cZWZYjMCeI24j4v23R2lyj5MZH+DeIvMnoQN8M8CT7P /O3GCeaSDf8GQ== Date: Fri, 3 Mar 2023 08:41:53 +0000 From: Lee Jones To: Christoph Niedermaier Cc: linux-arm-kernel@lists.infradead.org, Support Opensource , Adam Thomson , Liam Girdwood , Mark Brown , Marek Vasut , kernel@dh-electronics.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH V2 1/2] mfd: da9062: Remove IRQ requirement Message-ID: <20230303084153.GI2303077@google.com> References: <20230209105144.9351-1-cniedermaier@dh-electronics.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230209105144.9351-1-cniedermaier@dh-electronics.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 09 Feb 2023, Christoph Niedermaier wrote: > This patch removes the requirement for an IRQ, because for the core > functionality IRQ isn't needed. So this makes the DA9061/62 chip > useable for designs which haven't connected the IRQ pin. > > Signed-off-by: Christoph Niedermaier > --- > Cc: Support Opensource > Cc: Lee Jones > Cc: Adam Thomson > Cc: Liam Girdwood > Cc: Mark Brown > Cc: Marek Vasut > Cc: kernel@dh-electronics.com > Cc: linux-kernel@vger.kernel.org > To: linux-arm-kernel@lists.infradead.org > --- > V2: - Rebase on current next 20230209 > - Add Lee Jones to Cc list > --- > drivers/mfd/da9062-core.c | 98 +++++++++++++++++++++++++++++++++++------------ > 1 file changed, 73 insertions(+), 25 deletions(-) > > diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c > index 40cde51e5719..caa597400dd1 100644 > --- a/drivers/mfd/da9062-core.c > +++ b/drivers/mfd/da9062-core.c > @@ -212,6 +212,27 @@ static const struct mfd_cell da9061_devs[] = { > }, > }; > > +static const struct mfd_cell da9061_devs_without_irq[] = { "_noirq" > + { > + .name = "da9061-core", > + }, > + { > + .name = "da9062-regulators", > + }, Place the one line entries on one line please. Even better, use MFD_CELL_NAME() > + { > + .name = "da9061-watchdog", > + .of_compatible = "dlg,da9061-watchdog", > + }, MFD_CELL_OF(, NULL, NULL, NULL, 0, ); > + { > + .name = "da9061-thermal", > + .of_compatible = "dlg,da9061-thermal", > + }, > + { > + .name = "da9061-onkey", > + .of_compatible = "dlg,da9061-onkey", > + }, > +}; > + > static const struct resource da9062_core_resources[] = { > DEFINE_RES_NAMED(DA9062_IRQ_VDD_WARN, 1, "VDD_WARN", IORESOURCE_IRQ), > }; > @@ -288,6 +309,35 @@ static const struct mfd_cell da9062_devs[] = { > }, > }; > > +static const struct mfd_cell da9062_devs_without_irq[] = { > + { > + .name = "da9062-core", > + }, > + { > + .name = "da9062-regulators", > + }, > + { > + .name = "da9062-watchdog", > + .of_compatible = "dlg,da9062-watchdog", > + }, > + { > + .name = "da9062-thermal", > + .of_compatible = "dlg,da9062-thermal", > + }, > + { > + .name = "da9062-rtc", > + .of_compatible = "dlg,da9062-rtc", > + }, > + { > + .name = "da9062-onkey", > + .of_compatible = "dlg,da9062-onkey", > + }, > + { > + .name = "da9062-gpio", > + .of_compatible = "dlg,da9062-gpio", > + }, > +}; As above. > static int da9062_clear_fault_log(struct da9062 *chip) > { > int ret; > @@ -625,7 +675,7 @@ static int da9062_i2c_probe(struct i2c_client *i2c) > { > const struct i2c_device_id *id = i2c_client_get_device_id(i2c); > struct da9062 *chip; > - unsigned int irq_base; > + unsigned int irq_base = 0; > const struct mfd_cell *cell; > const struct regmap_irq_chip *irq_chip; > const struct regmap_config *config; > @@ -645,21 +695,16 @@ static int da9062_i2c_probe(struct i2c_client *i2c) > i2c_set_clientdata(i2c, chip); > chip->dev = &i2c->dev; > > - if (!i2c->irq) { > - dev_err(chip->dev, "No IRQ configured\n"); > - return -EINVAL; > - } > - > switch (chip->chip_type) { > case COMPAT_TYPE_DA9061: > - cell = da9061_devs; > - cell_num = ARRAY_SIZE(da9061_devs); > + cell = i2c->irq ? da9061_devs : da9061_devs_without_irq; > + cell_num = i2c->irq ? ARRAY_SIZE(da9061_devs) : ARRAY_SIZE(da9061_devs_without_irq); This is hideous. Why not just NULLify the resources below instead? > irq_chip = &da9061_irq_chip; > config = &da9061_regmap_config; > break; > case COMPAT_TYPE_DA9062: > - cell = da9062_devs; > - cell_num = ARRAY_SIZE(da9062_devs); > + cell = i2c->irq ? da9062_devs : da9062_devs_without_irq; > + cell_num = i2c->irq ? ARRAY_SIZE(da9062_devs) : ARRAY_SIZE(da9062_devs_without_irq); > irq_chip = &da9062_irq_chip; Still setting this despite no IRQs? > config = &da9062_regmap_config; > break; __ _||_ \ / \/ [...] if (i2c->irq <= 0) cell->resources = NULL; cell->num_resources = 0; > @@ -695,29 +740,32 @@ static int da9062_i2c_probe(struct i2c_client *i2c) > if (ret) > return ret; > > - ret = da9062_configure_irq_type(chip, i2c->irq, &trigger_type); > - if (ret < 0) { > - dev_err(chip->dev, "Failed to configure IRQ type\n"); > - return ret; > - } > + if (i2c->irq) { > + ret = da9062_configure_irq_type(chip, i2c->irq, &trigger_type); > + if (ret < 0) { > + dev_err(chip->dev, "Failed to configure IRQ type\n"); > + return ret; > + } > > - ret = regmap_add_irq_chip(chip->regmap, i2c->irq, > - trigger_type | IRQF_SHARED | IRQF_ONESHOT, > - -1, irq_chip, &chip->regmap_irq); > - if (ret) { > - dev_err(chip->dev, "Failed to request IRQ %d: %d\n", > - i2c->irq, ret); > - return ret; > - } > + ret = regmap_add_irq_chip(chip->regmap, i2c->irq, > + trigger_type | IRQF_SHARED | IRQF_ONESHOT, > + -1, irq_chip, &chip->regmap_irq); > + if (ret) { > + dev_err(chip->dev, "Failed to request IRQ %d: %d\n", > + i2c->irq, ret); > + return ret; > + } > > - irq_base = regmap_irq_chip_get_base(chip->regmap_irq); > + irq_base = regmap_irq_chip_get_base(chip->regmap_irq); > + } > > ret = mfd_add_devices(chip->dev, PLATFORM_DEVID_NONE, cell, > cell_num, NULL, irq_base, > NULL); > if (ret) { > dev_err(chip->dev, "Cannot register child devices\n"); > - regmap_del_irq_chip(i2c->irq, chip->regmap_irq); > + if (i2c->irq) > + regmap_del_irq_chip(i2c->irq, chip->regmap_irq); > return ret; > } > > -- > 2.11.0 > -- Lee Jones [李琼斯]