[parisc-linux] Thomas Marteau kbd patch adapted.

=?iso-8859-1?Q?Jo=EBl_Soete?= jso@europay.com
Wed, 5 Sep 2001 15:01:08 +0200


--0__=C1256ABE0044855E8f9e8a93df938690918cC1256ABE0044855E
Content-type: text/plain; charset=us-ascii

Dear all,

I just adapt the patch keyboard of Thomas taking account of kernel update,
reports of experiences of Richard.
I can only test it against 2.4.9-pa14 (cvs update) and seems to work as
well as with 712 as with b180 model
(unplug, replug: ok with hp kbd; Caps lock do not hang the "system")

In the hope to be helpful,
     Joel

PS: I do just add some initial variable value to avoid compile warning. I
do not yet find the way the avoid the last (sorry I have not enough C
writing experience)

(See attached file: hp_psaux.patch)

**********************************************************************
This e-mail and any attachments to it may contain confidential information which is strictly intended for the use of the authorised recipient.  If you have received this e-mail in error, please delete it and notify the sender by replying to this e-mail.
Thank you for your co-operation.
**********************************************************************

--0__=C1256ABE0044855E8f9e8a93df938690918cC1256ABE0044855E
Content-type: application/octet-stream; 
	name="hp_psaux.patch"
Content-Disposition: attachment; filename="hp_psaux.patch"
Content-transfer-encoding: base64

