[PATCH] New driver for Trust FM Radio card

Eric Lammerts (eric@scintilla.utwente.nl)
Fri, 3 Sep 1999 00:26:29 +0200 (CEST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--655616-969170217-936311189=:757
Content-Type: TEXT/PLAIN; charset=US-ASCII

This patch adds a driver for the Trust FM Radio Card.

Alan: Why are the bass and treble fields of struct video_audio
unsigned? You can have less or more bass/treble than normal so a
signed value would be more appropriate. Right now my driver uses 0 for
minimum bass/treble, 32768 for neutral and 65535 for maximum, but I
don't like this very much.

Eric

-- 
Eric Lammerts <eric@scintilla.utwente.nl>

--655616-969170217-936311189=:757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="trust-driver-2.2.12-patch" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.02.9909030026290.757@adriaan.korenvliet> Content-Description: Content-Disposition: attachment; filename="trust-driver-2.2.12-patch"

LS0tIGxpbnV4L2luY2x1ZGUvbGludXgvdmlkZW9kZXYuaC5vcmlnCUZyaSBN YXkgIDcgMjA6MDU6MzAgMTk5OQ0KKysrIGxpbnV4L2luY2x1ZGUvbGludXgv dmlkZW9kZXYuaAlUaHUgU2VwICAyIDIzOjQ2OjQ3IDE5OTkNCkBAIC0yNzgs NiArMjc4LDcgQEANCiAjZGVmaW5lIFZJRF9IQVJEV0FSRV9UWVBIT09OCTE5 DQogI2RlZmluZSBWSURfSEFSRFdBUkVfVklOTwkyMAkvKiBSZXNlcnZlZCBm b3IgU0dJIEluZHkgVmlubyAqLw0KICNkZWZpbmUgVklEX0hBUkRXQVJFX0NB REVUCTIxCS8qIENhZGV0IHJhZGlvICovDQorI2RlZmluZSBWSURfSEFSRFdB UkVfVFJVU1QJMjIJLyogVHJ1c3QgRk0gUmFkaW8gKi8NCiANCiAvKg0KICAq CUluaXRpYWxpc2VyIGxpc3QNCi0tLSBsaW51eC9kcml2ZXJzL2NoYXIvcmFk aW8tdHJ1c3QuYy5vcmlnCVRodSBTZXAgIDIgMjM6NDY6NDcgMTk5OQ0KKysr IGxpbnV4L2RyaXZlcnMvY2hhci9yYWRpby10cnVzdC5jCVRodSBTZXAgIDIg MjM6NDQ6MjkgMTk5OQ0KQEAgLTAsMCArMSwzNTEgQEANCisvKiByYWRpby10 cnVzdC5jIC0gVHJ1c3QgRk0gUmFkaW8gY2FyZCBkcml2ZXIgZm9yIExpbnV4 IDIuMiANCisgKiBieSBFcmljIExhbW1lcnRzIDxlcmljQHNjaW50aWxsYS51 dHdlbnRlLm5sPg0KKyAqDQorICogQmFzZWQgb24gcmFkaW8tYXp0ZWNoLmMu IE9yaWdpbmFsIG5vdGVzOg0KKyAqDQorICogQWRhcHRlZCB0byBzdXBwb3J0 IHRoZSBWaWRlbyBmb3IgTGludXggQVBJIGJ5IA0KKyAqIFJ1c3NlbGwgS3Jv bGwgPHJrcm9sbEBleHBsb2l0cy5vcmc+LiAgQmFzZWQgb24gb3JpZ2luYWwg dHVuZXIgY29kZSBieToNCisgKg0KKyAqIFF1YXkgTHkNCisgKiBEb25hbGQg U29uZw0KKyAqIEphc29uIExld2lzICAgICAgKGpsZXdpc0B0d2lsaWdodC52 dGMudnNjLmVkdSkgDQorICogU2NvdHQgTWNHcmF0aCAgICAoc21jZ3JhdGhA dHdpbGlnaHQudnRjLnZzYy5lZHUpDQorICogV2lsbGlhbSBNY0dyYXRoICAo d21jZ3JhdGhAdHdpbGlnaHQudnRjLnZzYy5lZHUpDQorICoNCisgKiBUaGUg YmFzaXMgZm9yIHRoaXMgY29kZSBtYXkgYmUgZm91bmQgYXQgaHR0cDovL2Jp Z2JhbmcudnRjLnZzYy5lZHUvZm1yYWRpby8NCisgKi8NCisNCisjaW5jbHVk ZSA8c3RkYXJnLmg+DQorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KKyNp bmNsdWRlIDxsaW51eC9pbml0Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2lvcG9y dC5oPg0KKyNpbmNsdWRlIDxhc20vaW8uaD4NCisjaW5jbHVkZSA8YXNtL3Vh Y2Nlc3MuaD4NCisjaW5jbHVkZSA8bGludXgvdmlkZW9kZXYuaD4NCisjaW5j bHVkZSA8bGludXgvY29uZmlnLmg+CS8qIENPTkZJR19SQURJT19UUlVTVF9Q T1JUIAkqLw0KKw0KKy8qIGFjY2VwdGFibGUgcG9ydHM6IDB4MzUwIChKUDMg c2hvcnRlZCksIDB4MzU4IChKUDMgb3BlbikgKi8NCisNCisjaWZuZGVmIENP TkZJR19SQURJT19UUlVTVF9QT1JUDQorI2RlZmluZSBDT05GSUdfUkFESU9f VFJVU1RfUE9SVCAtMQ0KKyNlbmRpZg0KKw0KK3N0YXRpYyBpbnQgaW8gPSBD T05GSUdfUkFESU9fVFJVU1RfUE9SVDsgDQorc3RhdGljIGludCBpb3ZhbCA9 IDB4ZjsNCitzdGF0aWMgaW50IHVzZXJzID0gMDsNCitzdGF0aWMgX191MTYg Y3Vydm9sOw0KK3N0YXRpYyBfX3UxNiBjdXJiYXNzOw0KK3N0YXRpYyBfX3Ux NiBjdXJ0cmVibGU7DQorc3RhdGljIHVuc2lnbmVkIGxvbmcgY3VyZnJlcTsN CitzdGF0aWMgaW50IGN1cnN0ZXJlbzsNCitzdGF0aWMgaW50IGN1cm11dGU7 DQorDQorLyogaTJjIGFkZHJlc3NlcyAqLw0KKyNkZWZpbmUgVERBNzMxOF9B RERSIDB4ODgNCisjZGVmaW5lIFRTQTYwNjBUX0FERFIgMHhjNA0KKw0KKyNk ZWZpbmUgVFJfREVMQVkgZG8geyBpbmIoaW8pOyBpbmIoaW8pOyBpbmIoaW8p OyB9IHdoaWxlKDApDQorI2RlZmluZSBUUl9TRVRfU0NMIG91dGIoaW92YWwg fD0gMiwgaW8pDQorI2RlZmluZSBUUl9DTFJfU0NMIG91dGIoaW92YWwgJj0g MHhmZCwgaW8pDQorI2RlZmluZSBUUl9TRVRfU0RBIG91dGIoaW92YWwgfD0g MSwgaW8pDQorI2RlZmluZSBUUl9DTFJfU0RBIG91dGIoaW92YWwgJj0gMHhm ZSwgaW8pDQorDQorc3RhdGljIHZvaWQgd3JpdGVfaTJjKGludCBuLCAuLi4p DQorew0KKwl1bnNpZ25lZCBjaGFyIHZhbCwgbWFzazsNCisJdmFfbGlzdCBh cmdzOw0KKw0KKwl2YV9zdGFydChhcmdzLCBuKTsNCisNCisJLyogc3RhcnQg Y29uZGl0aW9uICovDQorCVRSX1NFVF9TREE7DQorCVRSX1NFVF9TQ0w7DQor CVRSX0RFTEFZOw0KKwlUUl9DTFJfU0RBOw0KKwlUUl9DTFJfU0NMOw0KKwlU Ul9ERUxBWTsNCisNCisJZm9yKDsgbjsgbi0tKSB7DQorCQl2YWwgPSB2YV9h cmcoYXJncywgdW5zaWduZWQpOw0KKwkJZm9yKG1hc2sgPSAweDgwOyBtYXNr OyBtYXNrID4+PSAxKSB7DQorCQkJaWYodmFsICYgbWFzaykNCisJCQkJVFJf U0VUX1NEQTsNCisJCQllbHNlDQorCQkJCVRSX0NMUl9TREE7DQorCQkJVFJf U0VUX1NDTDsNCisJCQlUUl9ERUxBWTsNCisJCQlUUl9DTFJfU0NMOw0KKwkJ CVRSX0RFTEFZOw0KKwkJfQ0KKwkJLyogYWNrbm93bGVkZ2UgYml0ICovDQor CQlUUl9TRVRfU0RBOw0KKwkJVFJfU0VUX1NDTDsNCisJCVRSX0RFTEFZOw0K KwkJVFJfQ0xSX1NDTDsNCisJCVRSX0RFTEFZOw0KKwl9DQorDQorCS8qIHN0 b3AgY29uZGl0aW9uICovDQorCVRSX0NMUl9TREE7DQorCVRSX0RFTEFZOw0K KwlUUl9TRVRfU0NMOw0KKwlUUl9ERUxBWTsNCisJVFJfU0VUX1NEQTsNCisJ VFJfREVMQVk7DQorDQorCXZhX2VuZChhcmdzKTsNCit9DQorDQorc3RhdGlj IHZvaWQgdHJfc2V0dm9sKF9fdTE2IHZvbCkNCit7DQorCWN1cnZvbCA9IHZv bCAvIDIwNDg7DQorCXdyaXRlX2kyYygyLCBUREE3MzE4X0FERFIsIGN1cnZv bCBeIDB4MWYpOw0KK30NCisNCitzdGF0aWMgaW50IGJhc3N0cmVibGUyY2hp cFsxNV0gPSB7DQorCTAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDE0LCAxMywg MTIsIDExLCAxMCwgOSwgOA0KK307DQorDQorc3RhdGljIHZvaWQgdHJfc2V0 YmFzcyhfX3UxNiBiYXNzKQ0KK3sNCisJY3VyYmFzcyA9IGJhc3MgLyA0Mzcw Ow0KKwl3cml0ZV9pMmMoMiwgVERBNzMxOF9BRERSLCAweDYwIHwgYmFzc3Ry ZWJsZTJjaGlwW2N1cmJhc3NdKTsNCit9DQorDQorc3RhdGljIHZvaWQgdHJf c2V0dHJlYmxlKF9fdTE2IHRyZWJsZSkNCit7DQorCWN1cnRyZWJsZSA9IHRy ZWJsZSAvIDQzNzA7DQorCXdyaXRlX2kyYygyLCBUREE3MzE4X0FERFIsIDB4 NzAgfCBiYXNzdHJlYmxlMmNoaXBbY3VydHJlYmxlXSk7DQorfQ0KKw0KK3N0 YXRpYyB2b2lkIHRyX3NldHN0ZXJlbyhpbnQgc3RlcmVvKQ0KK3sNCisJY3Vy c3RlcmVvID0gISFzdGVyZW87DQorCWlvdmFsID0gKGlvdmFsICYgMHhmYikg fCAoIWN1cnN0ZXJlbyA8PCAyKTsNCisJb3V0Yihpb3ZhbCwgaW8pOw0KK30N CisNCitzdGF0aWMgdm9pZCB0cl9zZXRtdXRlKGludCBtdXRlKQ0KK3sNCisJ Y3VybXV0ZSA9ICEhbXV0ZTsNCisJaW92YWwgPSAoaW92YWwgJiAweGY3KSB8 IChjdXJtdXRlIDw8IDMpOw0KKwlvdXRiKGlvdmFsLCBpbyk7DQorfQ0KKw0K K3N0YXRpYyBpbnQgdHJfZ2V0c2lnc3RyKHZvaWQpDQorew0KKwlpbnQgaSwg djsNCisJDQorCWZvcihpID0gMCwgdiA9IDA7IGkgPCAxMDA7IGkrKykgdiB8 PSBpbmIoaW8pOw0KKwlyZXR1cm4gKHYgJiAxKT8gMCA6IDB4ZmZmZjsNCit9 DQorDQorc3RhdGljIGludCB0cl9nZXRzdGVyZW8odm9pZCkNCit7DQorCS8q IGRvbid0IGtub3cgaG93IHRvIGRldGVybWluZSBpdCwganVzdCByZXR1cm4g dGhlIHNldHRpbmcgKi8NCisJcmV0dXJuIGN1cnN0ZXJlbzsNCit9DQorDQor c3RhdGljIHZvaWQgdHJfc2V0ZnJlcSh1bnNpZ25lZCBsb25nIGYpDQorew0K KwlmIC89IDE2MDsJLyogQ29udmVydCB0byAxMCBrSHogdW5pdHMJKi8NCisJ ZiArPSAxMDcwOwkvKiBBZGQgMTAuNyBNSHogSUYJCQkqLw0KKw0KKwl3cml0 ZV9pMmMoNSwgVFNBNjA2MFRfQUREUiwgKGYgPDwgMSkgfCAxLCBmID4+IDcs IDB4NjAgfCAoKGYgPj4gMTUpICYgMSksIDApOw0KK30NCisNCitzdGF0aWMg aW50IHRyX2lvY3RsKHN0cnVjdCB2aWRlb19kZXZpY2UgKmRldiwgdW5zaWdu ZWQgaW50IGNtZCwgdm9pZCAqYXJnKQ0KK3sNCisJc3dpdGNoKGNtZCkNCisJ ew0KKwkJY2FzZSBWSURJT0NHQ0FQOg0KKwkJew0KKwkJCXN0cnVjdCB2aWRl b19jYXBhYmlsaXR5IHY7DQorDQorCQkJdi50eXBlPVZJRF9UWVBFX1RVTkVS Ow0KKwkJCXYuY2hhbm5lbHM9MTsNCisJCQl2LmF1ZGlvcz0xOw0KKw0KKwkJ CS8qIE5vIHdlIGRvbid0IGRvIHBpY3R1cmVzICovDQorCQkJdi5tYXh3aWR0 aD0wOw0KKwkJCXYubWF4aGVpZ2h0PTA7DQorCQkJdi5taW53aWR0aD0wOw0K KwkJCXYubWluaGVpZ2h0PTA7DQorDQorCQkJc3RyY3B5KHYubmFtZSwgIlRy dXN0IEZNIFJhZGlvIik7DQorDQorCQkJaWYoY29weV90b191c2VyKGFyZywm dixzaXplb2YodikpKQ0KKwkJCQlyZXR1cm4gLUVGQVVMVDsNCisNCisJCQly ZXR1cm4gMDsNCisJCX0NCisJCWNhc2UgVklESU9DR1RVTkVSOg0KKwkJew0K KwkJCXN0cnVjdCB2aWRlb190dW5lciB2Ow0KKw0KKwkJCWlmKGNvcHlfZnJv bV91c2VyKCZ2LCBhcmcsc2l6ZW9mKHYpKSE9MCkgDQorCQkJCXJldHVybiAt RUZBVUxUOw0KKw0KKwkJCWlmKHYudHVuZXIpCS8qIE9ubHkgMSB0dW5lciAq LyANCisJCQkJcmV0dXJuIC1FSU5WQUw7DQorDQorCQkJdi5yYW5nZWxvdyA9 IDg3NTAwICogMTY7DQorCQkJdi5yYW5nZWhpZ2ggPSAxMDgwMDAgKiAxNjsN CisJCQl2LmZsYWdzID0gVklERU9fVFVORVJfTE9XOw0KKwkJCXYubW9kZSA9 IFZJREVPX01PREVfQVVUTzsNCisNCisJCQl2LnNpZ25hbCA9IHRyX2dldHNp Z3N0cigpOw0KKwkJCWlmKHRyX2dldHN0ZXJlbygpKQ0KKwkJCQl2LmZsYWdz IHw9IFZJREVPX1RVTkVSX1NURVJFT19PTjsNCisNCisJCQlzdHJjcHkodi5u YW1lLCAiRk0iKTsNCisNCisJCQlpZihjb3B5X3RvX3VzZXIoYXJnLCZ2LCBz aXplb2YodikpKQ0KKwkJCQlyZXR1cm4gLUVGQVVMVDsNCisNCisJCQlyZXR1 cm4gMDsNCisJCX0NCisJCWNhc2UgVklESU9DU1RVTkVSOg0KKwkJew0KKwkJ CXN0cnVjdCB2aWRlb190dW5lciB2Ow0KKw0KKwkJCWlmKGNvcHlfZnJvbV91 c2VyKCZ2LCBhcmcsIHNpemVvZih2KSkpDQorCQkJCXJldHVybiAtRUZBVUxU Ow0KKwkJCWlmKHYudHVuZXIgIT0gMCkNCisJCQkJcmV0dXJuIC1FSU5WQUw7 DQorDQorCQkJcmV0dXJuIDA7DQorCQl9DQorCQljYXNlIFZJRElPQ0dGUkVR Og0KKwkJCWlmKGNvcHlfdG9fdXNlcihhcmcsICZjdXJmcmVxLCBzaXplb2Yo Y3VyZnJlcSkpKQ0KKwkJCQlyZXR1cm4gLUVGQVVMVDsNCisJCQlyZXR1cm4g MDsNCisNCisJCWNhc2UgVklESU9DU0ZSRVE6DQorCQl7DQorCQkJdW5zaWdu ZWQgbG9uZyBmOw0KKw0KKwkJCWlmKGNvcHlfZnJvbV91c2VyKCZmLCBhcmcs IHNpemVvZihjdXJmcmVxKSkpDQorCQkJCXJldHVybiAtRUZBVUxUOw0KKwkJ CXRyX3NldGZyZXEoZik7DQorCQkJcmV0dXJuIDA7DQorCQl9DQorCQljYXNl IFZJRElPQ0dBVURJTzoNCisJCXsJDQorCQkJc3RydWN0IHZpZGVvX2F1ZGlv IHY7DQorDQorCQkJbWVtc2V0KCZ2LDAsIHNpemVvZih2KSk7DQorCQkJdi5m bGFncyA9IFZJREVPX0FVRElPX01VVEFCTEUgfCBWSURFT19BVURJT19WT0xV TUUgfA0KKwkJCSAgICAgICAgICBWSURFT19BVURJT19CQVNTIHwgVklERU9f QVVESU9fVFJFQkxFOw0KKwkJCXYubW9kZSA9IGN1cnN0ZXJlbz8gVklERU9f U09VTkRfU1RFUkVPIDogVklERU9fU09VTkRfTU9OTzsNCisJCQl2LnZvbHVt ZSA9IGN1cnZvbCAqIDIwNDg7DQorCQkJdi5zdGVwID0gMjA0ODsNCisJCQl2 LmJhc3MgPSBjdXJiYXNzICogNDM3MDsNCisJCQl2LnRyZWJsZSA9IGN1cnRy ZWJsZSAqIDQzNzA7DQorCQkJDQorCQkJc3RyY3B5KHYubmFtZSwgIlRydXN0 IEZNIFJhZGlvIik7DQorCQkJaWYoY29weV90b191c2VyKGFyZywmdiwgc2l6 ZW9mKHYpKSkNCisJCQkJcmV0dXJuIC1FRkFVTFQ7DQorCQkJcmV0dXJuIDA7 CQkJDQorCQl9DQorCQljYXNlIFZJRElPQ1NBVURJTzoNCisJCXsNCisJCQlz dHJ1Y3QgdmlkZW9fYXVkaW8gdjsNCisNCisJCQlpZihjb3B5X2Zyb21fdXNl cigmdiwgYXJnLCBzaXplb2YodikpKSANCisJCQkJcmV0dXJuIC1FRkFVTFQ7 CQ0KKwkJCWlmKHYuYXVkaW8pIA0KKwkJCQlyZXR1cm4gLUVJTlZBTDsNCisN CisJCQl0cl9zZXR2b2wodi52b2x1bWUpOwkJCQkJDQorCQkJdHJfc2V0YmFz cyh2LmJhc3MpOw0KKwkJCXRyX3NldHRyZWJsZSh2LnRyZWJsZSk7DQorCQkJ dHJfc2V0c3RlcmVvKHYubW9kZSAmIFZJREVPX1NPVU5EX1NURVJFTyk7DQor CQkJdHJfc2V0bXV0ZSh2LmZsYWdzICYgVklERU9fQVVESU9fTVVURSk7DQor CQkJcmV0dXJuIDA7DQorCQl9DQorCQlkZWZhdWx0Og0KKwkJCXJldHVybiAt RU5PSU9DVExDTUQ7DQorCX0NCit9DQorDQorc3RhdGljIGludCB0cl9vcGVu KHN0cnVjdCB2aWRlb19kZXZpY2UgKmRldiwgaW50IGZsYWdzKQ0KK3sNCisJ aWYodXNlcnMpDQorCQlyZXR1cm4gLUVCVVNZOw0KKwl1c2VycysrOw0KKwlN T0RfSU5DX1VTRV9DT1VOVDsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRp YyB2b2lkIHRyX2Nsb3NlKHN0cnVjdCB2aWRlb19kZXZpY2UgKmRldikNCit7 DQorCXVzZXJzLS07DQorCU1PRF9ERUNfVVNFX0NPVU5UOw0KK30NCisNCitz dGF0aWMgc3RydWN0IHZpZGVvX2RldmljZSB0cnVzdF9yYWRpbz0NCit7DQor CSJUcnVzdCBGTSBSYWRpbyIsDQorCVZJRF9UWVBFX1RVTkVSLA0KKwlWSURf SEFSRFdBUkVfVFJVU1QsDQorCXRyX29wZW4sDQorCXRyX2Nsb3NlLA0KKwlO VUxMLAkvKiBDYW4ndCByZWFkICAobm8gY2FwdHVyZSBhYmlsaXR5KSAqLw0K KwlOVUxMLAkvKiBDYW4ndCB3cml0ZSAqLw0KKwlOVUxMLAkvKiBObyBwb2xs ICovDQorCXRyX2lvY3RsLA0KKwlOVUxMLA0KKwlOVUxMDQorfTsNCisNCitf X2luaXRmdW5jKGludCB0cnVzdF9pbml0KHN0cnVjdCB2aWRlb19pbml0ICp2 KSkNCit7DQorCWlmKGNoZWNrX3JlZ2lvbihpbywgMikpIHsNCisJCXByaW50 ayhLRVJOX0VSUiAidHJ1c3Q6IHBvcnQgMHgleCBhbHJlYWR5IGluIHVzZVxu IiwgaW8pOw0KKwkJcmV0dXJuIC1FQlVTWTsNCisJfQ0KKwlpZih2aWRlb19y ZWdpc3Rlcl9kZXZpY2UoJnRydXN0X3JhZGlvLCBWRkxfVFlQRV9SQURJTyk9 PS0xKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCQkNCisJcmVxdWVzdF9yZWdp b24oaW8sIDIsICJUcnVzdCBGTSBSYWRpbyIpOw0KKw0KKwlwcmludGsoS0VS Tl9JTkZPICJUcnVzdCBGTSBSYWRpbyBjYXJkIGRyaXZlciB2MS4wLlxuIik7 DQorDQorCXdyaXRlX2kyYygyLCBUREE3MzE4X0FERFIsIDB4ODApOwkvKiBz cGVha2VyIGF0dC4gTEYgPSAwIGRCICovDQorCXdyaXRlX2kyYygyLCBUREE3 MzE4X0FERFIsIDB4YTApOwkvKiBzcGVha2VyIGF0dC4gUkYgPSAwIGRCICov DQorCXdyaXRlX2kyYygyLCBUREE3MzE4X0FERFIsIDB4YzApOwkvKiBzcGVh a2VyIGF0dC4gTFIgPSAwIGRCICovDQorCXdyaXRlX2kyYygyLCBUREE3MzE4 X0FERFIsIDB4ZTApOwkvKiBzcGVha2VyIGF0dC4gUlIgPSAwIGRCICovDQor CXdyaXRlX2kyYygyLCBUREE3MzE4X0FERFIsIDB4NDApOwkvKiBzdGVyZW8g MSBpbnB1dCwgZ2FpbiA9IDE4Ljc1IGRCICovDQorDQorCS8qIG11dGUgY2Fy ZCAtIHByZXZlbnRzIG5vaXN5IGJvb3R1cHMgKi8NCisJdHJfc2V0bXV0ZSgx KTsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KKyNpZmRlZiBNT0RVTEUNCisN CitNT0RVTEVfQVVUSE9SKCJFcmljIExhbW1lcnRzLCBSdXNzZWxsIEtyb2xs LCBRdWF5IEx1LCBEb25hbGQgU29uZywgSmFzb24gTGV3aXMsIFNjb3R0IE1j R3JhdGgsIFdpbGxpYW0gTWNHcmF0aCIpOw0KK01PRFVMRV9ERVNDUklQVElP TigiQSBkcml2ZXIgZm9yIHRoZSBUcnVzdCBGTSBSYWRpbyBjYXJkLiIpOw0K K01PRFVMRV9QQVJNKGlvLCAiaSIpOw0KK01PRFVMRV9QQVJNX0RFU0MoaW8s ICJJL08gYWRkcmVzcyBvZiB0aGUgVHJ1c3QgRk0gUmFkaW8gY2FyZCAoMHgz NTAgb3IgMHgzNTgpIik7DQorDQorRVhQT1JUX05PX1NZTUJPTFM7DQorDQor aW50IGluaXRfbW9kdWxlKHZvaWQpDQorew0KKwlpZihpbyA9PSAtMSkgew0K KwkJcHJpbnRrKEtFUk5fRVJSICJZb3UgbXVzdCBzZXQgYW4gSS9PIGFkZHJl c3Mgd2l0aCBpbz0weD8/P1xuIik7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJ fQ0KKwlyZXR1cm4gdHJ1c3RfaW5pdChOVUxMKTsNCit9DQorDQordm9pZCBj bGVhbnVwX21vZHVsZSh2b2lkKQ0KK3sNCisJdmlkZW9fdW5yZWdpc3Rlcl9k ZXZpY2UoJnRydXN0X3JhZGlvKTsNCisJcmVsZWFzZV9yZWdpb24oaW8sIDIp Ow0KK30NCisNCisjZW5kaWYNCi0tLSBsaW51eC9kcml2ZXJzL2NoYXIvTWFr ZWZpbGUub3JpZwlUaHUgU2VwICAyIDIzOjQ2OjI4IDE5OTkNCisrKyBsaW51 eC9kcml2ZXJzL2NoYXIvTWFrZWZpbGUJVGh1IFNlcCAgMiAyMzo0Njo0NyAx OTk5DQpAQCAtNDk4LDYgKzQ5OCwxNCBAQA0KICAgZW5kaWYNCiBlbmRpZiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0K IA0KK2lmZXEgKCQoQ09ORklHX1JBRElPX1RSVVNUKSx5KQ0KK0xfT0JKUyAr PSByYWRpby10cnVzdC5vDQorZWxzZQ0KKyAgaWZlcSAoJChDT05GSUdfUkFE SU9fVFJVU1QpLG0pDQorICBNX09CSlMgKz0gcmFkaW8tdHJ1c3Qubw0KKyAg ZW5kaWYNCitlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIA0KKw0KIGlmZXEgKCQoQ09ORklHX1FJQzAyX1RBUEUp LHkpDQogTF9PQkpTICs9IHRwcWljMDIubw0KIGVsc2UNCi0tLSBsaW51eC9k cml2ZXJzL2NoYXIvQ29uZmlnLmluLm9yaWcJVGh1IFNlcCAgMiAyMzo0Njoy OCAxOTk5DQorKysgbGludXgvZHJpdmVycy9jaGFyL0NvbmZpZy5pbglUaHUg U2VwICAyIDIzOjQ2OjQ3IDE5OTkNCkBAIC0xMzQsNiArMTM0LDEwIEBADQog ICBpZiBbICIkQ09ORklHX1JBRElPX0dFTVRFSyIgPSAieSIgXTsgdGhlbg0K ICAgICBoZXggJyAgR2VtVGVrIGkvbyBwb3J0ICgweDIwYywgMHgzMGMsIDB4 MjRjIG9yIDB4MzRjKScgQ09ORklHX1JBRElPX0dFTVRFS19QT1JUIDM0Yw0K ICAgZmkNCisgIGRlcF90cmlzdGF0ZSAnVHJ1c3QgRk0gUmFkaW8nIENPTkZJ R19SQURJT19UUlVTVCAkQ09ORklHX1ZJREVPX0RFVg0KKyAgaWYgWyAiJENP TkZJR19SQURJT19UUlVTVCIgPSAieSIgXTsgdGhlbg0KKyAgICBoZXggJyAg VHJ1c3QgRk0gUmFkaW8gSS9PIHBvcnQgKDB4MzUwIG9yIDB4MzU4KScgQ09O RklHX1JBRElPX1RSVVNUX1BPUlQgMzUwDQorICBmaQ0KICAgaWYgWyAiJENP TkZJR19QQ0kiICE9ICJuIiBdOyB0aGVuDQogICAgIGRlcF90cmlzdGF0ZSAn QlQ4NDggVmlkZW8gRm9yIExpbnV4JyBDT05GSUdfVklERU9fQlQ4NDggJENP TkZJR19WSURFT19ERVYNCiAgIGZpDQotLS0gbGludXgvZHJpdmVycy9jaGFy L3ZpZGVvZGV2LmMub3JpZwlNb24gQXVnICA5IDIxOjA0OjM5IDE5OTkNCisr KyBsaW51eC9kcml2ZXJzL2NoYXIvdmlkZW9kZXYuYwlUaHUgU2VwICAyIDIz OjQ2OjQ3IDE5OTkNCkBAIC04MSw2ICs4MSw5IEBADQogI2lmZGVmIENPTkZJ R19SQURJT19DQURFVA0KIGV4dGVybiBpbnQgY2FkZXRfaW5pdChzdHJ1Y3Qg dmlkZW9faW5pdCAqKTsNCiAjZW5kaWYNCisjaWZkZWYgQ09ORklHX1JBRElP X1RSVVNUDQorZXh0ZXJuIGludCB0cnVzdF9pbml0KHN0cnVjdCB2aWRlb19p bml0ICopOw0KKyNlbmRpZg0KICNpZmRlZiBDT05GSUdfVklERU9fUE1TDQog ZXh0ZXJuIGludCBpbml0X3Btc19jYXJkcyhzdHJ1Y3QgdmlkZW9faW5pdCAq KTsNCiAjZW5kaWYNCkBAIC0xMzQsNiArMTM3LDkgQEANCiAjZW5kaWYNCiAj aWZkZWYgQ09ORklHX1ZJREVPX1pPUkFODQogCXsiem9yYW4iLCBpbml0X3pv cmFuX2NhcmRzfSwNCisjZW5kaWYJDQorI2lmZGVmIENPTkZJR19SQURJT19U UlVTVA0KKwl7IlRydXN0IiwgdHJ1c3RfaW5pdH0sIA0KICNlbmRpZgkNCiAJ eyJlbmQiLCBOVUxMfQ0KIH07DQotLS0gbGludXgvRG9jdW1lbnRhdGlvbi9D b25maWd1cmUuaGVscC5vcmlnCVRodSBTZXAgIDIgMjM6NDY6MjYgMTk5OQ0K KysrIGxpbnV4L0RvY3VtZW50YXRpb24vQ29uZmlndXJlLmhlbHAJVGh1IFNl cCAgMiAyMzo1MDo1OSAxOTk5DQpAQCAtMTExNDcsNiArMTExNDcsMjUgQEAN CiAgIEVudGVyIGVpdGhlciAweDIwYywgMHgzMGMsIDB4MjRjIG9yIDB4MzRj IGhlcmUuIFRoZSBjYXJkIGRlZmF1bHQgaXMNCiAgIDB4MzRjLCBpZiB5b3Ug aGF2ZW4ndCBjaGFuZ2VkIHRoZSBqdW1wZXIgc2V0dGluZyBvbiB0aGUgY2Fy ZC4NCiANCitUcnVzdCBGTSBSYWRpbyBDYXJkDQorQ09ORklHX1JBRElPX1RS VVNUDQorICBDaG9vc2UgWSBoZXJlIGlmIHlvdSBoYXZlIHRoaXMgRk0gcmFk aW8gY2FyZCwgYW5kIHRoZW4gZmlsbCBpbiB0aGUgDQorICBwb3J0IGFkZHJl c3MgYmVsb3cuDQorDQorICBJbiBvcmRlciB0byBjb250cm9sIHlvdXIgcmFk aW8gY2FyZCwgeW91IHdpbGwgbmVlZCB0byB1c2UgcHJvZ3JhbXMNCisgIHRo YXQgYXJlIGNvbXBhdGlibGUgd2l0aCB0aGUgVmlkZW8gZm9yIExpbnV4IEFQ SS4gSW5mb3JtYXRpb24gb24NCisgIHRoaXMgQVBJIGFuZCBwb2ludGVycyB0 byAidjRsIiBwcm9ncmFtcyBtYXkgYmUgZm91bmQgYXQNCisgIGh0dHA6Ly9y b2FkcnVubmVyLnN3YW5zZWEudWsubGludXgub3JnL3Y0bC5zaHRtbC4NCisN CisgIElmIHlvdSB3YW50IHRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBt b2R1bGUgKCA9IGNvZGUgd2hpY2ggY2FuIGJlDQorICBpbnNlcnRlZCBpbiBh bmQgcmVtb3ZlZCBmcm9tIHRoZSBydW5uaW5nIGtlcm5lbCB3aGVuZXZlciB5 b3Ugd2FudCksDQorICBzYXkgTSBoZXJlIGFuZCByZWFkIERvY3VtZW50YXRp b24vbW9kdWxlcy50eHQuIFRoZSBtb2R1bGUgd2lsbCBiZQ0KKyAgY2FsbGVk IHJhZGlvLXRydXN0Lm8uDQorDQorVHJ1c3QgRk0gUmFkaW8gSS9PIHBvcnQN CitDT05GSUdfUkFESU9fVFJVU1RfUE9SVA0KKyAgRW50ZXIgdGhlIEkvTyBw b3J0IG9mIHlvdXIgY2FyZCAodXN1YWxseSAweDM1MCBvciAweDM1OCkuDQor DQogQlQ4NDggVmlkZW8gRm9yIExpbnV4DQogQ09ORklHX1ZJREVPX0JUODQ4 DQogICBTdXBwb3J0IGZvciBCVDg0OCBiYXNlZCBmcmFtZSBncmFiYmVyL292 ZXJsYXkgYm9hcmRzLiBUaGlzIGluY2x1ZGVzDQo= --655616-969170217-936311189=:757--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/