From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= Subject: [PATCH] gpio: MT7621: use a per instance irq_chip structure Date: Wed, 30 Jan 2019 16:17:48 +0100 Message-ID: <20190130151744.11145-1-opensource@vdorst.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+glpam-linux-mediatek=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: Linus Walleij , Bartosz Golaszewski , Matthias Brugger Cc: =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= , gerg-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-gpio@vger.kernel.org VGhpcyBmaXhlcyB0aGUga2VybmVsIGNvbXBsYWluczoKZ3BpbyBncGlvY2hpcDE6ICgxZTAwMDYw MC5ncGlvLWJhbmsxKTogZGV0ZWN0ZWQgaXJxY2hpcCB0aGF0IGlzIHNoYXJlZAoJICAgIHdpdGgg bXVsdGlwbGUgZ3Bpb2NoaXBzOiBwbGVhc2UgZml4IHRoZSBkcml2ZXIuCmdwaW8gZ3Bpb2NoaXAy OiAoMWUwMDA2MDAuZ3Bpby1iYW5rMik6IGRldGVjdGVkIGlycWNoaXAgdGhhdCBpcyBzaGFyZWQK CSAgICB3aXRoIG11bHRpcGxlIGdwaW9jaGlwczogcGxlYXNlIGZpeCB0aGUgZHJpdmVyLgoKU2ln bmVkLW9mZi1ieTogUmVuw6kgdmFuIERvcnN0IDxvcGVuc291cmNlQHZkb3JzdC5jb20+CkNjOiBs aW51eC1ncGlvQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtbWVkaWF0ZWtAbGlzdHMuaW5mcmFk ZWFkLm9yZwpDYzogZ2VyZ0BrZXJuZWwub3JnCi0tLQogZHJpdmVycy9ncGlvL2dwaW8tbXQ3NjIx LmMgfCAxOSArKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9u cygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwaW8vZ3Bpby1tdDc2 MjEuYyBiL2RyaXZlcnMvZ3Bpby9ncGlvLW10NzYyMS5jCmluZGV4IDAwZTk1NGYyMmJjOS4uODlm YjAwMDQ4MGRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwaW8vZ3Bpby1tdDc2MjEuYworKysgYi9k cml2ZXJzL2dwaW8vZ3Bpby1tdDc2MjEuYwpAQCAtMzAsNiArMzAsNyBAQAogI2RlZmluZSBHUElP X1JFR19FREdFCQkweEEwCiAKIHN0cnVjdCBtdGtfZ2MgeworCXN0cnVjdCBpcnFfY2hpcCBpcnFf Y2hpcDsKIAlzdHJ1Y3QgZ3Bpb19jaGlwIGNoaXA7CiAJc3BpbmxvY2tfdCBsb2NrOwogCWludCBi YW5rOwpAQCAtMTg5LDEyICsxOTAsNiBAQCBtZWRpYXRla19ncGlvX2lycV90eXBlKHN0cnVjdCBp cnFfZGF0YSAqZCwgdW5zaWduZWQgaW50IHR5cGUpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgaXJxX2NoaXAgbWVkaWF0ZWtfZ3Bpb19pcnFfY2hpcCA9IHsKLQkuaXJxX3VubWFzawkJ PSBtZWRpYXRla19ncGlvX2lycV91bm1hc2ssCi0JLmlycV9tYXNrCQk9IG1lZGlhdGVrX2dwaW9f aXJxX21hc2ssCi0JLmlycV9tYXNrX2FjawkJPSBtZWRpYXRla19ncGlvX2lycV9tYXNrLAotCS5p cnFfc2V0X3R5cGUJCT0gbWVkaWF0ZWtfZ3Bpb19pcnFfdHlwZSwKLX07CiAKIHN0YXRpYyBpbnQK IG1lZGlhdGVrX2dwaW9feGxhdGUoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwKQEAgLTI1NCw2ICsy NDksMTMgQEAgbWVkaWF0ZWtfZ3Bpb19iYW5rX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJ cmV0dXJuIHJldDsKIAl9CiAKKwlyZy0+aXJxX2NoaXAubmFtZSA9IGRldl9uYW1lKGRldik7CisJ cmctPmlycV9jaGlwLnBhcmVudF9kZXZpY2UgPSBkZXY7CisJcmctPmlycV9jaGlwLmlycV91bm1h c2sgPSBtZWRpYXRla19ncGlvX2lycV91bm1hc2s7CisJcmctPmlycV9jaGlwLmlycV9tYXNrID0g bWVkaWF0ZWtfZ3Bpb19pcnFfbWFzazsKKwlyZy0+aXJxX2NoaXAuaXJxX21hc2tfYWNrID0gbWVk aWF0ZWtfZ3Bpb19pcnFfbWFzazsKKwlyZy0+aXJxX2NoaXAuaXJxX3NldF90eXBlID0gbWVkaWF0 ZWtfZ3Bpb19pcnFfdHlwZTsKKwogCWlmIChtdGstPmdwaW9faXJxKSB7CiAJCS8qCiAJCSAqIE1h bnVhbGx5IHJlcXVlc3QgdGhlIGlycSBoZXJlIGluc3RlYWQgb2YgcGFzc2luZwpAQCAtMjcwLDE0 ICsyNzIsMTQgQEAgbWVkaWF0ZWtfZ3Bpb19iYW5rX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwK IAkJCXJldHVybiByZXQ7CiAJCX0KIAotCQlyZXQgPSBncGlvY2hpcF9pcnFjaGlwX2FkZCgmcmct PmNoaXAsICZtZWRpYXRla19ncGlvX2lycV9jaGlwLAorCQlyZXQgPSBncGlvY2hpcF9pcnFjaGlw X2FkZCgmcmctPmNoaXAsICZyZy0+aXJxX2NoaXAsCiAJCQkJCSAgIDAsIGhhbmRsZV9zaW1wbGVf aXJxLCBJUlFfVFlQRV9OT05FKTsKIAkJaWYgKHJldCkgewogCQkJZGV2X2VycihkZXYsICJmYWls ZWQgdG8gYWRkIGdwaW9jaGlwX2lycWNoaXBcbiIpOwogCQkJcmV0dXJuIHJldDsKIAkJfQogCi0J CWdwaW9jaGlwX3NldF9jaGFpbmVkX2lycWNoaXAoJnJnLT5jaGlwLCAmbWVkaWF0ZWtfZ3Bpb19p cnFfY2hpcCwKKwkJZ3Bpb2NoaXBfc2V0X2NoYWluZWRfaXJxY2hpcCgmcmctPmNoaXAsICZyZy0+ aXJxX2NoaXAsCiAJCQkJCSAgICAgbXRrLT5ncGlvX2lycSwgTlVMTCk7CiAJfQogCkBAIC0zMTAs NyArMzEyLDYgQEAgbWVkaWF0ZWtfZ3Bpb19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQogCW10ay0+Z3Bpb19pcnEgPSBpcnFfb2ZfcGFyc2VfYW5kX21hcChucCwgMCk7CiAJbXRr LT5kZXYgPSBkZXY7CiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgbXRrKTsKLQltZWRpYXRl a19ncGlvX2lycV9jaGlwLm5hbWUgPSBkZXZfbmFtZShkZXYpOwogCiAJZm9yIChpID0gMDsgaSA8 IE1US19CQU5LX0NOVDsgaSsrKSB7CiAJCXJldCA9IG1lZGlhdGVrX2dwaW9fYmFua19wcm9iZShk ZXYsIG5wLCBpKTsKLS0gCjIuMTkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkxpbnV4LW1lZGlhdGVrIG1haWxpbmcgbGlzdApMaW51eC1tZWRpYXRl a0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtbWVkaWF0ZWsK