From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from viefep27-int.chello.at ([62.179.121.47]) by www.linuxtv.org with esmtp (Exim 4.63) (envelope-from ) id 1Jx9J4-0008D6-9Z for linux-dvb@linuxtv.org; Sat, 17 May 2008 01:25:49 +0200 Received: from [192.168.1.157] (really [77.57.60.184]) by viefep27-int.chello.at (InterMail vM.7.08.02.02 201-2186-121-104-20070414) with ESMTP id <20080516232511.FCNQ25484.viefep27-int.chello.at@[192.168.1.157]> for ; Sat, 17 May 2008 01:25:11 +0200 Message-ID: <482E17D9.4030902@hispeed.ch> Date: Sat, 17 May 2008 01:25:13 +0200 From: Roland Scheidegger MIME-Version: 1.0 To: linux-dvb@linuxtv.org Content-Type: multipart/mixed; boundary="------------040207020108050403030302" Subject: [linux-dvb] mantis infrared remote patch (Cinergy C) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-dvb-bounces@linuxtv.org Errors-To: linux-dvb-bounces+mchehab=infradead.org@linuxtv.org List-ID: This is a multi-part message in MIME format. --------------040207020108050403030302 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi, following earlier patches [1], [2], here's another version. I've added the remote for the Cinergy C card, and simplified it even a bit. The remote of the Cinergy C appears to be the same physically as the one of the Cinergy DT USB XS Diversity. If you compare the key definitions to the one in dib0700_devices.c you can see some differences: 1) I've mapped one button differently since the dib driver has two physical keys mapped to the same keycode... 2) the codes received in the dib driver are the same, except they are bit-inverted (the first 6 bits) and then the dib driver will always use the seventh bit instead of the sixth. I don't know if that's because the remote is actually different or if one of the drivers interprets the values a bit wrong... As for simplification, the driver got out of the non-working auto-repeat business... So no longer any worker thread when we know there's no work to do (actually should probably use work_struct instead of delayed_work now). The trouble with the previous auto-repeat code was that at least for the Cinergy C remote it can't work. This remote has an initial delay (initial button to first repeat) of ~270ms, and time between further repeats is ~220ms. So the code using polling 10 times per second didn't work and always registered single keypresses anyway. It couldn't be easily fixed, since the remote's repeat delay is larger than the fixed delay for repeats of the input layer (250ms) - meaning you wouldn't be able to do single key presses any longer... (I don't know if this really worked for the vp-2033 remote - the driver will now print out the time between irqs if the verbose option is set). So repeats are a bit slow (in fact annoyingly slow imho, with not even 5 per seconds here), but even a proper auto-repeat solution can't really fix this - if you'd emulate more repeats per second you obviously would not be able to stop pressing a key precisely, which is just as annoying. btw enabling verbose is a bit annoying due to the cam slot polling code filling up your log file even when the driver is just sitting idle - are people really expected to be able to insert/remove smartcards 10 times a second? Roland [1] http://www.linuxtv.org/pipermail/linux-dvb/2007-April/017403.html [2] http://www.linuxtv.org/pipermail/linux-dvb/2008-March/024301.html --------------040207020108050403030302 Content-Type: application/mbox; name="mantis-rc2.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="mantis-rc2.diff" ZGlmZiAtciBjZDFmYzRjN2YxZDggbGludXgvZHJpdmVycy9tZWRpYS9kdmIvbWFudGlzL01h a2VmaWxlCi0tLSBhL2xpbnV4L2RyaXZlcnMvbWVkaWEvZHZiL21hbnRpcy9NYWtlZmlsZQlT YXQgTWF5IDEwIDIyOjQ4OjU2IDIwMDggKzA0MDAKKysrIGIvbGludXgvZHJpdmVycy9tZWRp YS9kdmIvbWFudGlzL01ha2VmaWxlCUZyaSBBcHIgMTggMTg6MzA6MjIgMjAwOCArMDIwMApA QCAtMTIsNyArMTIsOCBAQCBtYW50aXMtb2JqcyA9IAltYW50aXNfY29yZS5vCVwKIAkJbWFu dGlzX3ZwMTA0MS5vCVwKIAkJbWFudGlzX3ZwMjAzMy5vCVwKIAkJbWFudGlzX3ZwMjA0MC5v CVwKLQkJbWFudGlzX3ZwMzAzMC5vCisJCW1hbnRpc192cDMwMzAubyBcCisJCW1hbnRpc19y Yy5vCiAKIG9iai0kKENPTkZJR19EVkJfTUFOVElTKSArPSBtYW50aXMubwogCmRpZmYgLXIg Y2QxZmM0YzdmMWQ4IGxpbnV4L2RyaXZlcnMvbWVkaWEvZHZiL21hbnRpcy9tYW50aXNfY29t bW9uLmgKLS0tIGEvbGludXgvZHJpdmVycy9tZWRpYS9kdmIvbWFudGlzL21hbnRpc19jb21t b24uaAlTYXQgTWF5IDEwIDIyOjQ4OjU2IDIwMDggKzA0MDAKKysrIGIvbGludXgvZHJpdmVy cy9tZWRpYS9kdmIvbWFudGlzL21hbnRpc19jb21tb24uaAlUaHUgTWF5IDE1IDA0OjI0OjU5 IDIwMDggKzAyMDAKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwu aD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgor I2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisjaW5jbHVkZSA8bWVkaWEvaXItY29tbW9uLmg+ CiAKICNpbmNsdWRlICJkdmJkZXYuaCIKICNpbmNsdWRlICJkdmJfZGVtdXguaCIKQEAgLTc0 LDYgKzc2LDIxIEBAIHN0cnVjdCBtYW50aXNfaHdjb25maWcgewogCWNoYXIJCQkqbW9kZWxf bmFtZTsKIAljaGFyCQkJKmRldl90eXBlOwogCXUzMgkJCXRzX3NpemU7CisJSVJfS0VZVEFC X1RZUEUJCSppcl9jb2RlczsKK307CisKK3N0cnVjdCBtYW50aXNfaXIgeworCXN0cnVjdCBp bnB1dF9kZXYJKnJjX2RldjsKKwljaGFyCQkJcmNfbmFtZVs4MF07CisJY2hhcgkJCXJjX3Bo eXNbODBdOworI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwy MCkKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QJcmNfcXVlcnlfd29yazsKKyNlbHNlCisJc3RydWN0 IGRlbGF5ZWRfd29yawlyY19xdWVyeV93b3JrOworI2VuZGlmCisJdTMyCQkJaXJfbGFzdF9j b2RlOworCXUzMgkJCWlyX2xhc3RfaXJxOworCXN0cnVjdCBpcl9pbnB1dF9zdGF0ZQlpcjsK IH07CiAKIHN0cnVjdCBtYW50aXNfcGNpIHsKQEAgLTEzOSw2ICsxNTYsOSBAQCBzdHJ1Y3Qg bWFudGlzX3BjaSB7CiAJIC8qCUExMiBBMTMgQTE0CQkqLwogCWludAkJCWdwaW9fc3RhdHVz OwogCisgICAgICAgIC8qICAgICAgIFJDICAgICAgICAgICAgICAgICAgICAgKi8KKwlzdHJ1 Y3QgbWFudGlzX2lyCWlyOworCiAJc3RydWN0IG1hbnRpc19jYQkqbWFudGlzX2NhOwogfTsK IApkaWZmIC1yIGNkMWZjNGM3ZjFkOCBsaW51eC9kcml2ZXJzL21lZGlhL2R2Yi9tYW50aXMv bWFudGlzX2NvcmUuYwotLS0gYS9saW51eC9kcml2ZXJzL21lZGlhL2R2Yi9tYW50aXMvbWFu dGlzX2NvcmUuYwlTYXQgTWF5IDEwIDIyOjQ4OjU2IDIwMDggKzA0MDAKKysrIGIvbGludXgv ZHJpdmVycy9tZWRpYS9kdmIvbWFudGlzL21hbnRpc19jb3JlLmMJTW9uIE1heSAxMiAxNToz MjoyMyAyMDA4ICswMjAwCkBAIC0xNjQsNiArMTY0LDEwIEBAIGludCBtYW50aXNfY29yZV9p bml0KHN0cnVjdCBtYW50aXNfcGNpICoKIAkJZHByaW50ayh2ZXJib3NlLCBNQU5USVNfREVC VUcsIDEsICJNYW50aXMgRFZCIGluaXQgZmFpbGVkIik7CiAJCXJldHVybiBlcnI7CiAJfQor CWlmICgoZXJyID0gbWFudGlzX3JjX2luaXQobWFudGlzKSkgPCAwKSB7CisJCWRwcmludGso dmVyYm9zZSwgTUFOVElTX0RFQlVHLCAxLCAibWFudGlzIFJDIGluaXQgZmFpbGVkIik7CisJ CXJldHVybiBlcnI7CisJfQogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLXIgY2QxZmM0YzdmMWQ4 IGxpbnV4L2RyaXZlcnMvbWVkaWEvZHZiL21hbnRpcy9tYW50aXNfY29yZS5oCi0tLSBhL2xp bnV4L2RyaXZlcnMvbWVkaWEvZHZiL21hbnRpcy9tYW50aXNfY29yZS5oCVNhdCBNYXkgMTAg MjI6NDg6NTYgMjAwOCArMDQwMAorKysgYi9saW51eC9kcml2ZXJzL21lZGlhL2R2Yi9tYW50 aXMvbWFudGlzX2NvcmUuaAlTYXQgQXByIDEyIDAyOjU5OjExIDIwMDggKzAyMDAKQEAgLTUz LDYgKzUzLDggQEAgZXh0ZXJuIGludCBtYW50aXNfaTJjX2V4aXQoc3RydWN0IG1hbnRpcwog ZXh0ZXJuIGludCBtYW50aXNfaTJjX2V4aXQoc3RydWN0IG1hbnRpc19wY2kgKm1hbnRpcyk7 CiBleHRlcm4gaW50IG1hbnRpc19jb3JlX2luaXQoc3RydWN0IG1hbnRpc19wY2kgKm1hbnRp cyk7CiBleHRlcm4gaW50IG1hbnRpc19jb3JlX2V4aXQoc3RydWN0IG1hbnRpc19wY2kgKm1h bnRpcyk7CitleHRlcm4gaW50IG1hbnRpc19yY19pbml0KHN0cnVjdCBtYW50aXNfcGNpICpt YW50aXMpOworZXh0ZXJuIGludCBtYW50aXNfcmNfZXhpdChzdHJ1Y3QgbWFudGlzX3BjaSAq bWFudGlzKTsKIC8vZXh0ZXJuIHZvaWQgbWFudGlzX2ZlX3Bvd2VydXAoc3RydWN0IG1hbnRp c19wY2kgKm1hbnRpcyk7CiAvL2V4dGVybiB2b2lkIG1hbnRpc19mZV9wb3dlcmRvd24oc3Ry dWN0IG1hbnRpc19wY2kgKm1hbnRpcyk7CiAvL2V4dGVybiB2b2lkIG1hbnRpc19mZV9yZXNl dChzdHJ1Y3QgZHZiX2Zyb250ZW5kICpmZSk7CmRpZmYgLXIgY2QxZmM0YzdmMWQ4IGxpbnV4 L2RyaXZlcnMvbWVkaWEvZHZiL21hbnRpcy9tYW50aXNfcGNpLmMKLS0tIGEvbGludXgvZHJp dmVycy9tZWRpYS9kdmIvbWFudGlzL21hbnRpc19wY2kuYwlTYXQgTWF5IDEwIDIyOjQ4OjU2 IDIwMDggKzA0MDAKKysrIGIvbGludXgvZHJpdmVycy9tZWRpYS9kdmIvbWFudGlzL21hbnRp c19wY2kuYwlUaHUgTWF5IDE1IDA0OjIzOjA4IDIwMDggKzAyMDAKQEAgLTY1LDYgKzY1LDcg QEAgc3RhdGljIGlycXJldHVybl90IG1hbnRpc19wY2lfaXJxKGludCBpcgogCiAJc3RhdCA9 IG1tcmVhZChNQU5USVNfSU5UX1NUQVQpOwogCW1hc2sgPSBtbXJlYWQoTUFOVElTX0lOVF9N QVNLKTsKKwogCW1zdGF0ID0gbHN0YXQgPSBzdGF0ICYgfk1BTlRJU19JTlRfUklTQ1NUQVQ7 CiAJaWYgKCEoc3RhdCAmIG1hc2spKQogCQlyZXR1cm4gSVJRX05PTkU7CkBAIC03Miw2ICs3 Myw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBtYW50aXNfcGNpX2lycShpbnQgaXIKIAltYW50 aXMtPm1hbnRpc19pbnRfc3RhdCA9IHN0YXQ7CiAJbWFudGlzLT5tYW50aXNfaW50X21hc2sg PSBtYXNrOwogCWRwcmludGsodmVyYm9zZSwgTUFOVElTX0RFQlVHLCAwLCAiPT09IEludGVy cnVwdHNbJTA0eC8lMDR4XT0gWyIsIHN0YXQsIG1hc2spOworCiAJaWYgKHN0YXQgJiBNQU5U SVNfSU5UX1JJU0NFTikgewogCQlkcHJpbnRrKHZlcmJvc2UsIE1BTlRJU19ERUJVRywgMCwg IiogRE1BIGVuYWJsICoiKTsKIAl9CkBAIC04MSw2ICs4MywxMSBAQCBzdGF0aWMgaXJxcmV0 dXJuX3QgbWFudGlzX3BjaV9pcnEoaW50IGlyCiAJfQogCWlmIChzdGF0ICYgTUFOVElTX0lO VF9JUlExKSB7CiAJCWRwcmludGsodmVyYm9zZSwgTUFOVElTX0RFQlVHLCAwLCAiKiBJTlQg SVJRLTEgKiIpOworCQlkcHJpbnRrKHZlcmJvc2UsIE1BTlRJU19ERUJVRywgMCwgImlyIHJl cGVhdCBtc2VjICV1IiwgamlmZmllc190b19tc2VjcyhqaWZmaWVzIC0gbWFudGlzLT5pci5p cl9sYXN0X2lycSkpOworCQltYW50aXMtPmlyLmlyX2xhc3RfaXJxID0gamlmZmllczsKKwkJ Lyogbm90ZSB2YWx1ZSBtdXN0IGJlIHJlYWQgaGVyZSBvciB3ZSdsbCBnZXQgaXJxIHN0b3Jt ICovCisJCW1hbnRpcy0+aXIuaXJfbGFzdF9jb2RlID0gbW1yZWFkKDB4ZTgpOworCQlzY2hl ZHVsZV9kZWxheWVkX3dvcmsoJm1hbnRpcy0+aXIucmNfcXVlcnlfd29yaywgMCk7CiAJfQog CWlmIChzdGF0ICYgTUFOVElTX0lOVF9PQ0VSUikgewogCQlkcHJpbnRrKHZlcmJvc2UsIE1B TlRJU19ERUJVRywgMCwgIiogSU5UIE9DRVJSICoiKTsKQEAgLTI0Myw2ICsyNTAsNyBAQCBz dGF0aWMgdm9pZCBfX2RldmV4aXQgbWFudGlzX3BjaV9yZW1vdmUoCiAJCWRwcmludGsodmVy Ym9zZSwgTUFOVElTX0VSUk9SLCAxLCAiQWVpbywgTWFudGlzIE5VTEwgcHRyIik7CiAJCXJl dHVybjsKIAl9CisJbWFudGlzX3JjX2V4aXQobWFudGlzKTsKIAltYW50aXNfY29yZV9leGl0 KG1hbnRpcyk7CiAJZHByaW50ayh2ZXJib3NlLCBNQU5USVNfRVJST1IsIDEsICJSZW1vdmlu ZyAtLT5NYW50aXMgaXJxOiAlZCwgbGF0ZW5jeTogJWRcbiBtZW1vcnk6IDB4JWx4LCBtbWlv OiAweCVwIiwKIAkJcGRldi0+aXJxLCBtYW50aXMtPmxhdGVuY3ksIG1hbnRpcy0+bWFudGlz X2FkZHIsCmRpZmYgLXIgY2QxZmM0YzdmMWQ4IGxpbnV4L2RyaXZlcnMvbWVkaWEvZHZiL21h bnRpcy9tYW50aXNfdnAyMDMzLmMKLS0tIGEvbGludXgvZHJpdmVycy9tZWRpYS9kdmIvbWFu dGlzL21hbnRpc192cDIwMzMuYwlTYXQgTWF5IDEwIDIyOjQ4OjU2IDIwMDggKzA0MDAKKysr IGIvbGludXgvZHJpdmVycy9tZWRpYS9kdmIvbWFudGlzL21hbnRpc192cDIwMzMuYwlUaHUg TWF5IDE1IDA0OjIzOjAwIDIwMDggKzAyMDAKQEAgLTIwLDYgKzIwLDcgQEAKIAogI2luY2x1 ZGUgIm1hbnRpc19jb21tb24uaCIKICNpbmNsdWRlICJtYW50aXNfdnAyMDMzLmgiCisjaW5j bHVkZSAibWFudGlzX3JjLmgiCiAKICNkZWZpbmUgTUFOVElTX01PREVMX05BTUUJIlZQLTIw MzMiCiAjZGVmaW5lIE1BTlRJU19ERVZfVFlQRQkJIkRWQi1DIgpAQCAtMjgsNiArMjksNyBA QCBzdHJ1Y3QgbWFudGlzX2h3Y29uZmlnIHZwMjAzM19tYW50aXNfY29uCiAJLm1vZGVsX25h bWUJPSBNQU5USVNfTU9ERUxfTkFNRSwKIAkuZGV2X3R5cGUJPSBNQU5USVNfREVWX1RZUEUs CiAJLnRzX3NpemUJPSBNQU5USVNfVFNfMjA0LAorCS5pcl9jb2RlcyAgICAgICA9IGlyX2Nv ZGVzX21hbnRpc192cDIwMzMsCiB9OwogCiBzdHJ1Y3QgdGRhMTAwMnhfY29uZmlnIHBoaWxp cHNfY3UxMjE2X2NvbmZpZyA9IHsKZGlmZiAtciBjZDFmYzRjN2YxZDggbGludXgvZHJpdmVy cy9tZWRpYS9kdmIvbWFudGlzL21hbnRpc192cDIwNDAuYwotLS0gYS9saW51eC9kcml2ZXJz L21lZGlhL2R2Yi9tYW50aXMvbWFudGlzX3ZwMjA0MC5jCVNhdCBNYXkgMTAgMjI6NDg6NTYg MjAwOCArMDQwMAorKysgYi9saW51eC9kcml2ZXJzL21lZGlhL2R2Yi9tYW50aXMvbWFudGlz X3ZwMjA0MC5jCVRodSBNYXkgMTUgMDQ6MjA6MjYgMjAwOCArMDIwMApAQCAtMjAsNiArMjAs NyBAQAogCiAjaW5jbHVkZSAibWFudGlzX2NvbW1vbi5oIgogI2luY2x1ZGUgIm1hbnRpc192 cDIwNDAuaCIKKyNpbmNsdWRlICJtYW50aXNfcmMuaCIKIAogI2RlZmluZSBNQU5USVNfTU9E RUxfTkFNRQkiVlAtMjA0MCIKICNkZWZpbmUgTUFOVElTX0RFVl9UWVBFCQkiRFZCLUMiCkBA IC0yOCw2ICsyOSw3IEBAIHN0cnVjdCBtYW50aXNfaHdjb25maWcgdnAyMDQwX21hbnRpc19j b24KIAkubW9kZWxfbmFtZQk9IE1BTlRJU19NT0RFTF9OQU1FLAogCS5kZXZfdHlwZQk9IE1B TlRJU19ERVZfVFlQRSwKIAkudHNfc2l6ZQk9IE1BTlRJU19UU18yMDQsCisJLmlyX2NvZGVz CT0gaXJfY29kZXNfbWFudGlzX3ZwMjA0MCwKIH07CiAKIHN0cnVjdCB0ZGExMDAyeF9jb25m aWcgdGRhMTAwMjNfY3UxMjE2X2NvbmZpZyA9IHsKZGlmZiAtciBjZDFmYzRjN2YxZDggbGlu dXgvZHJpdmVycy9tZWRpYS9kdmIvbWFudGlzL21hbnRpc19yYy5jCi0tLSAvZGV2L251bGwJ VGh1IEphbiAwMSAwMDowMDowMCAxOTcwICswMDAwCisrKyBiL2xpbnV4L2RyaXZlcnMvbWVk aWEvZHZiL21hbnRpcy9tYW50aXNfcmMuYwlTYXQgTWF5IDE3IDAwOjQ4OjM2IDIwMDggKzAy MDAKQEAgLTAsMCArMSwyMDQgQEAKKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNs dWRlICJtYW50aXNfY29tbW9uLmgiCisjaW5jbHVkZSAibWFudGlzX2NvcmUuaCIKKworI2lu Y2x1ZGUgImRteGRldi5oIgorI2luY2x1ZGUgImR2YmRldi5oIgorI2luY2x1ZGUgImR2Yl9k ZW11eC5oIgorI2luY2x1ZGUgImR2Yl9mcm9udGVuZC5oIgorI2luY2x1ZGUgIm1hbnRpc192 cDEwMzMuaCIKKyNpbmNsdWRlICJtYW50aXNfdnAxMDM0LmgiCisjaW5jbHVkZSAibWFudGlz X3ZwMjAzMy5oIgorI2luY2x1ZGUgIm1hbnRpc192cDIwNDAuaCIKKyNpbmNsdWRlICJtYW50 aXNfdnAzMDMwLmgiCisKKy8qIFR3aW5oYW4gQ0FCLUNJIDIwMzMgKi8KK0lSX0tFWVRBQl9U WVBFIGlyX2NvZGVzX21hbnRpc192cDIwMzNbSVJfS0VZVEFCX1NJWkVdID0geworCVsgMHgy OSBdID0gS0VZX1BPV0VSLAorCVsgMHgyOCBdID0gS0VZX0ZBVk9SSVRFUywKKwlbIDB4MzAg XSA9IEtFWV9URVhULAorCVsgMHgxNyBdID0gS0VZX0lORk8sICAgICAgICAgIC8vIFByZXZp ZXcgCisJWyAweDIzIF0gPSBLRVlfRVBHLAorCVsgMHgzYiBdID0gS0VZX0YyMiwgICAgICAg ICAgIC8vIFJlY29yZCBMaXN0CisKKwlbIDB4M2MgXSA9IEtFWV8xLCAKKwlbIDB4M2UgXSA9 IEtFWV8yLAorCVsgMHgzOSBdID0gS0VZXzMsCisJWyAweDM2IF0gPSBLRVlfNCwKKwlbIDB4 MjIgXSA9IEtFWV81LAorCVsgMHgyMCBdID0gS0VZXzYsCisJWyAweDMyIF0gPSBLRVlfNywK KwlbIDB4MjYgXSA9IEtFWV84LAorCVsgMHgyNCBdID0gS0VZXzksCisJWyAweDJhIF0gPSBL RVlfMCwKKworCVsgMHgzMyBdID0gS0VZX0NBTkNFTCwKKwlbIDB4MmMgXSA9IEtFWV9CQUNL LAorCVsgMHgxNSBdID0gS0VZX0NMRUFSLAorCVsgMHgzZiBdID0gS0VZX1RBQiwKKwlbIDB4 MTAgXSA9IEtFWV9FTlRFUiwKKwlbIDB4MTQgXSA9IEtFWV9VUCwKKwlbIDB4MGQgXSA9IEtF WV9SSUdIVCwKKwlbIDB4MGUgXSA9IEtFWV9ET1dOLAorCVsgMHgxMSBdID0gS0VZX0xFRlQs CisKKwlbIDB4MjEgXSA9IEtFWV9WT0xVTUVVUCwKKwlbIDB4MzUgXSA9IEtFWV9WT0xVTUVE T1dOLAorCVsgMHgzZCBdID0gS0VZX0NIQU5ORUxET1dOLAorCVsgMHgzYSBdID0gS0VZX0NI QU5ORUxVUCwKKwlbIDB4MmUgXSA9IEtFWV9SRUNPUkQsCisJWyAweDJiIF0gPSBLRVlfUExB WSwKKwlbIDB4MTMgXSA9IEtFWV9QQVVTRSwKKwlbIDB4MjUgXSA9IEtFWV9TVE9QLAorCisJ WyAweDFmIF0gPSBLRVlfUkVXSU5ELAorCVsgMHgyZCBdID0gS0VZX0ZBU1RGT1JXQVJELAor CVsgMHgxZSBdID0gS0VZX1BSRVZJT1VTLCAgICAgICAgLy8gUmVwbGF5IHw8CisJWyAweDFk IF0gPSBLRVlfTkVYVCwgICAgICAgICAgICAvLyBTa2lwICAgPnwKKworCVsgMHgwYiBdID0g S0VZX0NBTUVSQSwgICAgICAgICAgLy8gQ2FwdHVyZQorCVsgMHgwZiBdID0gS0VZX0xBTkdV QUdFLCAgICAgICAgIC8vIFNBUAorCVsgMHgxOCBdID0gS0VZX01PREUsICAgICAgICAgICAg IC8vIFBJUAorCVsgMHgxMiBdID0gS0VZX1pPT00sICAgICAgICAgICAgLy8gRnVsbCBzY3Jl ZW4sCisJWyAweDFjIF0gPSBLRVlfU1VCVElUTEUsCisJWyAweDJmIF0gPSBLRVlfTVVURSwK KwlbIDB4MTYgXSA9IEtFWV9GMjAsICAgICAgICAgICAgICAvLyBML1IsCisJWyAweDM4IF0g PSBLRVlfRjIxLCAgICAgICAgICAgICAgLy8gSGliZXJuYXRlLAorCisJWyAweDM3IF0gPSBL RVlfU1dJVENIVklERU9NT0RFLCAvLyBBL1YKKwlbIDB4MzEgXSA9IEtFWV9BR0FJTiwgICAg ICAgICAgIC8vIFJlY2FsbCwKKwlbIDB4MWEgXSA9IEtFWV9LUFBMVVMsICAgICAgICAgIC8v IFpvb20rLAorCVsgMHgxOSBdID0gS0VZX0tQTUlOVVMsICAgICAgICAgLy8gWm9vbS0sCisJ WyAweDI3IF0gPSBLRVlfUkVELAorCVsgMHgwQyBdID0gS0VZX0dSRUVOLAorCVsgMHgwMSBd ID0gS0VZX1lFTExPVywKKwlbIDB4MDAgXSA9IEtFWV9CTFVFLAorCit9OworCisvKiBUd2lu aGFuIG1hbnRpcyB2cDIwNDAgLSB0ZXJyYXRlYyBjaW5lcmd5IGMgKi8KK0lSX0tFWVRBQl9U WVBFIGlyX2NvZGVzX21hbnRpc192cDIwNDBbSVJfS0VZVEFCX1NJWkVdID0geworCVsgMHgz ZSBdID0gS0VZX1BPV0VSLAorCVsgMHgzZCBdID0gS0VZXzEsCisJWyAweDNjIF0gPSBLRVlf MiwKKwlbIDB4M2IgXSA9IEtFWV8zLAorCVsgMHgzYSBdID0gS0VZXzQsCisJWyAweDM5IF0g PSBLRVlfNSwKKwlbIDB4MzggXSA9IEtFWV82LAorCVsgMHgzNyBdID0gS0VZXzcsCisJWyAw eDM2IF0gPSBLRVlfOCwKKwlbIDB4MzUgXSA9IEtFWV85LAorCVsgMHgzNCBdID0gS0VZX1ZJ REVPX05FWFQsIC8qIEFWICovCisJWyAweDMzIF0gPSBLRVlfMCwKKwlbIDB4MzIgXSA9IEtF WV9SRUZSRVNILAorCVsgMHgzMCBdID0gS0VZX0VQRywKKwlbIDB4MmYgXSA9IEtFWV9VUCwK KwlbIDB4MmUgXSA9IEtFWV9MRUZULAorCVsgMHgyZCBdID0gS0VZX09LLAorCVsgMHgyYyBd ID0gS0VZX1JJR0hULAorCVsgMHgyYiBdID0gS0VZX0RPV04sCisJWyAweDI5IF0gPSBLRVlf SU5GTywKKwlbIDB4MjggXSA9IEtFWV9SRUQsCisJWyAweDI3IF0gPSBLRVlfR1JFRU4sCisJ WyAweDI2IF0gPSBLRVlfWUVMTE9XLAorCVsgMHgyNSBdID0gS0VZX0JMVUUsCisJWyAweDI0 IF0gPSBLRVlfQ0hBTk5FTFVQLAorCVsgMHgyMyBdID0gS0VZX1ZPTFVNRVVQLAorCVsgMHgy MiBdID0gS0VZX01VVEUsCisJWyAweDIxIF0gPSBLRVlfVk9MVU1FRE9XTiwKKwlbIDB4MjAg XSA9IEtFWV9DSEFOTkVMRE9XTiwKKwlbIDB4MWYgXSA9IEtFWV9QQVVTRSwKKwlbIDB4MWUg XSA9IEtFWV9IT01FLAorCVsgMHgxZCBdID0gS0VZX01FTlUsIC8qIERWRCBNZW51ICovCisJ WyAweDFjIF0gPSBLRVlfU1VCVElUTEUsCisJWyAweDFiIF0gPSBLRVlfVEVYVCwgLyogVGVs ZXRleHQgKi8KKwlbIDB4MWEgXSA9IEtFWV9ERUxFVEUsCisJWyAweDE5IF0gPSBLRVlfVFYs CisJWyAweDE4IF0gPSBLRVlfRFZELAorCVsgMHgxNyBdID0gS0VZX1NUT1AsCisJWyAweDE2 IF0gPSBLRVlfVklERU8sCisJWyAweDE1IF0gPSBLRVlfQVVESU8sIC8qIE11c2ljICovCisJ WyAweDE0IF0gPSBLRVlfU0NSRUVOLCAvKiBQaWMgKi8KKwlbIDB4MTMgXSA9IEtFWV9QTEFZ LAorCVsgMHgxMiBdID0gS0VZX0JBQ0ssCisJWyAweDExIF0gPSBLRVlfUkVXSU5ELAorCVsg MHgxMCBdID0gS0VZX0ZBU1RGT1JXQVJELAorCVsgMHgwYiBdID0gS0VZX1BSRVZJT1VTLAor CVsgMHgwNyBdID0gS0VZX1JFQ09SRCwKKwlbIDB4MDMgXSA9IEtFWV9ORVhULAorCit9Owor CisKK3ZvaWQgbWFudGlzX3F1ZXJ5X3JjKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sK KwlzdHJ1Y3QgbWFudGlzX3BjaSAqbWFudGlzID0KKwkJY29udGFpbmVyX29mKHdvcmssIHN0 cnVjdCBtYW50aXNfcGNpLCBpci5yY19xdWVyeV93b3JrLndvcmspOworCXN0cnVjdCBtYW50 aXNfaXIgKm1pciA9ICZtYW50aXMtPmlyOworCXN0cnVjdCBpcl9pbnB1dF9zdGF0ZSAqaXIg PSAmbWFudGlzLT5pci5pcjsKKworCXUzMiBjdXJya2V5ID0gbWlyLT5pcl9sYXN0X2NvZGU7 CisKKwlpcl9pbnB1dF9rZXlkb3duKG1pci0+cmNfZGV2LCBpciwgY3VycmtleSwgMCk7CisJ aXJfaW5wdXRfbm9rZXkobWlyLT5yY19kZXYsIGlyKTsKKworfQorCitpbnQgbWFudGlzX3Jj X2luaXQoc3RydWN0IG1hbnRpc19wY2kgKm1hbnRpcykKK3sKKwlzdHJ1Y3QgaW5wdXRfZGV2 ICpyY19kZXY7CisJc3RydWN0IG1hbnRpc19pciAqbWlyID0gJm1hbnRpcy0+aXI7CisJc3Ry dWN0IGlyX2lucHV0X3N0YXRlICppciA9ICZtaXItPmlyOworCWludCBlcnI7CisKKwlpZiAo IW1hbnRpcy0+aHdjb25maWctPmlyX2NvZGVzKSB7CisJCWRwcmludGsodmVyYm9zZSwgTUFO VElTX0RFQlVHLCAxLCAiTm8gUkMgY29kZXMgYXZhaWxhYmxlIik7CisJCXJldHVybiAwOwor CX0KKworCW1td3JpdGUobW1yZWFkKE1BTlRJU19JTlRfTUFTSykgfCBNQU5USVNfSU5UX0lS UTEsIE1BTlRJU19JTlRfTUFTSyk7CisKKwlyY19kZXYgPSBpbnB1dF9hbGxvY2F0ZV9kZXZp Y2UoKTsKKwlpZiAoIXJjX2RldikgeworCQlkcHJpbnRrKHZlcmJvc2UsIE1BTlRJU19FUlJP UiwgMSwgImR2Yl9yY19pbml0IGZhaWxlZCIpOworCQlyZXR1cm4gLUVOT0VOVDsKKwl9CisK KwltaXItPnJjX2RldiA9IHJjX2RldjsKKworCXNucHJpbnRmKG1pci0+cmNfbmFtZSwgc2l6 ZW9mKG1pci0+cmNfbmFtZSksIAorCQkgIk1hbnRpcyAlcyBJUiBSZWNlaXZlciIsIG1hbnRp cy0+aHdjb25maWctPm1vZGVsX25hbWUpOworCXNucHJpbnRmKG1pci0+cmNfcGh5cywgc2l6 ZW9mKG1pci0+cmNfcGh5cyksIAorCQkgInBjaS0lcy9pcjAiLCBwY2lfbmFtZShtYW50aXMt PnBkZXYpKTsKKworCXJjX2Rldi0+bmFtZSA9IG1pci0+cmNfbmFtZTsKKwlyY19kZXYtPnBo eXMgPSBtaXItPnJjX3BoeXM7CisKKwlpcl9pbnB1dF9pbml0KHJjX2RldiwgaXIsIElSX1RZ UEVfT1RIRVIsIG1hbnRpcy0+aHdjb25maWctPmlyX2NvZGVzKTsKKworCXJjX2Rldi0+aWQu YnVzdHlwZSA9IEJVU19QQ0k7CisJcmNfZGV2LT5pZC52ZW5kb3IgID0gbWFudGlzLT52ZW5k b3JfaWQ7CisJcmNfZGV2LT5pZC5wcm9kdWN0ID0gbWFudGlzLT5kZXZpY2VfaWQ7CisJcmNf ZGV2LT5pZC52ZXJzaW9uID0gMTsKKwlyY19kZXYtPmNkZXYuZGV2ID0gJm1hbnRpcy0+cGRl di0+ZGV2OworCisJSU5JVF9ERUxBWUVEX1dPUksoJm1pci0+cmNfcXVlcnlfd29yaywgbWFu dGlzX3F1ZXJ5X3JjKTsKKworCWVyciA9IGlucHV0X3JlZ2lzdGVyX2RldmljZShyY19kZXYp OworCWlmIChlcnIpIHsKKwkJZHByaW50ayh2ZXJib3NlLCBNQU5USVNfRVJST1IsIDEsICJy YyByZWdpc3RlcmluZyBmYWlsZWQiKTsKKwkJcmV0dXJuIC1FTk9FTlQ7CisJfQorCisJcmV0 dXJuIDA7Cit9CisKK2ludCBtYW50aXNfcmNfZXhpdChzdHJ1Y3QgbWFudGlzX3BjaSAqbWFu dGlzKQoreworCW1td3JpdGUobW1yZWFkKE1BTlRJU19JTlRfTUFTSykgJiAofk1BTlRJU19J TlRfSVJRMSksIE1BTlRJU19JTlRfTUFTSyk7CisKKwljYW5jZWxfcmVhcm1pbmdfZGVsYXll ZF93b3JrKCZtYW50aXMtPmlyLnJjX3F1ZXJ5X3dvcmspOworCWlucHV0X3VucmVnaXN0ZXJf ZGV2aWNlKG1hbnRpcy0+aXIucmNfZGV2KTsKKwlkcHJpbnRrKHZlcmJvc2UsIE1BTlRJU19E RUJVRywgMSwgIlJDIHVucmVnaXN0ZXJlZCIpOworCXJldHVybiAwOworfQpkaWZmIC1yIGNk MWZjNGM3ZjFkOCBsaW51eC9kcml2ZXJzL21lZGlhL2R2Yi9tYW50aXMvbWFudGlzX3JjLmgK LS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIvbGlu dXgvZHJpdmVycy9tZWRpYS9kdmIvbWFudGlzL21hbnRpc19yYy5oCVNhdCBNYXkgMDMgMDI6 NTM6MTEgMjAwOCArMDIwMApAQCAtMCwwICsxLDIgQEAKK2V4dGVybiBJUl9LRVlUQUJfVFlQ RSBpcl9jb2Rlc19tYW50aXNfdnAyMDMzW0lSX0tFWVRBQl9TSVpFXTsKK2V4dGVybiBJUl9L RVlUQUJfVFlQRSBpcl9jb2Rlc19tYW50aXNfdnAyMDQwW0lSX0tFWVRBQl9TSVpFXTsK --------------040207020108050403030302 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb --------------040207020108050403030302--