From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 16 Aug 2001 04:00:22 -0500 From: "Joseph P. Garcia" To: linuxppc-dev@lists.linuxppc.org Subject: 2.4 sleep power consumption patch; final buttons patch Message-Id: <20010816040022.28de2b71.jpgarcia@execpc.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart_Thu__16_Aug_2001_04:00:22_-0500_1019bc38" Sender: owner-linuxppc-dev@lists.linuxppc.org List-Id: This is a multi-part message in MIME format. --Multipart_Thu__16_Aug_2001_04:00:22_-0500_1019bc38 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Attached is a patch that addresses sleep-time fan activation on wallstreets, and probably other pre-UMA systems. The code existed in 2.2, and removed in 2.4 for some reason I am unaware of. The patch is the missing 2.2 code almost verbatim. the gist: - mediabay IOBUS_enable/disable at sleep (not sure if its related to the fan) - sleep notification to control power of MESH SCSI chip's host (most likely cause) This works on my system. This should be reviewed and merged at next convenience. If some system crashes in sleep from it, then just don't have it map mio_base for that system. Shouldn't affect pismo and later as they shouldn't have MESH. Not sure about the mediabay mod tho. It was in 2.2. I wonder if Darwin forgot about MESH also.. OSX has the fan problem too. ===== the second attachment is the volume/eject powerbook button NIL support posted a while ago, now in a final form. Since nobody has had any negative feedback or comments, that too can be merged. It doesn't break anything. I promise. Thanks to Bastien for helping out with this. -- Joseph P. Garcia http://www.lycestra.com/ --Multipart_Thu__16_Aug_2001_04:00:22_-0500_1019bc38 Content-Type: application/octet-stream; name="sleepyfan.patch" Content-Disposition: attachment; filename="sleepyfan.patch" Content-Transfer-Encoding: base64 ZGlmZiAtcnVQIC1YIC4uL2lnbm9yZWRpZmYgbGludXgtMi40LjgtYmVuMC1iZW5oMjAwMTA4MTQu cHJlL2RyaXZlcnMvbWFjaW50b3NoL21lZGlhYmF5LmMgbGludXgtMi40LjgtYmVuMC1iZW5oMjAw MTA4MTQtSlBHMS9kcml2ZXJzL21hY2ludG9zaC9tZWRpYWJheS5jCi0tLSBsaW51eC0yLjQuOC1i ZW4wLWJlbmgyMDAxMDgxNC5wcmUvZHJpdmVycy9tYWNpbnRvc2gvbWVkaWFiYXkuYwlUdWUgQXVn ICA3IDA3OjQ4OjUzIDIwMDEKKysrIGxpbnV4LTIuNC44LWJlbjAtYmVuaDIwMDEwODE0LUpQRzEv ZHJpdmVycy9tYWNpbnRvc2gvbWVkaWFiYXkuYwlUaHUgQXVnIDE2IDAyOjAxOjQzIDIwMDEKQEAg LTU5OSw2ICs1OTksNyBAQAogCQkJYmF5ID0gJm1lZGlhX2JheXNbaV07CiAJCQlzZXRfbWJfcG93 ZXIoaSwgMCk7CiAJCQltZGVsYXkoMTApOworCQkJZmVhdHVyZV9jbGVhcihiYXktPmRldl9ub2Rl LCBGRUFUVVJFX0lPQlVTX2VuYWJsZSk7CiAJCX0KIAkJYnJlYWs7CiAJY2FzZSBQQk9PS19XQUtF OgpAQCAtNjA5LDYgKzYxMCw3IEBACiAJCQkgICB0aGV5IHNlZW0gdG8gaGVscCB0aGUgMzQwMCBn ZXQgaXQgcmlnaHQuCiAJCQkgKi8KIAkJCS8qIEZvcmNlIE1CIHBvd2VyIHRvIDAgKi8KKwkJCWZl YXR1cmVfc2V0KGJheS0+ZGV2X25vZGUsIEZFQVRVUkVfSU9CVVNfZW5hYmxlKTsKIAkJCXNldF9t Yl9wb3dlcihpLCAwKTsKIAkJCW1kZWxheShNQl9QT1dFUl9ERUxBWSk7CiAJCQlpZiAoIWJheS0+ cGlzbW8pCmRpZmYgLXJ1UCAtWCAuLi9pZ25vcmVkaWZmIGxpbnV4LTIuNC44LWJlbjAtYmVuaDIw MDEwODE0LnByZS9kcml2ZXJzL3Njc2kvbWVzaC5jIGxpbnV4LTIuNC44LWJlbjAtYmVuaDIwMDEw ODE0LUpQRzEvZHJpdmVycy9zY3NpL21lc2guYwotLS0gbGludXgtMi40LjgtYmVuMC1iZW5oMjAw MTA4MTQucHJlL2RyaXZlcnMvc2NzaS9tZXNoLmMJU2F0IEF1ZyAxMSAwNTozNTo0MCAyMDAxCisr KyBsaW51eC0yLjQuOC1iZW4wLWJlbmgyMDAxMDgxNC1KUEcxL2RyaXZlcnMvc2NzaS9tZXNoLmMJ VGh1IEF1ZyAxNiAwMjo0MTozMyAyMDAxCkBAIC0yOSw2ICsyOSwxMCBAQAogI2luY2x1ZGUgPGFz bS9oeWRyYS5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vZmVh dHVyZS5oPgorI2lmZGVmIENPTkZJR19QTUFDX1BCT09LCisjaW5jbHVkZSA8bGludXgvYWRiLmg+ CisjaW5jbHVkZSA8bGludXgvcG11Lmg+CisjZW5kaWYKIAogI2luY2x1ZGUgInNjc2kuaCIKICNp bmNsdWRlICJob3N0cy5oIgpAQCAtMTIyLDYgKzEyNiwxNCBAQAogI2VuZGlmCiB9OwogCisjaWZk ZWYgQ09ORklHX1BNQUNfUEJPT0sKK3N0YXRpYyBpbnQgbWVzaF9ub3RpZnlfc2xlZXAoc3RydWN0 IHBtdV9zbGVlcF9ub3RpZmllciAqc2VsZiwgaW50IHdoZW4pOworc3RhdGljIHN0cnVjdCBwbXVf c2xlZXBfbm90aWZpZXIgbWVzaF9zbGVlcF9ub3RpZmllciA9IHsKKwltZXNoX25vdGlmeV9zbGVl cCwKKwlTTEVFUF9MRVZFTF9CTE9DSywKK307CisjZW5kaWYKKwogc3RydWN0IG1lc2hfc3RhdGUg ewogCXZvbGF0aWxlIHN0cnVjdAltZXNoX3JlZ3MgKm1lc2g7CiAJaW50CW1lc2hpbnRyOwpAQCAt MTUxLDYgKzE2Myw3IEBACiAJc3RydWN0IG1lc2hfdGFyZ2V0IHRndHNbOF07CiAJdm9pZAkqZG1h X2NtZF9zcGFjZTsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm9mbm9kZTsKKwl1bnNpZ25lZCBjaGFy ICptaW9fYmFzZTsKICNpZm5kZWYgTUVTSF9ORVdfU1RZTEVfRUgKIAlTY3NpX0NtbmQgKmNvbXBs ZXRlZF9xOwogCVNjc2lfQ21uZCAqY29tcGxldGVkX3F0YWlsOwpAQCAtMjEwLDYgKzIyMyw3IEBA CiBzdGF0aWMgdm9pZCBoYWx0X2RtYShzdHJ1Y3QgbWVzaF9zdGF0ZSAqKTsKIHN0YXRpYyBpbnQg ZGF0YV9nb2VzX291dChTY3NpX0NtbmQgKik7CiBzdGF0aWMgdm9pZCBkb19hYm9ydChzdHJ1Y3Qg bWVzaF9zdGF0ZSAqbXMpOworc3RhdGljIHZvaWQgc2V0X21lc2hfcG93ZXIoc3RydWN0IG1lc2hf c3RhdGUgKm1zLCBpbnQgc3RhdGUpOwogCiBzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIG1l c2hfbm90aWZpZXIgPSB7CiAJbWVzaF9ub3RpZnlfcmVib290LApAQCAtMzA5LDkgKzMyMywyNSBA QAogCQlpZiAobWVzaF9zeW5jX3BlcmlvZCA8IG1pbnBlcikKIAkJCW1lc2hfc3luY19wZXJpb2Qg PSBtaW5wZXI7CiAKLQkJZmVhdHVyZV9zZXQobWVzaCwgRkVBVFVSRV9NRVNIX2VuYWJsZSk7Ci0J CW1kZWxheSgyMDApOwotCisjaWYgMQorCQl7CisJCSAgc3RydWN0IGRldmljZV9ub2RlICptaW87 CisJCSAgbXMtPm1pb19iYXNlID0gMDsKKwkJICBmb3IgKG1pbyA9IG1zLT5vZm5vZGUtPnBhcmVu dDsgbWlvOyBtaW8gPSBtaW8tPnBhcmVudCkKKwkJCWlmIChzdHJjbXAobWlvLT5uYW1lLCAibWFj LWlvIikgPT0gMCAmJiBtaW8tPm5fYWRkcnMgPiAwKQorCQkJICBicmVhazsKKwkJICBpZiAobWlv KQorCQkJbXMtPm1pb19iYXNlID0gKHVuc2lnbmVkIGNoYXIgKikKKwkJCSAgaW9yZW1hcChtaW8t PmFkZHJzWzBdLmFkZHJlc3MsIDB4NDApOworCQl9CisJCWlmKG1zLT5taW9fYmFzZSkKKwkJICBz ZXRfbWVzaF9wb3dlcihtcywgMSk7CisJCWVsc2UKKyNlbmRpZgorCQl7CisJCSAgZmVhdHVyZV9z ZXQobWVzaCwgRkVBVFVSRV9NRVNIX2VuYWJsZSk7CisJCSAgbWRlbGF5KDIwMCk7CisJCX0KIAkJ bWVzaF9pbml0KG1zKTsKIAogCQlpZiAocmVxdWVzdF9pcnEobXMtPm1lc2hpbnRyLCBkb19tZXNo X2ludGVycnVwdCwgMCwgIk1FU0giLCBtcykpIHsKQEAgLTMyMSw4ICszNTEsMTIgQEAKIAkJKytu bWVzaGVzOwogCX0KIAotCWlmICgoX21hY2hpbmUgPT0gX01BQ0hfUG1hYykgJiYgKG5tZXNoZXMg PiAwKSkKKwlpZiAoKF9tYWNoaW5lID09IF9NQUNIX1BtYWMpICYmIChubWVzaGVzID4gMCkpewor I2lmZGVmIENPTkZJR19QTUFDX1BCT09LCisJCXBtdV9yZWdpc3Rlcl9zbGVlcF9ub3RpZmllcigm bWVzaF9zbGVlcF9ub3RpZmllcik7CisjZW5kaWYgLyogQ09ORklHX1BNQUNfUEJPT0sgKi8KIAkJ cmVnaXN0ZXJfcmVib290X25vdGlmaWVyKCZtZXNoX25vdGlmaWVyKTsKKwl9CiAKIAlyZXR1cm4g bm1lc2hlczsKIH0KQEAgLTMzOCwxMSArMzcyLDcwIEBACiAJCWlvdW5tYXAoKHZvaWQgKikgbXMt Pm1lc2gpOwogCWlmIChtcy0+ZG1hKQogCQlpb3VubWFwKCh2b2lkICopIG1zLT5kbWEpOworCWlm IChtcy0+bWlvX2Jhc2UpCisJCWlvdW5tYXAoKHZvaWQgKikgbXMtPm1pb19iYXNlKTsKIAlrZnJl ZShtcy0+ZG1hX2NtZF9zcGFjZSk7CiAJZnJlZV9pcnEobXMtPm1lc2hpbnRyLCBtcyk7CiAJZmVh dHVyZV9jbGVhcihtcy0+b2Zub2RlLCBGRUFUVVJFX01FU0hfZW5hYmxlKTsKIAlyZXR1cm4gMDsK IH0KKworc3RhdGljIHZvaWQKK3NldF9tZXNoX3Bvd2VyKHN0cnVjdCBtZXNoX3N0YXRlICptcywg aW50IHN0YXRlKQoreworCWlmIChfbWFjaGluZSAhPSBfTUFDSF9QbWFjIHx8IG1zLT5taW9fYmFz ZSA9PSAwKQorCQlyZXR1cm47CisJCQorCWlmIChzdGF0ZSkgeworCQlmZWF0dXJlX3NldChtcy0+ b2Zub2RlLCBGRUFUVVJFX01FU0hfZW5hYmxlKTsKKwkJLyogVGhpcyBzZWVtcyB0byBlbmFibGUg dGhlIHRlcm1pbmF0aW9uIHBvd2VyLiBzdHJhbmdlbHkKKwkJICAgdGhpcyBkb2Vzbid0IGZ1bGx5 IGFncmVlIHdpdGggT0YsIGJ1dCB3aXRoIE1hY09TICovCisJCWlmIChtcy0+bWlvX2Jhc2UpCisJ CQlvdXRfOChtcy0+bWlvX2Jhc2UgKyAweDM2LCAweDcwKTsKKwkJbWRlbGF5KDIwMCk7CisJfSBl bHNlIHsKKwkJZmVhdHVyZV9jbGVhcihtcy0+b2Zub2RlLCBGRUFUVVJFX01FU0hfZW5hYmxlKTsK KwkJaWYgKG1zLT5taW9fYmFzZSkKKwkJCW91dF84KG1zLT5taW9fYmFzZSArIDB4MzYsIDB4MzQp OworCQltZGVsYXkoMTApOworCX0KK30JCQkKKworI2lmZGVmIENPTkZJR19QTUFDX1BCT09LCisv KgorICogbm90aWZ5IGNsaWVudHMgYmVmb3JlIHNsZWVwIGFuZCByZXNldCBidXMgYWZ0ZXJ3YXJk cworICovCitpbnQKK21lc2hfbm90aWZ5X3NsZWVwKHN0cnVjdCBwbXVfc2xlZXBfbm90aWZpZXIg KnNlbGYsIGludCB3aGVuKQoreworCXN0cnVjdCBtZXNoX3N0YXRlICptczsKKwkKKwlzd2l0Y2gg KHdoZW4pIHsKKwljYXNlIFBCT09LX1NMRUVQX1JFUVVFU1Q6CisJCS8qIFhYWCBXZSBzaG91bGQg d2FpdCBmb3IgY3VycmVudCB0cmFuc2FjdGlvbnMgYW5kIHF1ZXVlCisJCSAqIG5ldyBvbmVzIHRo YXQgd291bGQgYmUgcG9zdGVkIGJleW9uZCB0aGlzIHBvaW50IAorCQkgKi8gCisJCWJyZWFrOwor CWNhc2UgUEJPT0tfU0xFRVBfUkVKRUNUOgorCQlicmVhazsKKwkJCisJY2FzZSBQQk9PS19TTEVF UF9OT1c6CisJCWZvciAobXMgPSBhbGxfbWVzaGVzOyBtcyAhPSAwOyBtcyA9IG1zLT5uZXh0KSB7 CisJCQlkaXNhYmxlX2lycShtcy0+bWVzaGludHIpOworCQkJc2V0X21lc2hfcG93ZXIobXMsIDAp OworCQl9CisJCWJyZWFrOworCWNhc2UgUEJPT0tfV0FLRToKKwkJZm9yIChtcyA9IGFsbF9tZXNo ZXM7IG1zICE9IDA7IG1zID0gbXMtPm5leHQpIHsKKwkJCXNldF9tZXNoX3Bvd2VyKG1zLCAxKTsK KwkJCW1lc2hfaW5pdChtcyk7CisJCQllbmFibGVfaXJxKG1zLT5tZXNoaW50cik7CisJCX0KKwkJ YnJlYWs7CisJfQorCXJldHVybiBQQk9PS19TTEVFUF9PSzsKK30KKyNlbmRpZiAvKiBDT05GSUdf UE1BQ19QQk9PSyAqLwogCiBpbnQKIG1lc2hfcXVldWUoU2NzaV9DbW5kICpjbWQsIHZvaWQgKCpk b25lKShTY3NpX0NtbmQgKikpCg== --Multipart_Thu__16_Aug_2001_04:00:22_-0500_1019bc38 Content-Type: application/octet-stream; name="vol-eject.patch" Content-Disposition: attachment; filename="vol-eject.patch" Content-Transfer-Encoding: base64 ZGlmZiAtcnVQIC1YIC4uL2lnbm9yZWRpZmYgbGludXgtMi40LjctYmVuMC1iZW5oMjAwMTA3Mjku b3Jpai9kcml2ZXJzL21hY2ludG9zaC9hZGJoaWQuYyBsaW51eC0yLjQuNy1iZW4wLWJlbmgyMDAx MDcyOS1idXR0b25zL2RyaXZlcnMvbWFjaW50b3NoL2FkYmhpZC5jCi0tLSBsaW51eC0yLjQuNy1i ZW4wLWJlbmgyMDAxMDcyOS5vcmlqL2RyaXZlcnMvbWFjaW50b3NoL2FkYmhpZC5jCVRodSBKdWwg MjYgMTU6MTk6MDEgMjAwMQorKysgbGludXgtMi40LjctYmVuMC1iZW5oMjAwMTA3MjktYnV0dG9u cy9kcml2ZXJzL21hY2ludG9zaC9hZGJoaWQuYwlTdW4gSnVsIDI5IDIyOjQwOjMyIDIwMDEKQEAg LTI3NSwyMiArMjc1LDI4IEBACiAJICB7CiAjaWZkZWYgQ09ORklHX1BNQUNfQkFDS0xJR0hUCiAJ CWludCBiYWNrbGlnaHQgPSBnZXRfYmFja2xpZ2h0X2xldmVsKCk7Ci0KKyNlbmRpZgogCQkvKgog CQkgKiBYWFg6IFdoZXJlIGlzIHRoZSBjb250cmFzdCBjb250cm9sIGZvciB0aGUgcGFzc2l2ZT8K IAkJICogIC0tIENvcnQKIAkJICovCiAKLQkJc3dpdGNoIChkYXRhWzFdKSB7CisJCXN3aXRjaCAo ZGF0YVsxXSYweGYpIHsKIAkJY2FzZSAweDg6CS8qIG11dGUgKi8KKwkJCQlpbnB1dF9yZXBvcnRf a2V5KCZhZGJoaWRbaWRdLT5pbnB1dCwgS0VZX01VVEUsIGRhdGFbMV0gPT0gKGRhdGFbMV0gJiAw eGYpKTsKIAkJCWJyZWFrOwogCi0JCWNhc2UgMHg3OgkvKiBjb250cmFzdCBkZWNyZWFzZSAqLwor CQljYXNlIDB4NzoJLyogdm9sdW1lIGRlY3JlYXNlICovCisJCQkJaW5wdXRfcmVwb3J0X2tleSgm YWRiaGlkW2lkXS0+aW5wdXQsIEtFWV9WT0xVTUVET1dOLCBkYXRhWzFdID09IChkYXRhWzFdICYg MHhmKSk7CiAJCQlicmVhazsKIAotCQljYXNlIDB4NjoJLyogY29udHJhc3QgaW5jcmVhc2UgKi8K KwkJY2FzZSAweDY6CS8qIHZvbHVtZSBpbmNyZWFzZSAqLworCQkJCWlucHV0X3JlcG9ydF9rZXko JmFkYmhpZFtpZF0tPmlucHV0LCBLRVlfVk9MVU1FVVAsIGRhdGFbMV0gPT0gKGRhdGFbMV0gJiAw eGYpKTsKIAkJCWJyZWFrOwotCisJCWNhc2UgMHhiOgkvKiBlamVjdCAqLworCQkJCWlucHV0X3Jl cG9ydF9rZXkoJmFkYmhpZFtpZF0tPmlucHV0LCBLRVlfRUpFQ1RDRCwgZGF0YVsxXSA9PSAoZGF0 YVsxXSAmIDB4ZikpOworCQkJYnJlYWs7CisjaWZkZWYgQ09ORklHX1BNQUNfQkFDS0xJR0hUCiAJ CWNhc2UgMHhhOgkvKiBicmlnaHRuZXNzIGRlY3JlYXNlICovCiAJCQlpZiAoYmFja2xpZ2h0IDwg MCkKIAkJCQlicmVhazsKQEAgLTMwOCw4ICszMTQsOCBAQAogCQkJZWxzZSAKIAkJCQlzZXRfYmFj a2xpZ2h0X2xldmVsKEJBQ0tMSUdIVF9NQVgpOwogCQkJYnJlYWs7CisjZW5kaWYKIAkJfQotI2Vu ZGlmIC8qIENPTkZJR19QTUFDX0JBQ0tMSUdIVCAqLwogCSAgfQogCSAgYnJlYWs7CiAJfQpAQCAt NTA0LDYgKzUxMCwxMSBAQAogCQljYXNlIDB4MWY6IC8qIFBvd2VyYm9vayBidXR0b24gZGV2aWNl ICovCiAJCQlzcHJpbnRmKGFkYmhpZFtpZF0tPm5hbWUsICJBREIgUG93ZXJib29rIGJ1dHRvbnMg b24gSUQgJWQ6JWQuJTAyeCIsCiAJCQkJaWQsIGRlZmF1bHRfaWQsIG9yaWdpbmFsX2hhbmRsZXJf aWQpOworCQkJYWRiaGlkW2lkXS0+aW5wdXQuZXZiaXRbMF0gPSBCSVQoRVZfS0VZKSB8IEJJVChF Vl9SRVApOworCQkJc2V0X2JpdChLRVlfTVVURSwgYWRiaGlkW2lkXS0+aW5wdXQua2V5Yml0KTsK KwkJCXNldF9iaXQoS0VZX1ZPTFVNRVVQLCBhZGJoaWRbaWRdLT5pbnB1dC5rZXliaXQpOworCQkJ c2V0X2JpdChLRVlfVk9MVU1FRE9XTiwgYWRiaGlkW2lkXS0+aW5wdXQua2V5Yml0KTsKKwkJCXNl dF9iaXQoS0VZX0VKRUNUQ0QsIGFkYmhpZFtpZF0tPmlucHV0LmtleWJpdCk7CiAJCQlicmVhazsK IAkJfQogCQlpZiAoYWRiaGlkW2lkXS0+bmFtZVswXSkKQEAgLTU0MSwxNyArNTUyLDM1IEBACiAJ YWRiaGlkW2lkXSA9IDA7CiB9CiAKK3N0YXRpYyB1MTYKK2FkYmhpZF9pbnB1dF9yZXJlZ2lzdGVy KGludCBpZCwgaW50IGRlZmF1bHRfaWQsIGludCBvcmdfaGFuZGxlcl9pZCwKKwkJCQkJCWludCBj dXJfaGFuZGxlcl9pZCwgaW50IG1rKQoreworCWlmKGFkYmhpZFtpZF0peworCQlpZihhZGJoaWRb aWRdLT5pbnB1dC5pZHByb2R1Y3QhPSgoaWQgPDwgMTIpfChkZWZhdWx0X2lkIDw8IDgpfG9yZ19o YW5kbGVyX2lkKSl7CisJCSAgICBhZGJoaWRfaW5wdXRfdW5yZWdpc3RlcihpZCk7CisJCQlhZGJo aWRfaW5wdXRfcmVnaXN0ZXIoaWQsIGRlZmF1bHRfaWQsIG9yZ19oYW5kbGVyX2lkLCBjdXJfaGFu ZGxlcl9pZCwgbWspOworCQl9CisJfWVsc2UKKwkJYWRiaGlkX2lucHV0X3JlZ2lzdGVyKGlkLCBk ZWZhdWx0X2lkLCBvcmdfaGFuZGxlcl9pZCwgY3VyX2hhbmRsZXJfaWQsIG1rKTsKKwlyZXR1cm4g MTw8aWQ7Cit9CisKK3N0YXRpYyB2b2lkCithZGJoaWRfaW5wdXRfZGV2Y2xlYW51cCh1MTYgZXhp c3QpCit7CisgICAgaW50IGk7CisJZm9yKGk9MTtpPDE2O2krKykKKwkgICAgaWYoYWRiaGlkW2ld JiYhKGV4aXN0JigxPDxpKSkpCisJCQkgYWRiaGlkX2lucHV0X3VucmVnaXN0ZXIoaSk7Cit9CiAK IHN0YXRpYyB2b2lkCiBhZGJoaWRfcHJvYmUodm9pZCkKIHsKIAlzdHJ1Y3QgYWRiX3JlcXVlc3Qg cmVxOwogCWludCBpLCBkZWZhdWx0X2lkLCBvcmdfaGFuZGxlcl9pZCwgY3VyX2hhbmRsZXJfaWQ7 Ci0KLQlmb3IgKGkgPSAxOyBpIDwgMTY7IGkrKykgewotCQlpZiAoYWRiaGlkW2ldKQotCQkJYWRi aGlkX2lucHV0X3VucmVnaXN0ZXIoaSk7Ci0JfQorCXUxNiByZWc9MDsKIAogCWFkYl9yZWdpc3Rl cihBREJfTU9VU0UsIDAsICZtb3VzZV9pZHMsIGFkYmhpZF9tb3VzZV9pbnB1dCk7CiAJYWRiX3Jl Z2lzdGVyKEFEQl9LRVlCT0FSRCwgMCwgJmtleWJvYXJkX2lkcywgYWRiaGlkX2tleWJvYXJkX2lu cHV0KTsKQEAgLTU4MCwxNCArNjA5LDE0IEBACiAJCQlwcmludGsoIkFEQiBrZXlib2FyZCBhdCAl ZCwgaGFuZGxlciAxXG4iLCBpZCk7CiAKIAkJYWRiX2dldF9pbmZvcyhpZCwgJmRlZmF1bHRfaWQs ICZjdXJfaGFuZGxlcl9pZCk7Ci0JCWFkYmhpZF9pbnB1dF9yZWdpc3RlcihpZCwgZGVmYXVsdF9p ZCwgb3JnX2hhbmRsZXJfaWQsIGN1cl9oYW5kbGVyX2lkLCAwKTsKKwkJcmVnfD1hZGJoaWRfaW5w dXRfcmVyZWdpc3RlcihpZCwgZGVmYXVsdF9pZCwgb3JnX2hhbmRsZXJfaWQsIGN1cl9oYW5kbGVy X2lkLCAwKTsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgYnV0dG9uc19pZHMubmlkczsgaSsrKSB7 CiAJCWludCBpZCA9IGJ1dHRvbnNfaWRzLmlkW2ldOwogCiAJCWFkYl9nZXRfaW5mb3MoaWQsICZk ZWZhdWx0X2lkLCAmb3JnX2hhbmRsZXJfaWQpOwotCQlhZGJoaWRfaW5wdXRfcmVnaXN0ZXIoaWQs IGRlZmF1bHRfaWQsIG9yZ19oYW5kbGVyX2lkLCBvcmdfaGFuZGxlcl9pZCwgMCk7CisJCXJlZ3w9 YWRiaGlkX2lucHV0X3JlcmVnaXN0ZXIoaWQsIGRlZmF1bHRfaWQsIG9yZ19oYW5kbGVyX2lkLCBv cmdfaGFuZGxlcl9pZCwgMCk7CiAJfQogCiAJLyogVHJ5IHRvIHN3aXRjaCBhbGwgbWljZSB0byBo YW5kbGVyIDQsIG9yIDIgZm9yIHRocmVlLWJ1dHRvbgpAQCAtNjc2LDkgKzcwNSwxMCBAQAogCQlw cmludGsoIlxuIik7CiAKIAkJYWRiX2dldF9pbmZvcyhpZCwgJmRlZmF1bHRfaWQsICZjdXJfaGFu ZGxlcl9pZCk7Ci0JCWFkYmhpZF9pbnB1dF9yZWdpc3RlcihpZCwgZGVmYXVsdF9pZCwgb3JnX2hh bmRsZXJfaWQsCisJCXJlZ3w9YWRiaGlkX2lucHV0X3JlcmVnaXN0ZXIoaWQsIGRlZmF1bHRfaWQs IG9yZ19oYW5kbGVyX2lkLAogCQkJCSAgICAgIGN1cl9oYW5kbGVyX2lkLCBtb3VzZV9raW5kKTsK ICAgICAgICAgfQorCWFkYmhpZF9pbnB1dF9kZXZjbGVhbnVwKHJlZyk7CiB9CiAKIHN0YXRpYyB2 b2lkIApkaWZmIC1ydVAgLVggLi4vaWdub3JlZGlmZiBsaW51eC0yLjQuNy1iZW4wLWJlbmgyMDAx MDcyOS5vcmlqL2RyaXZlcnMvbWFjaW50b3NoL21hY19oaWQuYyBsaW51eC0yLjQuNy1iZW4wLWJl bmgyMDAxMDcyOS1idXR0b25zL2RyaXZlcnMvbWFjaW50b3NoL21hY19oaWQuYwotLS0gbGludXgt Mi40LjctYmVuMC1iZW5oMjAwMTA3Mjkub3Jpai9kcml2ZXJzL21hY2ludG9zaC9tYWNfaGlkLmMJ VGh1IEp1biAyOCAwOToyOTo1MCAyMDAxCisrKyBsaW51eC0yLjQuNy1iZW4wLWJlbmgyMDAxMDcy OS1idXR0b25zL2RyaXZlcnMvbWFjaW50b3NoL21hY19oaWQuYwlTdW4gSnVsIDI5IDE4OjExOjQw IDIwMDEKQEAgLTIwMCwxNSArMjAwLDE1IEBACiAJMCwgMCwgMCwgS0VZX0tQQ09NTUEsIDAsIEtF WV9JTlRMMywgMCwgMCwJCS8qIDB4MDAtMHgwNyAqLwogCTAsIDAsIDAsIDAsIEtFWV9MQU5HMSwg S0VZX0xBTkcyLCAwLCAwLAkJCS8qIDB4MDgtMHgwZiAqLwogCTAsIDAsIDAsIDAsIDAsIDAsIDAs IDAsCQkJCQkvKiAweDEwLTB4MTcgKi8KLQkwLCAwLCAwLCAwLCBLRVlfS1BFTlRFUiwgS0VZX1JJ R0hUQ1RSTCwgMCwgMCwJCS8qIDB4MTgtMHgxZiAqLwotCTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs CQkJCQkvKiAweDIwLTB4MjcgKi8KKwkwLCAwLCAwLCAwLCBLRVlfS1BFTlRFUiwgS0VZX1JJR0hU Q1RSTCwgS0VZX1ZPTFVNRVVQLCAwLAkJLyogMHgxOC0weDFmICovCisJMCwgMCwgMCwgMCwgMCwg S0VZX1ZPTFVNRURPV04sIEtFWV9NVVRFLCAwLAkJCQkJLyogMHgyMC0weDI3ICovCiAJMCwgMCwg MCwgMCwgMCwgMCwgMCwgMCwJCQkJCS8qIDB4MjgtMHgyZiAqLwogCTAsIDAsIDAsIDAsIDAsIEtF WV9LUFNMQVNILCAwLCBLRVlfU1lTUlEsCQkvKiAweDMwLTB4MzcgKi8KLQlLRVlfUklHSFRBTFQs IDAsIDAsIDAsIDAsIDAsIDAsIDAsCQkJLyogMHgzOC0weDNmICovCisJS0VZX1JJR0hUQUxULCAw LCAwLCBLRVlfRUpFQ1RDRCwgMCwgMCwgMCwgMCwJCQkvKiAweDM4LTB4M2YgKi8KIAkwLCAwLCAw LCAwLCAwLCAwLCAwLCBLRVlfSE9NRSwJCQkJLyogMHg0MC0weDQ3ICovCiAJS0VZX1VQLCBLRVlf UEFHRVVQLCAwLCBLRVlfTEVGVCwgMCwgS0VZX1JJR0hULCAwLCBLRVlfRU5ELCAvKiAweDQ4LTB4 NGYgKi8KIAlLRVlfRE9XTiwgS0VZX1BBR0VET1dOLCBLRVlfSU5TRVJULCBLRVlfREVMRVRFLCAw LCAwLCAwLCAwLCAvKiAweDUwLTB4NTcgKi8KLQkwLCAwLCAwLCBLRVlfTEVGVE1FVEEsIEtFWV9S SUdIVE1FVEEsIEtFWV9DT01QT1NFLCAwLCAwLCAvKiAweDU4LTB4NWYgKi8KKwkwLCAwLCAwLCBL RVlfTEVGVE1FVEEsIEtFWV9SSUdIVE1FVEEsIEtFWV9DT01QT1NFLCBLRVlfUE9XRVIsIDAsIC8q IDB4NTgtMHg1ZiAqLwogCTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCQkJCQkvKiAweDYwLTB4Njcg Ki8KIAkwLCAwLCAwLCAwLCAwLCAwLCAwLCBLRVlfTUFDUk8sCQkJCS8qIDB4NjgtMHg2ZiAqLwog CTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCQkJCQkvKiAweDcwLTB4NzcgKi8K --Multipart_Thu__16_Aug_2001_04:00:22_-0500_1019bc38-- ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/