From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mauro Carvalho Chehab Subject: Re: [PATCH] cec: add cec_adapter to cec_notifier_cec_adap_unregister() Date: Mon, 7 Oct 2019 06:45:36 -0300 Message-ID: <20191007064536.3cc5f9ad@coco.lan> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA4DA89D40 for ; Mon, 7 Oct 2019 09:45:42 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Hans Verkuil Cc: Dariusz Marcinkiewicz , Maling list - DRI developers , Linux Media Mailing List List-Id: dri-devel@lists.freedesktop.org RW0gRnJpLCA0IE9jdCAyMDE5IDEzOjA0OjI0ICswMjAwCkhhbnMgVmVya3VpbCA8aHZlcmt1aWxA eHM0YWxsLm5sPiBlc2NyZXZldToKCj4gSXQgaXMgcG9zc2libGUgZm9yIG9uZSBIRE1JIGNvbm5l Y3RvciB0byBoYXZlIG11bHRpcGxlIENFQyBhZGFwdGVycy4gVGhlCj4gdHlwaWNhbCByZWFsLXdv cmxkIHNjZW5hcmlvIGlzIHRoYXQgd2hlcmUgb25lIGFkYXB0ZXIgaXMgdXNlZCB3aGVuIHRoZSBk ZXZpY2UKPiBpcyBpbiBzdGFuZGJ5LCBhbmQgb25lIHRoYXQncyBiZXR0ZXIvc21hcnRlciB3aGVu IHRoZSBkZXZpY2UgaXMgcG93ZXJlZCB1cC4KPiAKPiBUaGUgY2VjLW5vdGlmaWVyIGNoYW5nZXMg d2VyZSBtYWRlIHdpdGggdGhhdCBpbiBtaW5kLCBidXQgSSBtaXNzZWQgdGhhdCBpbgo+IG9yZGVy IHRvIHN1cHBvcnQgdGhpcyB5b3UgbmVlZCB0byB0ZWxsIGNlY19ub3RpZmllcl9jZWNfYWRhcF91 bnJlZ2lzdGVyKCkKPiB3aGljaCBhZGFwdGVyIHlvdSBhcmUgdW5yZWdpc3RlcmluZyBmcm9tIHRo ZSBub3RpZmllci4KPiAKPiBBZGQgdGhpcyBhZGRpdGlvbmFsIGFyZ3VtZW50LiBJdCBpcyBjdXJy ZW50bHkgdW51c2VkLCBidXQgb25jZSBhbGwgZHJpdmVycwo+IHVzZSB0aGlzLCB0aGUgQ0VDIGNv cmUgd2lsbCBiZSBhZGFwdGVkIGZvciB0aGVzZSB1c2UtY2FzZXMuCj4gCj4gU2lnbmVkLW9mZi1i eTogSGFucyBWZXJrdWlsIDxodmVya3VpbC1jaXNjb0B4czRhbGwubmw+Cj4gLS0tCj4gVGhpcyBw YXRjaCBzaG91bGQgZ28gaW4gdmlhIHRoZSBkcm0gc3Vic3lzdGVtIHNpbmNlIGFsbCBDRUMgYWRh cHRlcnMgaW4gdGhlCj4gZHJtIHN1YnN5c3RlbSBoYXZlIGJlZW4gY29udmVydGVkIHRvIHVzZSBj ZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdpc3RlcigpLgo+IFRoZSBtZWRpYSBzdWJzeXN0ZW0g c3RpbGwgaGFzIG9sZGVyIGRybSBkcml2ZXJzIHRoYXQgd2VyZW4ndCBjb252ZXJ0ZWQgdG8gdXNl Cj4gY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIoKS4KPiAKPiBUaGlzIHdpbGwgb25s eSBiZSBhIHByb2JsZW0gaWYgYSBuZXcgQ0VDIGFkYXB0ZXIgZHJpdmVyIGlzIGFkZGVkIHRvIHRo ZSBtZWRpYQo+IHN1YnN5c3RlbSBmb3IgdjUuNSwgYnV0IEkgYW0gbm90IGF3YXJlIG9mIGFueSBw bGFucyBmb3IgdGhhdC4gU2hvdWxkIGl0IGhhcHBlbiwKPiB0aGVuIHRoYXQganVzdCBtZWFucyB0 aGF0IHRoZSBtZWRpYSBzdWJzeXN0ZW0gbmVlZHMgdG8gcmVzb2x2ZSBhIGZhaXJseSB0cml2aWFs Cj4gbWVyZ2UgY29uZmxpY3QuCj4gCj4gVmlsbGUsIE1hdXJvLCBjYW4geW91IHJldmlldy9hY2s/ CgpZZWFoLCBmZWVsIGZyZWUgdG8gbWVyZ2UgdGhpcyB2aWEgRFJNOgoKQWNrZWQtYnk6IE1hdXJv IENhcnZhbGhvIENoZWhhYiA8bWNoZWhhYitzYW1zdW5nQGtlcm5lbC5vcmc+CgoKPiAtLS0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLWNlYy5j IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLWNlYy5jCj4gaW5kZXgg YWMxZTAwMWQwODgyLi43MGFiNGZiZGMyM2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLWNlYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9zeW5vcHN5cy9kdy1oZG1pLWNlYy5jCj4gQEAgLTI4NSw3ICsyODUsNyBAQCBzdGF0aWMg aW50IGR3X2hkbWlfY2VjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gCj4g IAlyZXQgPSBjZWNfcmVnaXN0ZXJfYWRhcHRlcihjZWMtPmFkYXAsIHBkZXYtPmRldi5wYXJlbnQp Owo+ICAJaWYgKHJldCA8IDApIHsKPiAtCQljZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdpc3Rl cihjZWMtPm5vdGlmeSk7Cj4gKwkJY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIoY2Vj LT5ub3RpZnksIGNlYy0+YWRhcCk7Cj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAKPiBAQCAtMzAy LDcgKzMwMiw3IEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9jZWNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4gIHsKPiAgCXN0cnVjdCBkd19oZG1pX2NlYyAqY2VjID0gcGxhdGZv cm1fZ2V0X2RydmRhdGEocGRldik7Cj4gCj4gLQljZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdp c3RlcihjZWMtPm5vdGlmeSk7Cj4gKwljZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdpc3Rlcihj ZWMtPm5vdGlmeSwgY2VjLT5hZGFwKTsKPiAgCWNlY191bnJlZ2lzdGVyX2FkYXB0ZXIoY2VjLT5h ZGFwKTsKPiAKPiAgCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTJj L3RkYTk5NTAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk1MC5jCj4gaW5kZXggYTVhNzVi ZGViN2E1Li41YjAzZmRkMWVhYTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2kyYy90 ZGE5OTUwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5NTAuYwo+IEBAIC00NjUs NyArNDY1LDcgQEAgc3RhdGljIGludCB0ZGE5OTUwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQsCj4gCj4gIAlyZXQgPSBjZWNfcmVnaXN0ZXJfYWRhcHRlcihwcml2LT5hZGFwLCBwcml2 LT5oZG1pKTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4gLQkJY2VjX25vdGlmaWVyX2NlY19hZGFwX3Vu cmVnaXN0ZXIocHJpdi0+bm90aWZ5KTsKPiArCQljZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdp c3Rlcihwcml2LT5ub3RpZnksIHByaXYtPmFkYXApOwo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4g Cj4gQEAgLTQ4Miw3ICs0ODIsNyBAQCBzdGF0aWMgaW50IHRkYTk5NTBfcmVtb3ZlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCj4gIHsKPiAgCXN0cnVjdCB0ZGE5OTUwX3ByaXYgKnByaXYgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKPiAKPiAtCWNlY19ub3RpZmllcl9jZWNfYWRhcF91 bnJlZ2lzdGVyKHByaXYtPm5vdGlmeSk7Cj4gKwljZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdp c3Rlcihwcml2LT5ub3RpZnksIHByaXYtPmFkYXApOwo+ICAJY2VjX3VucmVnaXN0ZXJfYWRhcHRl cihwcml2LT5hZGFwKTsKPiAKPiAgCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL2NlYy9jZWMtbm90aWZpZXIuYyBiL2RyaXZlcnMvbWVkaWEvY2VjL2NlYy1ub3RpZmllci5j Cj4gaW5kZXggNGQ4MmE1NTIyMDcyLi43Y2Y0MmIxMzNkYmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9tZWRpYS9jZWMvY2VjLW5vdGlmaWVyLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL2NlYy9jZWMt bm90aWZpZXIuYwo+IEBAIC0xNTMsMTMgKzE1MywxNCBAQCBjZWNfbm90aWZpZXJfY2VjX2FkYXBf cmVnaXN0ZXIoc3RydWN0IGRldmljZSAqaGRtaV9kZXYsIGNvbnN0IGNoYXIgKmNvbm5fbmFtZSwK PiAgfQo+ICBFWFBPUlRfU1lNQk9MX0dQTChjZWNfbm90aWZpZXJfY2VjX2FkYXBfcmVnaXN0ZXIp Owo+IAo+IC12b2lkIGNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKHN0cnVjdCBjZWNf bm90aWZpZXIgKm4pCj4gK3ZvaWQgY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIoc3Ry dWN0IGNlY19ub3RpZmllciAqbiwKPiArCQkJCSAgICAgIHN0cnVjdCBjZWNfYWRhcHRlciAqYWRh cCkKPiAgewo+ICAJaWYgKCFuKQo+ICAJCXJldHVybjsKPiAKPiAgCW11dGV4X2xvY2soJm4tPmxv Y2spOwo+IC0Jbi0+Y2VjX2FkYXAtPm5vdGlmaWVyID0gTlVMTDsKPiArCWFkYXAtPm5vdGlmaWVy ID0gTlVMTDsKPiAgCW4tPmNlY19hZGFwID0gTlVMTDsKPiAgCW4tPmNhbGxiYWNrID0gTlVMTDsK PiAgCW11dGV4X3VubG9jaygmbi0+bG9jayk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vY3Jvcy1lYy1jZWMvY3Jvcy1lYy1jZWMuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vY3Jvcy1lYy1jZWMvY3Jvcy1lYy1jZWMuYwo+IGluZGV4IDRhM2IzODEwZmQ4OS4uZjA0OGU4 OTk0Nzg1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY3Jvcy1lYy1jZWMv Y3Jvcy1lYy1jZWMuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY3Jvcy1lYy1jZWMv Y3Jvcy1lYy1jZWMuYwo+IEBAIC0zMTQsNyArMzE0LDggQEAgc3RhdGljIGludCBjcm9zX2VjX2Nl Y19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJcmV0dXJuIDA7Cj4gCj4g IG91dF9wcm9iZV9ub3RpZnk6Cj4gLQljZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdpc3Rlcihj cm9zX2VjX2NlYy0+bm90aWZ5KTsKPiArCWNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVy KGNyb3NfZWNfY2VjLT5ub3RpZnksCj4gKwkJCQkJIGNyb3NfZWNfY2VjLT5hZGFwKTsKPiAgb3V0 X3Byb2JlX2FkYXB0ZXI6Cj4gIAljZWNfZGVsZXRlX2FkYXB0ZXIoY3Jvc19lY19jZWMtPmFkYXAp Owo+ICAJcmV0dXJuIHJldDsKPiBAQCAtMzM1LDcgKzMzNiw4IEBAIHN0YXRpYyBpbnQgY3Jvc19l Y19jZWNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAkJcmV0dXJuIHJl dDsKPiAgCX0KPiAKPiAtCWNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKGNyb3NfZWNf Y2VjLT5ub3RpZnkpOwo+ICsJY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIoY3Jvc19l Y19jZWMtPm5vdGlmeSwKPiArCQkJCQkgY3Jvc19lY19jZWMtPmFkYXApOwo+ICAJY2VjX3VucmVn aXN0ZXJfYWRhcHRlcihjcm9zX2VjX2NlYy0+YWRhcCk7Cj4gCj4gIAlyZXR1cm4gMDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tZXNvbi9hby1jZWMtZzEyYS5jIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9tZXNvbi9hby1jZWMtZzEyYS5jCj4gaW5kZXggM2IzOWU4NzUy OTJlLi43MGY4NzViNGEwMWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t ZXNvbi9hby1jZWMtZzEyYS5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tZXNvbi9h by1jZWMtZzEyYS5jCj4gQEAgLTczNiw3ICs3MzYsNyBAQCBzdGF0aWMgaW50IG1lc29uX2FvX2Nl Y19nMTJhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAljbGtfZGlzYWJs ZV91bnByZXBhcmUoYW9fY2VjLT5jb3JlKTsKPiAKPiAgb3V0X3Byb2JlX25vdGlmeToKPiAtCWNl Y19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKGFvX2NlYy0+bm90aWZ5KTsKPiArCWNlY19u b3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKGFvX2NlYy0+bm90aWZ5LCBhb19jZWMtPmFkYXAp Owo+IAo+ICBvdXRfcHJvYmVfYWRhcHRlcjoKPiAgCWNlY19kZWxldGVfYWRhcHRlcihhb19jZWMt PmFkYXApOwo+IEBAIC03NTIsNyArNzUyLDcgQEAgc3RhdGljIGludCBtZXNvbl9hb19jZWNfZzEy YV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAKPiAgCWNsa19kaXNhYmxl X3VucHJlcGFyZShhb19jZWMtPmNvcmUpOwo+IAo+IC0JY2VjX25vdGlmaWVyX2NlY19hZGFwX3Vu cmVnaXN0ZXIoYW9fY2VjLT5ub3RpZnkpOwo+ICsJY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVn aXN0ZXIoYW9fY2VjLT5ub3RpZnksIGFvX2NlYy0+YWRhcCk7Cj4gCj4gIAljZWNfdW5yZWdpc3Rl cl9hZGFwdGVyKGFvX2NlYy0+YWRhcCk7Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vbWVzb24vYW8tY2VjLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21lc29uL2Fv LWNlYy5jCj4gaW5kZXggNjRlZDU0OWJmMDEyLi45Mjg1OWE2ZDAwNmYgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tZXNvbi9hby1jZWMuYwo+ICsrKyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbWVzb24vYW8tY2VjLmMKPiBAQCAtNjg4LDcgKzY4OCw3IEBAIHN0YXRpYyBp bnQgbWVzb25fYW9fY2VjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAlj bGtfZGlzYWJsZV91bnByZXBhcmUoYW9fY2VjLT5jb3JlKTsKPiAKPiAgb3V0X3Byb2JlX25vdGlm eToKPiAtCWNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKGFvX2NlYy0+bm90aWZ5KTsK PiArCWNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKGFvX2NlYy0+bm90aWZ5LCBhb19j ZWMtPmFkYXApOwo+IAo+ICBvdXRfcHJvYmVfYWRhcHRlcjoKPiAgCWNlY19kZWxldGVfYWRhcHRl cihhb19jZWMtPmFkYXApOwo+IEBAIC03MDQsNyArNzA0LDcgQEAgc3RhdGljIGludCBtZXNvbl9h b19jZWNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gCj4gIAljbGtfZGlz YWJsZV91bnByZXBhcmUoYW9fY2VjLT5jb3JlKTsKPiAKPiAtCWNlY19ub3RpZmllcl9jZWNfYWRh cF91bnJlZ2lzdGVyKGFvX2NlYy0+bm90aWZ5KTsKPiArCWNlY19ub3RpZmllcl9jZWNfYWRhcF91 bnJlZ2lzdGVyKGFvX2NlYy0+bm90aWZ5LCBhb19jZWMtPmFkYXApOwo+ICAJY2VjX3VucmVnaXN0 ZXJfYWRhcHRlcihhb19jZWMtPmFkYXApOwo+IAo+ICAJcmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczVwLWNlYy9zNXBfY2VjLmMgYi9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL3M1cC1jZWMvczVwX2NlYy5jCj4gaW5kZXggNmRkY2MzNWIwYmJkLi4yYTNlN2Zm ZWZlMGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtY2VjL3M1cF9j ZWMuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczVwLWNlYy9zNXBfY2VjLmMKPiBA QCAtMjM5LDcgKzIzOSw3IEBAIHN0YXRpYyBpbnQgczVwX2NlY19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQo+ICAJcmV0dXJuIDA7Cj4gCj4gIGVycl9ub3RpZmllcjoKPiAtCWNl Y19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKGNlYy0+bm90aWZpZXIpOwo+ICsJY2VjX25v dGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIoY2VjLT5ub3RpZmllciwgY2VjLT5hZGFwKTsKPiAK PiAgZXJyX2RlbGV0ZV9hZGFwdGVyOgo+ICAJY2VjX2RlbGV0ZV9hZGFwdGVyKGNlYy0+YWRhcCk7 Cj4gQEAgLTI1MCw3ICsyNTAsNyBAQCBzdGF0aWMgaW50IHM1cF9jZWNfcmVtb3ZlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIHsKPiAgCXN0cnVjdCBzNXBfY2VjX2RldiAqY2VjID0g cGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gCj4gLQljZWNfbm90aWZpZXJfY2VjX2FkYXBf dW5yZWdpc3RlcihjZWMtPm5vdGlmaWVyKTsKPiArCWNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJl Z2lzdGVyKGNlYy0+bm90aWZpZXIsIGNlYy0+YWRhcCk7Cj4gIAljZWNfdW5yZWdpc3Rlcl9hZGFw dGVyKGNlYy0+YWRhcCk7Cj4gIAlwbV9ydW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7Cj4gIAly ZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zZWNvLWNlYy9z ZWNvLWNlYy5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zZWNvLWNlYy9zZWNvLWNlYy5jCj4g aW5kZXggOWNkNjBmZTE4NjdjLi41NGIwZDUxZTljNTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9zZWNvLWNlYy9zZWNvLWNlYy5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9zZWNvLWNlYy9zZWNvLWNlYy5jCj4gQEAgLTY3MSw3ICs2NzEsNyBAQCBzdGF0aWMg aW50IHNlY29jZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCXJldHVy biByZXQ7Cj4gCj4gIGVycl9ub3RpZmllcjoKPiAtCWNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJl Z2lzdGVyKHNlY29jZWMtPm5vdGlmaWVyKTsKPiArCWNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJl Z2lzdGVyKHNlY29jZWMtPm5vdGlmaWVyLCBzZWNvY2VjLT5jZWNfYWRhcCk7Cj4gIGVycl9kZWxl dGVfYWRhcHRlcjoKPiAgCWNlY19kZWxldGVfYWRhcHRlcihzZWNvY2VjLT5jZWNfYWRhcCk7Cj4g IGVycjoKPiBAQCAtNjkyLDcgKzY5Miw3IEBAIHN0YXRpYyBpbnQgc2Vjb2NlY19yZW1vdmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAKPiAgCQlkZXZfZGJnKCZwZGV2LT5kZXYsICJJ UiBkaXNhYmxlZCIpOwo+ICAJfQo+IC0JY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIo c2Vjb2NlYy0+bm90aWZpZXIpOwo+ICsJY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIo c2Vjb2NlYy0+bm90aWZpZXIsIHNlY29jZWMtPmNlY19hZGFwKTsKPiAgCWNlY191bnJlZ2lzdGVy X2FkYXB0ZXIoc2Vjb2NlYy0+Y2VjX2FkYXApOwo+IAo+ICAJcmVsZWFzZV9yZWdpb24oQlJBX1NN Ql9CQVNFX0FERFIsIDcpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0 aS9jZWMvc3RpaC1jZWMuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RpL2NlYy9zdGloLWNl Yy5jCj4gaW5kZXggODExOGM3MzY1ZDNmLi5mMGM3M2U2NGI1ODYgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9zdGkvY2VjL3N0aWgtY2VjLmMKPiArKysgYi9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL3N0aS9jZWMvc3RpaC1jZWMuYwo+IEBAIC0zNTksNyArMzU5LDcgQEAgc3Rh dGljIGludCBzdGloX2NlY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJ cmV0dXJuIDA7Cj4gCj4gIGVycl9ub3RpZmllcjoKPiAtCWNlY19ub3RpZmllcl9jZWNfYWRhcF91 bnJlZ2lzdGVyKGNlYy0+bm90aWZpZXIpOwo+ICsJY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVn aXN0ZXIoY2VjLT5ub3RpZmllciwgY2VjLT5hZGFwKTsKPiAKPiAgZXJyX2RlbGV0ZV9hZGFwdGVy Ogo+ICAJY2VjX2RlbGV0ZV9hZGFwdGVyKGNlYy0+YWRhcCk7Cj4gQEAgLTM3MCw3ICszNzAsNyBA QCBzdGF0aWMgaW50IHN0aWhfY2VjX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ICB7Cj4gIAlzdHJ1Y3Qgc3RpaF9jZWMgKmNlYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBk ZXYpOwo+IAo+IC0JY2VjX25vdGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIoY2VjLT5ub3RpZmll cik7Cj4gKwljZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdpc3RlcihjZWMtPm5vdGlmaWVyLCBj ZWMtPmFkYXApOwo+ICAJY2VjX3VucmVnaXN0ZXJfYWRhcHRlcihjZWMtPmFkYXApOwo+IAo+ICAJ cmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdGVncmEtY2Vj L3RlZ3JhX2NlYy5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS90ZWdyYS1jZWMvdGVncmFfY2Vj LmMKPiBpbmRleCBhNjMyNjAyMTMxZjIuLmE5OWNhYWM1OWY0NCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL3RlZ3JhLWNlYy90ZWdyYV9jZWMuYwo+ICsrKyBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vdGVncmEtY2VjL3RlZ3JhX2NlYy5jCj4gQEAgLTQwOSw3ICs0MDksNyBA QCBzdGF0aWMgaW50IHRlZ3JhX2NlY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ICAJcmV0dXJuIDA7Cj4gCj4gIGVycl9ub3RpZmllcjoKPiAtCWNlY19ub3RpZmllcl9jZWNf YWRhcF91bnJlZ2lzdGVyKGNlYy0+bm90aWZpZXIpOwo+ICsJY2VjX25vdGlmaWVyX2NlY19hZGFw X3VucmVnaXN0ZXIoY2VjLT5ub3RpZmllciwgY2VjLT5hZGFwKTsKPiAgZXJyX2FkYXB0ZXI6Cj4g IAljZWNfZGVsZXRlX2FkYXB0ZXIoY2VjLT5hZGFwKTsKPiAgZXJyX2NsazoKPiBAQCAtNDIzLDcg KzQyMyw3IEBAIHN0YXRpYyBpbnQgdGVncmFfY2VjX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQo+IAo+ICAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGNlYy0+Y2xrKTsKPiAKPiAt CWNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKGNlYy0+bm90aWZpZXIpOwo+ICsJY2Vj X25vdGlmaWVyX2NlY19hZGFwX3VucmVnaXN0ZXIoY2VjLT5ub3RpZmllciwgY2VjLT5hZGFwKTsK PiAgCWNlY191bnJlZ2lzdGVyX2FkYXB0ZXIoY2VjLT5hZGFwKTsKPiAKPiAgCXJldHVybiAwOwo+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL21lZGlhL2NlYy1ub3RpZmllci5oIGIvaW5jbHVkZS9tZWRp YS9jZWMtbm90aWZpZXIuaAo+IGluZGV4IGYxNjFmOGE0OTNhYy4uOTg1YWZlYTFlZTM2IDEwMDY0 NAo+IC0tLSBhL2luY2x1ZGUvbWVkaWEvY2VjLW5vdGlmaWVyLmgKPiArKysgYi9pbmNsdWRlL21l ZGlhL2NlYy1ub3RpZmllci5oCj4gQEAgLTkzLDggKzkzLDEwIEBAIGNlY19ub3RpZmllcl9jZWNf YWRhcF9yZWdpc3RlcihzdHJ1Y3QgZGV2aWNlICpoZG1pX2RldiwgY29uc3QgY2hhciAqY29ubl9u YW1lLAo+ICAgKiBjZWNfbm90aWZpZXJfY2VjX2FkYXBfdW5yZWdpc3RlciAtIGRlY3JlYXNlIHJl ZmNvdW50IGFuZCBkZWxldGUgd2hlbiB0aGUKPiAgICogcmVmY291bnQgcmVhY2hlcyAwLgo+ICAg KiBAbjogbm90aWZpZXIuIElmIE5VTEwsIHRoZW4gdGhpcyBmdW5jdGlvbiBkb2VzIG5vdGhpbmcu Cj4gKyAqIEBhZGFwOiB0aGUgY2VjIGFkYXB0ZXIgdGhhdCByZWdpc3RlcmVkIHRoaXMgbm90aWZp ZXIuCj4gICAqLwo+IC12b2lkIGNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKHN0cnVj dCBjZWNfbm90aWZpZXIgKm4pOwo+ICt2b2lkIGNlY19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lz dGVyKHN0cnVjdCBjZWNfbm90aWZpZXIgKm4sCj4gKwkJCQkgICAgICBzdHJ1Y3QgY2VjX2FkYXB0 ZXIgKmFkYXApOwo+IAo+ICAvKioKPiAgICogY2VjX25vdGlmaWVyX3NldF9waHlzX2FkZHIgLSBz ZXQgYSBuZXcgcGh5c2ljYWwgYWRkcmVzcy4KPiBAQCAtMTYwLDcgKzE2Miw4IEBAIGNlY19ub3Rp Zmllcl9jZWNfYWRhcF9yZWdpc3RlcihzdHJ1Y3QgZGV2aWNlICpoZG1pX2RldiwgY29uc3QgY2hh ciAqY29ubl9uYW1lLAo+ICAJcmV0dXJuIChzdHJ1Y3QgY2VjX25vdGlmaWVyICopMHhkZWFkZmVl ZDsKPiAgfQo+IAo+IC1zdGF0aWMgaW5saW5lIHZvaWQgY2VjX25vdGlmaWVyX2NlY19hZGFwX3Vu cmVnaXN0ZXIoc3RydWN0IGNlY19ub3RpZmllciAqbikKPiArc3RhdGljIGlubGluZSB2b2lkIGNl Y19ub3RpZmllcl9jZWNfYWRhcF91bnJlZ2lzdGVyKHN0cnVjdCBjZWNfbm90aWZpZXIgKm4sCj4g KwkJCQkJCSAgICBzdHJ1Y3QgY2VjX2FkYXB0ZXIgKmFkYXApCj4gIHsKPiAgfQo+IAoKCgpUaGFu a3MsCk1hdXJvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA== 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=-8.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=ham 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 282A0ECE58D for ; Mon, 7 Oct 2019 09:45:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DB83521655 for ; Mon, 7 Oct 2019 09:45:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570441544; bh=BXDF6H4QrgnkLb2JLKGx8Ar9xCZXoJcFk9hUMRSuk84=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-ID:From; b=rcFntop1CyTdz/SKJ2AbHJ7DVEpCaeeCwwtMgDUE3X7iyzddWiDb98pAuwMwutLPd 6w8tLdg3dgvk2BRDAM6kvntjkadfB7zEXm2CsNzt7XCfnoKVdhIRXcixAKSY8kAd15 jOfw82Sxs4KJ4Bv0zyxLP9ADf5D52DaIzUQTN67I= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727537AbfJGJpn (ORCPT ); Mon, 7 Oct 2019 05:45:43 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:32912 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727506AbfJGJpn (ORCPT ); Mon, 7 Oct 2019 05:45:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To: From:Date:Sender:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=tdUiGvAGimHW/S+sZVPg2XUlDCd7dRZRMyjfnFD47SA=; b=IG0RGY9yOJzM4RtM81iQUF08h 2mRj7mx80HIL9oYtbHXz4vnybFwmdK1tdYLAt5oUcEdHgWvYVqXhspdsgJyhbH1yW7Xmv769GYeec 7l670wQP+vJWJPs1uSd+dOuVRVV1s9IzA7HeJqogEmpmduTTETyo0p3AmCvpqI7sJEi1vJdHnZ2sA /U05sqpFg7IT0nGBE0cZ4Eq8SaYlWTaKEtvRAJFH/OBThreD0og/K4YpvJKs6Hw+9aK1JrSpghdOD i2KLZXQoJVsJDoz5ueqdUoUBXsMMzyLVAY4hrHUqTMp5AEFdOSaqznSQc0Gos4F4Um0VlSUT4BhAk 4hZ6buZiw==; Received: from [179.95.33.153] (helo=coco.lan) by bombadil.infradead.org with esmtpsa (Exim 4.92.2 #3 (Red Hat Linux)) id 1iHPaH-0007Ze-7Y; Mon, 07 Oct 2019 09:45:41 +0000 Date: Mon, 7 Oct 2019 06:45:36 -0300 From: Mauro Carvalho Chehab To: Hans Verkuil Cc: Maling list - DRI developers , Linux Media Mailing List , Dariusz Marcinkiewicz , Ville =?UTF-8?B?U3lyasOkbMOk?= Subject: Re: [PATCH] cec: add cec_adapter to cec_notifier_cec_adap_unregister() Message-ID: <20191007064536.3cc5f9ad@coco.lan> In-Reply-To: References: X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Em Fri, 4 Oct 2019 13:04:24 +0200 Hans Verkuil escreveu: > It is possible for one HDMI connector to have multiple CEC adapters. The > typical real-world scenario is that where one adapter is used when the device > is in standby, and one that's better/smarter when the device is powered up. > > The cec-notifier changes were made with that in mind, but I missed that in > order to support this you need to tell cec_notifier_cec_adap_unregister() > which adapter you are unregistering from the notifier. > > Add this additional argument. It is currently unused, but once all drivers > use this, the CEC core will be adapted for these use-cases. > > Signed-off-by: Hans Verkuil > --- > This patch should go in via the drm subsystem since all CEC adapters in the > drm subsystem have been converted to use cec_notifier_cec_adap_unregister(). > The media subsystem still has older drm drivers that weren't converted to use > cec_notifier_cec_adap_unregister(). > > This will only be a problem if a new CEC adapter driver is added to the media > subsystem for v5.5, but I am not aware of any plans for that. Should it happen, > then that just means that the media subsystem needs to resolve a fairly trivial > merge conflict. > > Ville, Mauro, can you review/ack? Yeah, feel free to merge this via DRM: Acked-by: Mauro Carvalho Chehab > --- > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c > index ac1e001d0882..70ab4fbdc23e 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c > @@ -285,7 +285,7 @@ static int dw_hdmi_cec_probe(struct platform_device *pdev) > > ret = cec_register_adapter(cec->adap, pdev->dev.parent); > if (ret < 0) { > - cec_notifier_cec_adap_unregister(cec->notify); > + cec_notifier_cec_adap_unregister(cec->notify, cec->adap); > return ret; > } > > @@ -302,7 +302,7 @@ static int dw_hdmi_cec_remove(struct platform_device *pdev) > { > struct dw_hdmi_cec *cec = platform_get_drvdata(pdev); > > - cec_notifier_cec_adap_unregister(cec->notify); > + cec_notifier_cec_adap_unregister(cec->notify, cec->adap); > cec_unregister_adapter(cec->adap); > > return 0; > diff --git a/drivers/gpu/drm/i2c/tda9950.c b/drivers/gpu/drm/i2c/tda9950.c > index a5a75bdeb7a5..5b03fdd1eaa4 100644 > --- a/drivers/gpu/drm/i2c/tda9950.c > +++ b/drivers/gpu/drm/i2c/tda9950.c > @@ -465,7 +465,7 @@ static int tda9950_probe(struct i2c_client *client, > > ret = cec_register_adapter(priv->adap, priv->hdmi); > if (ret < 0) { > - cec_notifier_cec_adap_unregister(priv->notify); > + cec_notifier_cec_adap_unregister(priv->notify, priv->adap); > return ret; > } > > @@ -482,7 +482,7 @@ static int tda9950_remove(struct i2c_client *client) > { > struct tda9950_priv *priv = i2c_get_clientdata(client); > > - cec_notifier_cec_adap_unregister(priv->notify); > + cec_notifier_cec_adap_unregister(priv->notify, priv->adap); > cec_unregister_adapter(priv->adap); > > return 0; > diff --git a/drivers/media/cec/cec-notifier.c b/drivers/media/cec/cec-notifier.c > index 4d82a5522072..7cf42b133dbc 100644 > --- a/drivers/media/cec/cec-notifier.c > +++ b/drivers/media/cec/cec-notifier.c > @@ -153,13 +153,14 @@ cec_notifier_cec_adap_register(struct device *hdmi_dev, const char *conn_name, > } > EXPORT_SYMBOL_GPL(cec_notifier_cec_adap_register); > > -void cec_notifier_cec_adap_unregister(struct cec_notifier *n) > +void cec_notifier_cec_adap_unregister(struct cec_notifier *n, > + struct cec_adapter *adap) > { > if (!n) > return; > > mutex_lock(&n->lock); > - n->cec_adap->notifier = NULL; > + adap->notifier = NULL; > n->cec_adap = NULL; > n->callback = NULL; > mutex_unlock(&n->lock); > diff --git a/drivers/media/platform/cros-ec-cec/cros-ec-cec.c b/drivers/media/platform/cros-ec-cec/cros-ec-cec.c > index 4a3b3810fd89..f048e8994785 100644 > --- a/drivers/media/platform/cros-ec-cec/cros-ec-cec.c > +++ b/drivers/media/platform/cros-ec-cec/cros-ec-cec.c > @@ -314,7 +314,8 @@ static int cros_ec_cec_probe(struct platform_device *pdev) > return 0; > > out_probe_notify: > - cec_notifier_cec_adap_unregister(cros_ec_cec->notify); > + cec_notifier_cec_adap_unregister(cros_ec_cec->notify, > + cros_ec_cec->adap); > out_probe_adapter: > cec_delete_adapter(cros_ec_cec->adap); > return ret; > @@ -335,7 +336,8 @@ static int cros_ec_cec_remove(struct platform_device *pdev) > return ret; > } > > - cec_notifier_cec_adap_unregister(cros_ec_cec->notify); > + cec_notifier_cec_adap_unregister(cros_ec_cec->notify, > + cros_ec_cec->adap); > cec_unregister_adapter(cros_ec_cec->adap); > > return 0; > diff --git a/drivers/media/platform/meson/ao-cec-g12a.c b/drivers/media/platform/meson/ao-cec-g12a.c > index 3b39e875292e..70f875b4a01e 100644 > --- a/drivers/media/platform/meson/ao-cec-g12a.c > +++ b/drivers/media/platform/meson/ao-cec-g12a.c > @@ -736,7 +736,7 @@ static int meson_ao_cec_g12a_probe(struct platform_device *pdev) > clk_disable_unprepare(ao_cec->core); > > out_probe_notify: > - cec_notifier_cec_adap_unregister(ao_cec->notify); > + cec_notifier_cec_adap_unregister(ao_cec->notify, ao_cec->adap); > > out_probe_adapter: > cec_delete_adapter(ao_cec->adap); > @@ -752,7 +752,7 @@ static int meson_ao_cec_g12a_remove(struct platform_device *pdev) > > clk_disable_unprepare(ao_cec->core); > > - cec_notifier_cec_adap_unregister(ao_cec->notify); > + cec_notifier_cec_adap_unregister(ao_cec->notify, ao_cec->adap); > > cec_unregister_adapter(ao_cec->adap); > > diff --git a/drivers/media/platform/meson/ao-cec.c b/drivers/media/platform/meson/ao-cec.c > index 64ed549bf012..92859a6d006f 100644 > --- a/drivers/media/platform/meson/ao-cec.c > +++ b/drivers/media/platform/meson/ao-cec.c > @@ -688,7 +688,7 @@ static int meson_ao_cec_probe(struct platform_device *pdev) > clk_disable_unprepare(ao_cec->core); > > out_probe_notify: > - cec_notifier_cec_adap_unregister(ao_cec->notify); > + cec_notifier_cec_adap_unregister(ao_cec->notify, ao_cec->adap); > > out_probe_adapter: > cec_delete_adapter(ao_cec->adap); > @@ -704,7 +704,7 @@ static int meson_ao_cec_remove(struct platform_device *pdev) > > clk_disable_unprepare(ao_cec->core); > > - cec_notifier_cec_adap_unregister(ao_cec->notify); > + cec_notifier_cec_adap_unregister(ao_cec->notify, ao_cec->adap); > cec_unregister_adapter(ao_cec->adap); > > return 0; > diff --git a/drivers/media/platform/s5p-cec/s5p_cec.c b/drivers/media/platform/s5p-cec/s5p_cec.c > index 6ddcc35b0bbd..2a3e7ffefe0a 100644 > --- a/drivers/media/platform/s5p-cec/s5p_cec.c > +++ b/drivers/media/platform/s5p-cec/s5p_cec.c > @@ -239,7 +239,7 @@ static int s5p_cec_probe(struct platform_device *pdev) > return 0; > > err_notifier: > - cec_notifier_cec_adap_unregister(cec->notifier); > + cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); > > err_delete_adapter: > cec_delete_adapter(cec->adap); > @@ -250,7 +250,7 @@ static int s5p_cec_remove(struct platform_device *pdev) > { > struct s5p_cec_dev *cec = platform_get_drvdata(pdev); > > - cec_notifier_cec_adap_unregister(cec->notifier); > + cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); > cec_unregister_adapter(cec->adap); > pm_runtime_disable(&pdev->dev); > return 0; > diff --git a/drivers/media/platform/seco-cec/seco-cec.c b/drivers/media/platform/seco-cec/seco-cec.c > index 9cd60fe1867c..54b0d51e9c55 100644 > --- a/drivers/media/platform/seco-cec/seco-cec.c > +++ b/drivers/media/platform/seco-cec/seco-cec.c > @@ -671,7 +671,7 @@ static int secocec_probe(struct platform_device *pdev) > return ret; > > err_notifier: > - cec_notifier_cec_adap_unregister(secocec->notifier); > + cec_notifier_cec_adap_unregister(secocec->notifier, secocec->cec_adap); > err_delete_adapter: > cec_delete_adapter(secocec->cec_adap); > err: > @@ -692,7 +692,7 @@ static int secocec_remove(struct platform_device *pdev) > > dev_dbg(&pdev->dev, "IR disabled"); > } > - cec_notifier_cec_adap_unregister(secocec->notifier); > + cec_notifier_cec_adap_unregister(secocec->notifier, secocec->cec_adap); > cec_unregister_adapter(secocec->cec_adap); > > release_region(BRA_SMB_BASE_ADDR, 7); > diff --git a/drivers/media/platform/sti/cec/stih-cec.c b/drivers/media/platform/sti/cec/stih-cec.c > index 8118c7365d3f..f0c73e64b586 100644 > --- a/drivers/media/platform/sti/cec/stih-cec.c > +++ b/drivers/media/platform/sti/cec/stih-cec.c > @@ -359,7 +359,7 @@ static int stih_cec_probe(struct platform_device *pdev) > return 0; > > err_notifier: > - cec_notifier_cec_adap_unregister(cec->notifier); > + cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); > > err_delete_adapter: > cec_delete_adapter(cec->adap); > @@ -370,7 +370,7 @@ static int stih_cec_remove(struct platform_device *pdev) > { > struct stih_cec *cec = platform_get_drvdata(pdev); > > - cec_notifier_cec_adap_unregister(cec->notifier); > + cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); > cec_unregister_adapter(cec->adap); > > return 0; > diff --git a/drivers/media/platform/tegra-cec/tegra_cec.c b/drivers/media/platform/tegra-cec/tegra_cec.c > index a632602131f2..a99caac59f44 100644 > --- a/drivers/media/platform/tegra-cec/tegra_cec.c > +++ b/drivers/media/platform/tegra-cec/tegra_cec.c > @@ -409,7 +409,7 @@ static int tegra_cec_probe(struct platform_device *pdev) > return 0; > > err_notifier: > - cec_notifier_cec_adap_unregister(cec->notifier); > + cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); > err_adapter: > cec_delete_adapter(cec->adap); > err_clk: > @@ -423,7 +423,7 @@ static int tegra_cec_remove(struct platform_device *pdev) > > clk_disable_unprepare(cec->clk); > > - cec_notifier_cec_adap_unregister(cec->notifier); > + cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); > cec_unregister_adapter(cec->adap); > > return 0; > diff --git a/include/media/cec-notifier.h b/include/media/cec-notifier.h > index f161f8a493ac..985afea1ee36 100644 > --- a/include/media/cec-notifier.h > +++ b/include/media/cec-notifier.h > @@ -93,8 +93,10 @@ cec_notifier_cec_adap_register(struct device *hdmi_dev, const char *conn_name, > * cec_notifier_cec_adap_unregister - decrease refcount and delete when the > * refcount reaches 0. > * @n: notifier. If NULL, then this function does nothing. > + * @adap: the cec adapter that registered this notifier. > */ > -void cec_notifier_cec_adap_unregister(struct cec_notifier *n); > +void cec_notifier_cec_adap_unregister(struct cec_notifier *n, > + struct cec_adapter *adap); > > /** > * cec_notifier_set_phys_addr - set a new physical address. > @@ -160,7 +162,8 @@ cec_notifier_cec_adap_register(struct device *hdmi_dev, const char *conn_name, > return (struct cec_notifier *)0xdeadfeed; > } > > -static inline void cec_notifier_cec_adap_unregister(struct cec_notifier *n) > +static inline void cec_notifier_cec_adap_unregister(struct cec_notifier *n, > + struct cec_adapter *adap) > { > } > Thanks, Mauro