LS0tIGhwX3BzYXV4LmMJV2VkIFNlcCAgNSAxMDo1MTo0NCAyMDAxCisrKyBocF9wc2F1eC5jLm9y
aWcJVHVlIEF1ZyAyOCAxMjowMjozMiAyMDAxCkBAIC00NCw1ICs0NCw0IEBACiAvKiBIUCBzcGVj
aWZpYyBMQVNJIFBTLzIga2V5Ym9hcmQgYW5kIHBzYXV4IGNvbnN0YW50cyAqLwogI2RlZmluZQlB
VVhfUkVQTFlfQUNLCTB4RkEJLyogQ29tbWFuZCBieXRlIEFDSy4gKi8KLSNkZWZpbmUJQVVYX1JF
U0VORAkweEZFCS8qIFNlbnQgYnkgdGhlIGtleWIuIEFza2luZyBmb3IgcmVzZW5kaW5nIHRoZSBs
YXN0IGNvbW1hbmQuICovCiAjZGVmaW5lCUFVWF9SRUNPTk5FQ1QJMHhBQQkvKiBzY2FuY29kZSB3
aGVuIHBzMiBkZXZpY2UgaXMgcGx1Z2dlZCAoYmFjaykgaW4gKi8KIApAQCAtNzMsNSArNzIsNiBA
QAogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBsYXNpa2JkX2hwYTsKLXN0YXRpYyBpbnQgY21kX3N0
YXR1czsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxhc2lwczJfaHBhOworCiAKIHN0YXRpYyBpbmxp
bmUgdTggcmVhZF9pbnB1dCh1bnNpZ25lZCBsb25nIGhwYSkKQEAgLTEwNyw4ICsxMDcsNyBAQAog
CX0KIAotI2lmIDAKIAlpZiAod2FpdCkKIAkJcHJpbnRrKEtFUk5fREVCVUcgIkxhc2kgUFMvMiB3
YWl0ICVkXG4iLCB3YWl0KTsKLSNlbmRpZgkKKwkKIAlnc2Nfd3JpdGViKHZhbCwgaHBhK0xBU0lf
WE1UREFUQSk7CiAKQEAgLTEyNSwyNiArMTI0LDEyIEBACiBzdGF0aWMgdm9pZCBsYXNpa2JkX2xl
ZHModW5zaWduZWQgY2hhciBsZWRzKQogewotICAgICAgIGNtZF9zdGF0dXM9MjsKLSAgICAgICB3
aGlsZSAoY21kX3N0YXR1cyE9MCkgewotICAgICAgICAgICAgICAgd3JpdGVfb3V0cHV0KEtCRF9D
TURfU0VUX0xFRFMsIGxhc2lrYmRfaHBhKTsKLSAgICAgICAgICAgICAgIG1kZWxheSg1KTsKLSAg
ICAgICB9Ci0KLSAgICAgICBjbWRfc3RhdHVzPTI7Ci0gICAgICAgd2hpbGUgKGNtZF9zdGF0dXMh
PTApIHsKLSAgICAgICAgICAgICAgIHdyaXRlX291dHB1dChsZWRzLCBsYXNpa2JkX2hwYSk7Ci0g
ICAgICAgICAgICAgICBtZGVsYXkoNSk7Ci0gICAgICAgfQotCi0gICAgICAgY21kX3N0YXR1cz0y
OwotICAgICAgIHdoaWxlIChjbWRfc3RhdHVzIT0wKSB7Ci0gICAgICAgICAgd3JpdGVfb3V0cHV0
KEtCRF9DTURfRU5BQkxFLCBsYXNpa2JkX2hwYSk7Ci0gICAgICAgICAgbWRlbGF5KDUpOwotICAg
ICAgIH0KKwl3cml0ZV9vdXRwdXQoS0JEX0NNRF9TRVRfTEVEUywgbGFzaWtiZF9ocGEpOworCXdy
aXRlX291dHB1dChsZWRzLCBsYXNpa2JkX2hwYSk7CisJd3JpdGVfb3V0cHV0KEtCRF9DTURfRU5B
QkxFLCBsYXNpa2JkX2hwYSk7CiB9CiAKICNpZiAwCiAvKiB0aGlzIG1pZ2h0IGJlY29tZSB1c2Vm
dWwgYWdhaW4gYXQgc29tZSBwb2ludC4gIG5vdCBub3cgIC1wcnVtcGYgKi8KLWludCBsYXNpX3Bz
Ml90ZXN0KHVuc2lnbmVkIGxvbmcgaHBhKQoraW50IGxhc2lfcHMyX3Rlc3Qodm9pZCAqaHBhKQog
ewogCXU4IGNvbnRyb2wsYzsKQEAgLTE3MSw1NCArMTU2LDggQEAKICNlbmRpZiAKIAotc3RhdGlj
IGludCBpbml0X2tleWIodW5zaWduZWQgbG9uZyBocGEpCi17Ci0gICAgICAgaW50IGZhaWw7Ci0g
ICAgICAgdTggZGF0YT0wOwotCi0KLSAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICB3aGlsZSAo
KHJlYWRfc3RhdHVzKGhwYSkgJiBMQVNJX1NUQVRfVEJORSkpOwotICAgICAgICAgICAgICAgZ3Nj
X3dyaXRlYihLQkRfQ01EX1NFVF9MRURTLCBocGErTEFTSV9YTVREQVRBKTsKLQotICAgICAgICAg
ICAgICAgd2hpbGUgKCEocmVhZF9zdGF0dXMoaHBhKSAmIExBU0lfU1RBVF9SQk5FKSk7Ci0KLSAg
ICAgICAgICAgICAgIHdoaWxlICgocmVhZF9zdGF0dXMoaHBhKSAmIExBU0lfU1RBVF9SQk5FKSkg
ZGF0YT1yZWFkX2lucHV0KGhwYSk7Ci0gICAgICAgfXdoaWxlKGRhdGEhPUFVWF9SRVBMWV9BQ0sp
OwotCi0gICAgICAgZmFpbD0wOwotCi0gICAgICAgZG8gewotICAgICAgICAgICAgICAgd2hpbGUg
KChyZWFkX3N0YXR1cyhocGEpICYgTEFTSV9TVEFUX1RCTkUpKTsKLSAgICAgICAgICAgICAgIGdz
Y193cml0ZWIoMHgwMCwgaHBhK0xBU0lfWE1UREFUQSk7Ci0KLSAgICAgICAgICAgICAgIHdoaWxl
ICghKHJlYWRfc3RhdHVzKGhwYSkgJiBMQVNJX1NUQVRfUkJORSkpOwotCi0gICAgICAgICAgICAg
ICB3aGlsZSAoKHJlYWRfc3RhdHVzKGhwYSkgJiBMQVNJX1NUQVRfUkJORSkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgZGF0YT1yZWFkX2lucHV0KGhwYSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgIGZhaWwrKzsKLSAgICAgICAgICAgICAgICAgICAgICAgaWYoZmFpbD09MTApIGJyZWFrOwot
ICAgICAgICAgICAgICAgfQotICAgICAgIH13aGlsZShkYXRhIT1BVVhfUkVQTFlfQUNLKTsKLQot
ICAgICAgIGZhaWw9MDsKLSAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICB3aGlsZSAoKHJlYWRf
c3RhdHVzKGhwYSkgJiBMQVNJX1NUQVRfVEJORSkpOwotICAgICAgICAgICAgICAgZ3NjX3dyaXRl
YihLQkRfQ01EX0VOQUJMRSwgaHBhK0xBU0lfWE1UREFUQSk7Ci0KLSAgICAgICAgICAgICAgIHdo
aWxlICghKHJlYWRfc3RhdHVzKGhwYSkgJiBMQVNJX1NUQVRfUkJORSkpOwotICAgICAgICAgICAg
ICAgd2hpbGUgKChyZWFkX3N0YXR1cyhocGEpICYgTEFTSV9TVEFUX1JCTkUpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgIGRhdGE9cmVhZF9pbnB1dChocGEpOwotICAgICAgICAgICAgICAgICAg
ICAgICBmYWlsKys7Ci0gICAgICAgICAgICAgICAgICAgICAgIGlmKGZhaWw9PTEwKSBicmVhazsK
LSAgICAgICAgICAgICAgIH0KLQotICAgICAgIH13aGlsZShkYXRhIT1BVVhfUkVQTFlfQUNLKTsK
LQotICAgICAgIHJldHVybiAxOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgbGFzaV9wczJfcmVz
ZXQodW5zaWduZWQgbG9uZyBocGEpCitzdGF0aWMgaW50IF9faW5pdCBsYXNpX3BzMl9yZXNldCh1
bnNpZ25lZCBsb25nIGhwYSwgaW50IGlkKQogewogCXU4IGNvbnRyb2w7CisJaW50IHJldCA9IDE7
CiAKIAkvKiByZXNldCB0aGUgaW50ZXJmYWNlICovCkBAIC0yMjksNCArMTY4LDIwIEBACiAJY29u
dHJvbCA9IHJlYWRfY29udHJvbChocGEpOwogCXdyaXRlX2NvbnRyb2woY29udHJvbCB8IExBU0lf
Q1RSTF9FTkJMLCBocGEpOworCisgICAgICAgIC8qIGluaXRpYWxpemVzIHRoZSBsZWRzIGF0IHRo
ZSBkZWZhdWx0IHN0YXRlICovCisgICAgICAgIGlmIChpZD09MCkgeworICAgICAgICAgICB3cml0
ZV9vdXRwdXQoS0JEX0NNRF9TRVRfTEVEUywgaHBhKTsKKwkgICB3cml0ZV9vdXRwdXQoMCwgaHBh
KTsKKwkgICByZXQgPSB3cml0ZV9vdXRwdXQoS0JEX0NNRF9FTkFCTEUsIGhwYSk7CisJfQorCisJ
cmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBpbml0ZWQ7CisKK3N0YXRpYyB2b2lkIGxhc2lf
cHMyX2luaXRfaHcodm9pZCkKK3sKKwkrK2luaXRlZDsKIH0KIApAQCAtNDA5LDUgKzM2NCw1IEBA
CiAJZmFzeW5jX2F1eCgtMSwgZmlsZSwgMCk7CiAJaWYgKC0tYXV4X2NvdW50KSB7Ci0JCXVubG9j
a19rZXJuZWwoKTsKKwkgICB1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAwOwogCX0KQEAgLTQ0
NSw1ICs0MDAsNyBAQAogICAgICAgICAKICAgICAgICAgaWYgKGlkPT0xKSAKLQkJaHBhIC09IExB
U0lfUFNBVVhfT0ZGU0VUOyAKKyAgICAgICAgICAgaHBhIC09IExBU0lfUFNBVVhfT0ZGU0VUOyAK
KyAgICAgICAgbGFzaWtiZF9ocGEgPSBocGE7CisgICAgICAgIAogCiAgICAgICAgIHN0YXR1c19r
ZXliID0gcmVhZF9zdGF0dXMoaHBhKTsKQEAgLTQ1MiwzMyArNDA5LDI3IEBACiAgICAgICAgIHdo
aWxlICgoc3RhdHVzX2tleWJ8c3RhdHVzX21vdXNlKSAmIExBU0lfU1RBVF9SQk5FKXsKICAgICAg
ICAgICAgCi0JCXdoaWxlIChzdGF0dXNfa2V5YiAmIExBU0lfU1RBVF9SQk5FKSB7CisgICAgICAg
ICAgIHdoaWxlIChzdGF0dXNfa2V5YiAmIExBU0lfU1RBVF9SQk5FKSB7CiAJICAgICAgCi0JCXNj
YW5jb2RlID0gcmVhZF9pbnB1dChocGEpOworICAgICAgICAgICAgICBzY2FuY29kZSA9IHJlYWRf
aW5wdXQoaHBhKTsKIAotICAgICAgICAgICAgICAgLyogWFhYIGRvbid0IGtub3cgaWYgdGhpcyBp
cyBhIHZhbGlkIGZpeCwgYnV0IGZpbHRlcmluZwotICAgICAgICAgICAgICAgICogMHhmYSBhdm9p
ZHMgJ3Vua25vd24gc2NhbmNvZGUnIGVycm9ycyBvbiwgZWcsIGNhcHNsb2NrCi0gICAgICAgICAg
ICAgICAgKiBvbiBzb21lIGtleWJvYXJkcy4KLSAgICAgICAgICAgICAgICAqLwotCi0JCWlmIChz
Y2FuY29kZSA9PSBBVVhfUkVQTFlfQUNLKQotCQkJY21kX3N0YXR1cz0wOwotCi0JCWVsc2UgaWYg
KHNjYW5jb2RlID09IEFVWF9SRVNFTkQpCi0JCQljbWRfc3RhdHVzPTE7Ci0JCWVsc2UKLQkJCWhh
bmRsZV9hdF9zY2FuY29kZShzY2FuY29kZSk7CisJICAgICAgLyogWFhYIGRvbid0IGtub3cgaWYg
dGhpcyBpcyBhIHZhbGlkIGZpeCwgYnV0IGZpbHRlcmluZworCSAgICAgICAqIDB4ZmEgYXZvaWRz
ICd1bmtub3duIHNjYW5jb2RlJyBlcnJvcnMgb24sIGVnLCBjYXBzbG9jaworCSAgICAgICAqIG9u
IHNvbWUga2V5Ym9hcmRzLgorCSAgICAgICAqLworCSAgICAgIGlmIChpbml0ZWQgJiYgc2NhbmNv
ZGUgIT0gMHhmYSkKKwkJIGhhbmRsZV9hdF9zY2FuY29kZShzY2FuY29kZSk7IAogCSAgICAgIAot
CQlzdGF0dXNfa2V5YiA9cmVhZF9zdGF0dXMoaHBhKTsKLQkJfQorCSAgICAgIHN0YXR1c19rZXli
ID1yZWFkX3N0YXR1cyhocGEpOworICAgICAgICAgICB9CiAJICAgCiAjaWZkZWYgQ09ORklHX1BT
TU9VU0UKLQkJd2hpbGUgKHN0YXR1c19tb3VzZSAmIExBU0lfU1RBVF9SQk5FKSB7Ci0JCQlzY2Fu
Y29kZSA9IHJlYWRfaW5wdXQoaHBhK0xBU0lfUFNBVVhfT0ZGU0VUKTsKLQkJCWhhbmRsZV9tb3Vz
ZV9zY2FuY29kZShzY2FuY29kZSk7Ci0JCQlzdGF0dXNfbW91c2UgPSByZWFkX3N0YXR1cyhocGEr
TEFTSV9QU0FVWF9PRkZTRVQpOwotCQl9Ci0JCXN0YXR1c19tb3VzZSA9IHJlYWRfc3RhdHVzKGhw
YStMQVNJX1BTQVVYX09GRlNFVCk7CisgICAgICAgICAgIHdoaWxlIChzdGF0dXNfbW91c2UgJiBM
QVNJX1NUQVRfUkJORSkgeworCSAgICAgIHNjYW5jb2RlID0gcmVhZF9pbnB1dChocGErTEFTSV9Q
U0FVWF9PRkZTRVQpOworCSAgICAgIGhhbmRsZV9tb3VzZV9zY2FuY29kZShzY2FuY29kZSk7Cisg
ICAgICAgICAgICAgIHN0YXR1c19tb3VzZSA9IHJlYWRfc3RhdHVzKGhwYStMQVNJX1BTQVVYX09G
RlNFVCk7CisJICAgfQorICAgICAgICAgICBzdGF0dXNfbW91c2UgPSByZWFkX3N0YXR1cyhocGEr
TEFTSV9QU0FVWF9PRkZTRVQpOwogI2VuZGlmIC8qIENPTkZJR19QU01PVVNFICovCi0JCXN0YXR1
c19rZXliID0gcmVhZF9zdGF0dXMoaHBhKTsKKyAgICAgICAgICAgc3RhdHVzX2tleWIgPSByZWFk
X3N0YXR1cyhocGEpOwogICAgICAgICB9CiAKQEAgLTQ4NywxNiArNDM4LDIyIEBACiB9CiAKKwor
CisJCiBleHRlcm4gc3RydWN0IHB0X3JlZ3MgKmtiZF9wdF9yZWdzOwogCiBzdGF0aWMgdm9pZCBs
YXNpa2JkX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXYsIHN0cnVjdCBwdF9yZWdzICpyZWdz
KQogeworCWxhc2lwczJfaHBhID0gKHVuc2lnbmVkIGxvbmcpIGRldjsgLyogc2F2ZSAiaHBhIiBm
b3IgbGFzaWtiZF9sZWRzKCkgKi8KIAlrYmRfcHRfcmVncyA9IHJlZ3M7Ci0JaGFuZGxlX2xhc2lr
YmRfZXZlbnQoZGV2KTsKKwloYW5kbGVfbGFzaWtiZF9ldmVudChsYXNpcHMyX2hwYSk7CiB9CiAK
KwogZXh0ZXJuIGludCBwY2tiZF90cmFuc2xhdGUodW5zaWduZWQgY2hhciwgdW5zaWduZWQgY2hh
ciAqLCBjaGFyKTsKIAogc3RhdGljIHN0cnVjdCBrYmRfb3BzIGdzY19wczJfa2JkX29wcyA9IHsK
IAl0cmFuc2xhdGU6CXBja2JkX3RyYW5zbGF0ZSwKKwlpbml0X2h3OglsYXNpX3BzMl9pbml0X2h3
LAogCWxlZHM6CQlsYXNpa2JkX2xlZHMsCiAjaWZkZWYgQ09ORklHX01BR0lDX1NZU1JRCkBAIC01
MTIsNSArNDY5LDUgQEAKIAl1bnNpZ25lZCBpbnQgaXJxOwogCWNoYXIgKm5hbWU7Ci0JaW50IGRl
dmljZV9mb3VuZD0wOworCWludCBkZXZpY2VfZm91bmQ7CiAJdTggaWQ7CiAKQEAgLTUzMiw4ICs0
ODksMTggQEAKIAkKIAkvKiByZXNldCB0aGUgUFMvMiBwb3J0ICovCi0JbGFzaV9wczJfcmVzZXQo
aHBhKTsKKwlkZXZpY2VfZm91bmQgPSBsYXNpX3BzMl9yZXNldChocGEsaWQpOworCisJLyogYWxs
b2NhdGUgdGhlIGlycSBhbmQgbWVtb3J5IHJlZ2lvbiBmb3IgdGhhdCBkZXZpY2UgKi8KKwlpZiAo
IShpcnEgPSBidXNkZXZpY2VfYWxsb2NfaXJxKGRldikpKQorCQlyZXR1cm4gLUVOT0RFVjsKKwkJ
ICAgIAorCWlmIChyZXF1ZXN0X2lycShpcnEsIGxhc2lrYmRfaW50ZXJydXB0LCAwLCBuYW1lLCAo
dm9pZCAqKWhwYSkpCisJCXJldHVybiAtRU5PREVWOworCQorCWlmICghcmVxdWVzdF9tZW1fcmVn
aW9uKGhwYSwgTEFTSV9TVEFUVVMgKyA0LCBuYW1lKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKIAlz
d2l0Y2ggKGlkKSB7CiAJY2FzZSAwOgkKLQkJZGV2aWNlX2ZvdW5kID0gaW5pdF9rZXliKGhwYSk7
CiAJCXJlZ2lzdGVyX2tiZF9vcHMoJmdzY19wczJfa2JkX29wcyk7CiAJCWJyZWFrOwpAQCAtNTYx
LDE1ICs1MjgsNCBAQAogCX0gLyogb2YgY2FzZSAqLwogCQotICAgICAgICAvKiBhbGxvY2F0ZSB0
aGUgaXJxIGFuZCBtZW1vcnkgcmVnaW9uIGZvciB0aGF0IGRldmljZSAqLwotCWlmICghKGlycSA9
IGJ1c2RldmljZV9hbGxvY19pcnEoZGV2KSkpCi0JCXJldHVybiAtRU5PREVWOwotCi0JaWYgKHJl
cXVlc3RfaXJxKGlycSwgbGFzaWtiZF9pbnRlcnJ1cHQsIDAsIG5hbWUsICh2b2lkICopaHBhKSkK
LQkJcmV0dXJuIC1FTk9ERVY7Ci0KLQlpZiAoIXJlcXVlc3RfbWVtX3JlZ2lvbigodW5zaWduZWQg
bG9uZylocGEsIExBU0lfU1RBVFVTICsgNCwgbmFtZSkpCi0JCXJldHVybiAtRU5PREVWOwotCi0K
IAlwcmludGsoS0VSTl9JTkZPICJQUy8yICVzIHBvcnQgYXQgMHglMDhseCAoaXJxICVkKSBmb3Vu
ZCwgIgogCQkJICIlc2RldmljZSBhdHRhY2hlZC5cbiIsCg==

--0__=C1256ABE0044855E8f9e8a93df938690918cC1256ABE0044855E--