Re: [PATCH v4 07/15] media: meson-ir-tx: Ensure clock is disabled on unbind

[email protected] Mon, 27 Jul 2026 14:51:56 +0000
Newsgroups org.infradead.lists.linux-amlogic
Message-ID <[email protected]>
VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg
NCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpQcmUtZXhpc3RpbmcgaXNzdWVzOgot
IFtIaWdoXSBNZW1vcnkgbGVhayBvZiB0aGUgcmNfZGV2IHN0cnVjdCBvbiBkcml2ZXIgdW5iaW5k
IGR1ZSB0byBtaXhpbmcgdW5tYW5hZ2VkIGFsbG9jYXRpb24gd2l0aCBtYW5hZ2VkIHJlZ2lzdHJh
dGlvbi4KLSBbSGlnaF0gSW50ZWdlciB1bmRlcmZsb3cgYW5kIGRpdmlzaW9uIGJ5IHplcm8gd2hl
biBjb25maWd1cmluZyBoaWdoIGNhcnJpZXIgZnJlcXVlbmNpZXMuCi0gW0hpZ2hdIExvY2tsZXNz
IGNoZWNrIG9mIGNvbXBsZXRpb25fZG9uZSBpbiB0aGUgSVJRIGhhbmRsZXIgZXhwb3NlcyBhIHJh
Y2UgdGhhdCBjYW4gb3ZlcmZsb3cgdGhlIGhhcmR3YXJlIEZJRk8uCi0gW01lZGl1bV0gRXJyb3Ig
Y29kZXMgZnJvbSBjb3JlIGtlcm5lbCBBUElzIGFyZSBoYXJkY29kZWQgdG8gLUVOT0RFViwgYnJl
YWtpbmcgcHJvYmUgZGVmZXJyYWwuCi0tCgotLS0gUGF0Y2ggWzddOiBbUEFUQ0ggdjQgMDcvMTVd
IG1lZGlhOiBtZXNvbi1pci10eDogRW5zdXJlIGNsb2NrIGlzIGRpc2FibGVkIG9uIHVuYmluZCAt
LS0KY29tbWl0IGI0MjVmN2UzMzY4NzZmYTA3MTk3NDc2YzQ1NjBiNTZkZWMwZWIzM2QKQXV0aG9y
OiBTZWFuIFlvdW5nIDxzZWFuQG1lc3Mub3JnPgoKbWVkaWE6IG1lc29uLWlyLXR4OiBFbnN1cmUg
Y2xvY2sgaXMgZGlzYWJsZWQgb24gdW5iaW5kCiAgICAKY2xrX3ByZXBhcmVfZW5hYmxlKCkgbmVl
ZHMgYSBjYWxsIHRvIGNsa19kaXNhYmxlX3VucHJlcGFyZSgpIG9uCmRyaXZlciB1bmJpbmQuIE1h
a2UgaXQgZGV2bSBtYW5hZ2VkLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9yYy9tZXNv
bi1pci10eC5jIGIvZHJpdmVycy9tZWRpYS9yYy9tZXNvbi1pci10eC5jCj4gaW5kZXggZmRlZDJj
MjU2ZjJhNi4uZTdiYjEwN2U2YTg0MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3JjL21l
c29uLWlyLXR4LmMKPiArKysgYi9kcml2ZXJzL21lZGlhL3JjL21lc29uLWlyLXR4LmMKPiBAQCAt
Mjg4LDggKzI4OCw4IEBAIHN0YXRpYyBpbnQgbWVzb25faXJ0eF9tb2RfY2xvY2tfcHJvYmUoc3Ry
dWN0IG1lc29uX2lydHggKmlyLAo+ICAJaWYgKCFucCkKPiAgCQlyZXR1cm4gLUVOT0RFVjsKPiAg
Cj4gLQljbG9jayA9IGRldm1fY2xrX2dldChpci0+ZGV2LCAieHRhbCIpOwo+IC0JaWYgKElTX0VS
UihjbG9jaykgfHwgY2xrX3ByZXBhcmVfZW5hYmxlKGNsb2NrKSkKPiArCWNsb2NrID0gZGV2bV9j
bGtfZ2V0X2VuYWJsZWQoaXItPmRldiwgInh0YWwiKTsKPiArCWlmIChJU19FUlIoY2xvY2spKQo+
ICAJCXJldHVybiAtRU5PREVWOwo+ICAKPiAgCSpjbGtfbnIgPSBJUkJfTU9EX1hUQUwzX0NMSzsK
CltTZXZlcml0eTogTWVkaXVtXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBw
YXRjaCwgYnV0IHJldHVybmluZyAtRU5PREVWIGhlcmUgcHJldmVudHMKcHJvcGVyIHByb2JlIGRl
ZmVycmFsLiBJZiB0aGUgY2xvY2sgaXMgbm90IHlldCByZWFkeSBhbmQgZGV2bV9jbGtfZ2V0X2Vu
YWJsZWQoKQpyZXR1cm5zIC1FUFJPQkVfREVGRVIsIHRoZSBpbml0aWFsaXphdGlvbiB3aWxsIHBl
cm1hbmVudGx5IGZhaWwgaW5zdGVhZCBvZgp0cnlpbmcgYWdhaW4gbGF0ZXIuCgpBbHNvIGluIG1l
c29uX2lydHhfcHJvYmUoKSwgdGhlIHNhbWUgcGF0dGVybiBleGlzdHMgZm9yIHRoZSBJUlE6Cgpk
cml2ZXJzL21lZGlhL3JjL21lc29uLWlyLXR4LmM6bWVzb25faXJ0eF9wcm9iZSgpIHsKICAgIC4u
LgoJaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAwKTsKCWlmIChpcnEgPCAwKQoJCXJldHVy
biAtRU5PREVWOwogICAgLi4uCn0KClNob3VsZCB0aGVzZSBmdW5jdGlvbnMgcmV0dXJuIHRoZSBl
eGFjdCBlcnJvciBwb2ludGVyIChlLmcuIFBUUl9FUlIoY2xvY2spKQpvciBlcnJvciBjb2RlIHJh
dGhlciB0aGFuIGhhcmRjb2RpbmcgLUVOT0RFVj8KCltTZXZlcml0eTogSGlnaF0KVGhpcyBpcyBh
IHByZS1leGlzdGluZyBpc3N1ZSwgYnV0IGRvZXMgdGhpcyBjb2RlIGNhdXNlIGFuIGludGVnZXIg
dW5kZXJmbG93CmFuZCBkaXZpc2lvbiBieSB6ZXJvIHdoZW4gY29uZmlndXJpbmcgaGlnaCBjYXJy
aWVyIGZyZXF1ZW5jaWVzPwoKZHJpdmVycy9tZWRpYS9yYy9tZXNvbi1pci10eC5jOm1lc29uX2ly
dHhfc2V0X21vZCgpIHsKICAgIC4uLgoJdW5zaWduZWQgaW50IGNudCA9IERJVl9ST1VORF9DTE9T
RVNUKGlyLT5jbGtfcmF0ZSwgaXItPmNhcnJpZXIpOwoJdW5zaWduZWQgaW50IHB1bHNlX2NudCA9
IERJVl9ST1VORF9DTE9TRVNUKGNudCAqIGlyLT5kdXR5X2N5Y2xlLCAxMDApOwoJdW5zaWduZWQg
aW50IHNwYWNlX2NudCA9IGNudCAtIHB1bHNlX2NudDsKCglkZXZfZGJnKGlyLT5kZXYsICJGX21v
ZCA9ICV1SHosIFRfbW9kID0gJWx1bnMsIGR1dHlfY3ljbGUgPSAldSUlXG4iLAoJCWlyLT5jYXJy
aWVyLCBOU0VDX1BFUl9TRUMgLyBpci0+Y2xrX3JhdGUgKiBjbnQsCgkJMTAwICogcHVsc2VfY250
IC8gY250KTsKICAgIC4uLgp9CgpJZiBhIHVzZXIgc3BhY2UgcHJvY2VzcyBwcm92aWRlcyBhIGNh
cnJpZXIgZnJlcXVlbmN5IGdyZWF0ZXIgdGhhbiB0d2ljZSB0aGUKbW9kdWxhdG9yIGNsb2NrIHJh
dGUgKGlyLT5jbGtfcmF0ZSksIGNudCB3aWxsIGJlIDAuIFRoaXMgcmVzdWx0cyBpbiBwdWxzZV9j
bnQKYmVpbmcgMCwgd2hpY2ggdHJpZ2dlcnMgYSBkaXZpc2lvbiBieSB6ZXJvIGluIHRoZSBkZXZf
ZGJnKCkgc3RhdGVtZW50LiAKCkNvdWxkIHRoaXMgYWxzbyBjYXVzZSBhbiB1bmRlcmZsb3cgd2hl
biB3cml0aW5nIHRvIHRoZSBoYXJkd2FyZSByZWdpc3RlciB2aWEKSVJCX01PRF9DT1VOVChwdWxz
ZV9jbnQsIHNwYWNlX2NudCk/CgpbU2V2ZXJpdHk6IEhpZ2hdClRoaXMgaXMgYSBwcmUtZXhpc3Rp
bmcgaXNzdWUsIGJ1dCBkb2VzIHRoZSBsb2NrbGVzcyBjaGVjayBvZiBjb21wbGV0aW9uX2RvbmUo
KQppbiB0aGUgSVJRIGhhbmRsZXIgZXhwb3NlIGEgcmFjZSBjb25kaXRpb24/Cgpkcml2ZXJzL21l
ZGlhL3JjL21lc29uLWlyLXR4LmM6bWVzb25faXJ0eF9pcnFoYW5kbGVyKCkgewogICAgLi4uCglp
ZiAoY29tcGxldGlvbl9kb25lKCZpci0+Y29tcGxldGlvbikpCgkJcmV0dXJuIElSUV9IQU5ETEVE
OwoKCXNwaW5fbG9ja19pcnFzYXZlKCZpci0+bG9jaywgZmxhZ3MpOwoJaWYgKGlyLT5idWZfaGVh
ZCA8IGlyLT5idWZfbGVuKQoJCW1lc29uX2lydHhfc2VuZF9idWZmZXIoaXIpOwoJZWxzZQoJCWNv
bXBsZXRlKCZpci0+Y29tcGxldGlvbik7CglzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpci0+bG9j
aywgZmxhZ3MpOwogICAgLi4uCn0KCklmIGFuIGVkZ2UgaW50ZXJydXB0IGZvciB0aGUgRklGTyB0
aHJlc2hvbGQgaXMgZGVsYXllZCwgYW5kIGEgbmV3IHRyYW5zbWlzc2lvbgpiZWdpbnMgYnkgYWNx
dWlyaW5nIHRoZSBsb2NrIGFuZCByZWluaXRpYWxpemluZyB0aGUgY29tcGxldGlvbiwgY291bGQg
dGhlCmRlbGF5ZWQgSVJRIGhhbmRsZXIgZXZhbHVhdGUgY29tcGxldGlvbl9kb25lKCkgb3V0c2lk
ZSB0aGUgbG9jaywgc2VlIGl0IGFzCmZhbHNlLCBhbmQgdGhlbiBibGluZGx5IHdyaXRlIHVwIHRv
IDk2IG1vcmUgd29yZHMsIG92ZXJmbG93aW5nIHRoZSBoYXJkd2FyZQpGSUZPPwoKW1NldmVyaXR5
OiBIaWdoXQpUaGlzIGlzIGEgcHJlLWV4aXN0aW5nIGlzc3VlLCBidXQgZG9lcyB0aGlzIGNvZGUg
bGVhayB0aGUgcmNfZGV2IHN0cnVjdHVyZSBvbgpkcml2ZXIgdW5iaW5kPwoKZHJpdmVycy9tZWRp
YS9yYy9tZXNvbi1pci10eC5jOm1lc29uX2lydHhfcHJvYmUoKSB7CiAgICAuLi4KCXJjID0gcmNf
YWxsb2NhdGVfZGV2aWNlKFJDX0RSSVZFUl9JUl9SQVdfVFgpOwoJaWYgKCFyYykKCQlyZXR1cm4g
LUVOT01FTTsKICAgIC4uLgoJcmV0ID0gZGV2bV9yY19yZWdpc3Rlcl9kZXZpY2UoZGV2LCByYyk7
CglpZiAocmV0IDwgMCkgewoJCXJjX2ZyZWVfZGV2aWNlKHJjKTsKCQlyZXR1cm4gZGV2X2Vycl9w
cm9iZShkZXYsIHJldCwgInJjX2RldiByZWdpc3RyYXRpb24gZmFpbGVkXG4iKTsKCX0KICAgIC4u
Lgp9CgpCZWNhdXNlIHJjIGlzIGFsbG9jYXRlZCB3aXRoIHJjX2FsbG9jYXRlX2RldmljZSgpIGlu
c3RlYWQgb2YgYSBtYW5hZ2VkCnZhcmlhbnQgbGlrZSBkZXZtX3JjX2FsbG9jYXRlX2RldmljZSgp
LCB3aGVuIHRoZSBkcml2ZXIgaXMgdW5ib3VuZCwKZGV2bV9yY19yZWdpc3Rlcl9kZXZpY2UoKSB3
aWxsIGF1dG9tYXRpY2FsbHkgdW5yZWdpc3RlciB0aGUgZGV2aWNlLCBidXQgdGhlCm1lbW9yeSBm
b3IgdGhlIHJjX2RldiBzdHJ1Y3R1cmUgaXMgbmV2ZXIgZnJlZWQgc2luY2UgdGhlcmUgaXMgbm8g
cmVtb3ZlCmNhbGxiYWNrLgoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlr
by5kZXYvIy9wYXRjaHNldC9jb3Zlci4xNzg1MTU4MjQ0LmdpdC5zZWFuQG1lc3Mub3JnP3BhcnQ9
NwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt
YW1sb2dpYyBtYWlsaW5nIGxpc3QKbGludXgtYW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0
dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYW1sb2dpYwo=