From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030206AbWJCPZR (ORCPT ); Tue, 3 Oct 2006 11:25:17 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030193AbWJCPZR (ORCPT ); Tue, 3 Oct 2006 11:25:17 -0400 Received: from mout2.freenet.de ([194.97.50.155]:37347 "EHLO mout2.freenet.de") by vger.kernel.org with ESMTP id S1030211AbWJCPZN (ORCPT ); Tue, 3 Oct 2006 11:25:13 -0400 Date: Tue, 03 Oct 2006 17:26:07 +0200 To: "linux-kernel@vger.kernel.org" Subject: [PATCH 6/11] 2.6.18-mm3 pktcdvd: new pkt_print_info() function Reply-To: balagi@justmail.de From: "Thomas Maier" Cc: "petero2@telia.com" , "akpm@osdl.org" Content-Type: multipart/mixed; boundary=----------3RytjZkLpsH3YH0d2aL8GE MIME-Version: 1.0 Message-ID: User-Agent: Opera Mail/9.00 (Win32) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org ------------3RytjZkLpsH3YH0d2aL8GE Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Hello, this patch adds a sysfs interface to the pktcdvd driver. See the Documentation/* files in the patch for further infos. http://people.freenet.de/BalaGi/download/pktcdvd-6-sysfs_2.6.18.patch Signed-off-by: Thomas Maier -Thomas Maier ------------3RytjZkLpsH3YH0d2aL8GE Content-Disposition: attachment; filename=pktcdvd-6-sysfs_2.6.18.patch Content-Type: application/octet-stream; name=pktcdvd-6-sysfs_2.6.18.patch Content-Transfer-Encoding: Base64 ZGlmZiAtdXJwTiA1LXByaW50LWluZm8vRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGlu Zy9kZWJ1Z2ZzLXBrdGNkdmQgNi1zeXNmcy9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0 aW5nL2RlYnVnZnMtcGt0Y2R2ZAotLS0gNS1wcmludC1pbmZvL0RvY3VtZW50YXRp b24vQUJJL3Rlc3RpbmcvZGVidWdmcy1wa3RjZHZkCTE5NzAtMDEtMDEgMDE6MDA6 MDAuMDAwMDAwMDAwICswMTAwCisrKyA2LXN5c2ZzL0RvY3VtZW50YXRpb24vQUJJ L3Rlc3RpbmcvZGVidWdmcy1wa3RjZHZkCTIwMDYtMTAtMDMgMTM6MTM6MjQuMDAw MDAwMDAwICswMjAwCkBAIC0wLDAgKzEsMjAgQEAKK1doYXQ6ICAgICAgICAgICAv ZGVidWcvcGt0Y2R2ZFswLTddCitEYXRlOiAgICAgICAgICAgU2VwLiAyMDA2CitL ZXJuZWxWZXJzaW9uOiAgMi42LjE5CitDb250YWN0OiAgICAgICAgVGhvbWFzIE1h aWVyIDxiYWxhZ2lAanVzdG1haWwuZGU+CitEZXNjcmlwdGlvbjoKKworZGVidWdm cyBpbnRlcmZhY2UKKy0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBwa3RjZHZkIG1v ZHVsZSAocGFja2V0IHdyaXRpbmcgZHJpdmVyKSBjcmVhdGVzCit0aGVzZSBmaWxl cyBpbiBkZWJ1Z2ZzOgorCisvZGVidWcvcGt0Y2R2ZFswLTddLworICAgIGluZm8g ICAgICAgICAgICAoMDQ0NCkgTG90cyBvZiBodW1hbiByZWFkYWJsZSBkcml2ZXIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpc3RpY3MgYW5kIGluZm9z LiBNdWx0aXBsZSBsaW5lcyEKKworRXhhbXBsZToKKy0tLS0tLS0KKworY2F0IC9k ZWJ1Zy9wa3RjZHZkMy9pbmZvCmRpZmYgLXVycE4gNS1wcmludC1pbmZvL0RvY3Vt ZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtY2xhc3MtcGt0Y2R2ZCA2LXN5c2Zz L0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtY2xhc3MtcGt0Y2R2ZAot LS0gNS1wcmludC1pbmZvL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMt Y2xhc3MtcGt0Y2R2ZAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEw MAorKysgNi1zeXNmcy9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWNs YXNzLXBrdGNkdmQJMjAwNi0xMC0wMyAxMzoxNDo1OS4wMDAwMDAwMDAgKzAyMDAK QEAgLTAsMCArMSw1NyBAQAorV2hhdDogICAgICAgICAgIC9zeXMvY2xhc3MvcGt0 Y2R2ZC8KK0RhdGU6ICAgICAgICAgICBTZXAuIDIwMDYKK0tlcm5lbFZlcnNpb246 ICAyLjYuMTkKK0NvbnRhY3Q6ICAgICAgICBUaG9tYXMgTWFpZXIgPGJhbGFnaUBq dXN0bWFpbC5kZT4KK0Rlc2NyaXB0aW9uOgorCitzeXNmcyBpbnRlcmZhY2UKKy0t LS0tLS0tLS0tLS0tLQorCitUaGUgcGt0Y2R2ZCBtb2R1bGUgKHBhY2tldCB3cml0 aW5nIGRyaXZlcikgY3JlYXRlcwordGhlc2UgZmlsZXMgaW4gdGhlIHN5c2ZzOgor KDxkZXZpZD4gaXMgaW4gZm9ybWF0ICBtYWpvcjptaW5vciApCisKKy9zeXMvY2xh c3MvcGt0Y2R2ZC8KKyAgICBhZGQgICAgICAgICAgICAoMDIwMCkgIFdyaXRlIGEg YmxvY2sgZGV2aWNlIGlkIHRvIGNyZWF0ZSBhCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBuZXcgcGt0Y2R2ZCBkZXZpY2UgYW5kIG1hcCBpdCB0byB0aGUKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrIGRldmljZS4KKworICAgIHJl bW92ZSAgICAgICAgICgwMjAwKSAgV3JpdGUgdGhlIHBrdGNkdmQgZGV2aWNlIGlk IG9yIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGVkIGJsb2Nr IGRldmljZSBpZCB0byBpdCwgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlbW92ZSB0aGUgcGt0Y2R2ZCBkZXZpY2UuCisKKyAgICBkZXZpY2VfbWFwICAg ICAoMDQ0NCkgIFNob3dzIHRoZSBkZXZpY2UgbWFwcGluZyBpbiBmb3JtYXQ6Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrdGNkdmRbMC03XSA8cGt0ZGV2 aWQ+IDxibGtkZXZpZD4KKwkKKy9zeXMvY2xhc3MvcGt0Y2R2ZC9wa3RjZHZkWzAt N10vCisgICAgZGV2ICAgICAgICAgICAgICAgICAgICgwNDQ0KSBEZXZpY2UgaWQK KyAgICB1ZXZlbnQgICAgICAgICAgICAgICAgKDAyMDApIFRvIHNlbmQgYW4gdWV2 ZW50LgorICAgIAorL3N5cy9jbGFzcy9wa3RjZHZkL3BrdGNkdmRbMC03XS9zdGF0 LworICAgIHBhY2tldHNfc3RhcnRlZCAgICAgICAoMDQ0NCkgTnVtYmVyIG9mIHN0 YXJ0ZWQgcGFja2V0cy4KKyAgICBwYWNrZXRzX2ZpbmlzaGVkICAgICAgKDA0NDQp IE51bWJlciBvZiBmaW5pc2hlZCBwYWNrZXRzLgorCisgICAga2Jfd3JpdHRlbiAg ICAgICAgICAgICgwNDQ0KSBrQnl0ZXMgd3JpdHRlbi4KKyAgICBrYl9yZWFkICAg ICAgICAgICAgICAgKDA0NDQpIGtCeXRlcyByZWFkLgorICAgIGtiX3JlYWRfZ2F0 aGVyICAgICAgICAoMDQ0NCkga0J5dGVzIHJlYWQgdG8gZmlsbCB3cml0ZSBwYWNr ZXRzLgorICAgIAorICAgIHJlc2V0ICAgICAgICAgICAgICAgICAoMDIwMCkgV3Jp dGUgYW55IHZhbHVlIHRvIGl0IHRvIHJlc2V0CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwa3RjZHZkIGRldmljZSBzdGF0aXN0aWMgdmFsdWVzLCBs aWtlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlcyByZWFk L3dyaXR0ZW4uCisgCisKK0V4YW1wbGU6CistLS0tLS0tLQorVG8gdXNlIHRoZSBw a3RjZHZkIHN5c2ZzIGludGVyZmFjZSBkaXJlY3RseSwgeW91IGNhbiBkbzoKKwor IyBjcmVhdGUgYSBuZXcgcGt0Y2R2ZCBkZXZpY2UgbWFwcGVkIHRvIC9kZXYvaGRj CitlY2hvICIyMjowIiA+L3N5cy9jbGFzcy9wa3RjZHZkL2FkZAorY2F0IC9zeXMv Y2xhc3MvcGt0Y2R2ZC9kZXZpY2VfbWFwCisjIGFzc3VtaW5nIGRldmljZSBwa3Rj ZHZkMCB3YXMgY3JlYXRlZCwgbG9vayBhdCBzdGF0J3MKK2NhdCAvc3lzL2NsYXNz L3BrdGNkdmQvcGt0Y2R2ZDAvc3RhdC9rYl93cml0dGVuCisjIHByaW50IHRoZSBk ZXZpY2UgaWQgb2YgdGhlIG1hcHBlZCBibG9jayBkZXZpY2UKK2ZncmVwIHBrdGNk dmQwIC9zeXMvY2xhc3MvcGt0Y2R2ZC9kZXZpY2VfbWFwCisjIHJlbW92ZSBkZXZp Y2UsIHVzaW5nIHBrdGNkdmQwIGRldmljZSBpZCAgIDI1MzowCitlY2hvICIyNTM6 MCIgPi9zeXMvY2xhc3MvcGt0Y2R2ZC9yZW1vdmUKKyMgc2FtZSBhcyB1c2luZyB0 aGUgbWFwcGVkIGJsb2NrIGRldmljZSBpZCAgMjI6MAorZWNobyAiMjI6MCIgPi9z eXMvY2xhc3MvcGt0Y2R2ZC9yZW1vdmUKZGlmZiAtdXJwTiA1LXByaW50LWluZm8v RG9jdW1lbnRhdGlvbi9jZHJvbS9wYWNrZXQtd3JpdGluZy50eHQgNi1zeXNmcy9E b2N1bWVudGF0aW9uL2Nkcm9tL3BhY2tldC13cml0aW5nLnR4dAotLS0gNS1wcmlu dC1pbmZvL0RvY3VtZW50YXRpb24vY2Ryb20vcGFja2V0LXdyaXRpbmcudHh0CTIw MDYtMTAtMDMgMTE6Mjc6MTIuMDAwMDAwMDAwICswMjAwCisrKyA2LXN5c2ZzL0Rv Y3VtZW50YXRpb24vY2Ryb20vcGFja2V0LXdyaXRpbmcudHh0CTIwMDYtMTAtMDMg MTM6MTY6MjUuMDAwMDAwMDAwICswMjAwCkBAIC0xLDEzICsxLDE1IEBACiBHZXR0 aW5nIHN0YXJ0ZWQgcXVpY2sKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0tIFNl bGVjdCBwYWNrZXQgc3VwcG9ydCBpbiB0aGUgYmxvY2sgZGV2aWNlIHNlY3Rpb24g YW5kIFVERiBzdXBwb3J0IGluCi0gIHRoZSBmaWxlIHN5c3RlbSBzZWN0aW9uLgor LSBTZWxlY3QgcGFja2V0IHN1cHBvcnQgaW4gdGhlIGJsb2NrIGRldmljZSBzZWN0 aW9uIChhbmQgZW5hYmxlCisgIHRoZSBwa3RjZHZkIHByb2NmcyBpbnRlcmZhY2Up IGFuZCBVREYgc3VwcG9ydCBpbiB0aGUgZmlsZQorICBzeXN0ZW0gc2VjdGlvbi4K IAogLSBDb21waWxlIGFuZCBpbnN0YWxsIGtlcm5lbCBhbmQgbW9kdWxlcywgcmVi b290LgogCiAtIFlvdSBuZWVkIHRoZSB1ZGZ0b29scyBwYWNrYWdlIChwa3RzZXR1 cCwgbWt1ZGZmcywgY2Ryd3Rvb2wpLgogICBEb3dubG9hZCBmcm9tIGh0dHA6Ly9z b3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGludXgtdWRmLworICBOb3RlOiBwa3Rz ZXR1cCBuZWVkcyB0aGUgcGt0Y2R2ZCBwcm9jZnMgaW50ZXJmYWNlIQogCiAtIEdy YWIgYSBuZXcgQ0QtUlcgZGlzYyBhbmQgZm9ybWF0IGl0IChhc3N1bWluZyBDRC1S VyBpcyBoZGMsIHN1YnN0aXR1dGUKICAgYXMgYXBwcm9wcmlhdGUpOgpAQCAtOTAs NiArOTIsNDEgQEAgTm90ZXMKICAgdG8gY3JlYXRlIGFuIGV4dDIgZmlsZXN5c3Rl bSBvbiB0aGUgZGlzYy4KIAogCisKK1VzaW5nIHRoZSBwa3RjZHZkIHN5c2ZzIGlu dGVyZmFjZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1Ro ZSBwa3RjZHZkIG1vZHVsZSBoYXMgYSBzeXNmcyBpbnRlcmZhY2UgYW5kIGNhbiBi ZSBjb250cm9sbGVkCitieSB0aGUgdG9vbCAicGt0Y2R2ZCIgdGhhdCB1c2VzIHN5 c2ZzLgorKHNlZSBodHRwOi8vcGVvcGxlLmZyZWVuZXQuZGUvQmFsYUdpI3BrdGNk dmQgKQorCisicGt0Y2R2ZCIgd29ya3Mgc2ltaWxhciB0byAicGt0c2V0dXAiLCBl LmcuOgorCisJIyBwa3RjZHZkIC1hIGRldl9uYW1lIC9kZXYvaGRjCisJIyBta3Vk ZmZzIC9kZXYvcGt0Y2R2ZC9kZXZfbmFtZQorCSMgbW91bnQgLXQgdWRmIC1vIHJ3 LG5vYXRpbWUgL2Rldi9wa3RjZHZkL2Rldl9uYW1lIC9kdmRyYW0KKwkjIGNwIGZp bGVzIC9kdmRyYW0KKwkjIHVtb3VudCAvZHZkcmFtCisJIyBwa3RjZHZkIC1yIGRl dl9uYW1lCisKKworRm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIHN5c2ZzIGludGVy ZmFjZSBsb29rIGludG8gdGhlIGZpbGU6CisKKyAgRG9jdW1lbnRhdGlvbi9BQkkv dGVzdGluZy9zeXNmcy1ibG9jay1wa3RjZHZkCisKKworVXNpbmcgdGhlIHBrdGNk dmQgZGVidWdmcyBpbnRlcmZhY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisKK1RvIHJlYWQgcGt0Y2R2ZCBkZXZpY2UgaW5mb3MgaW4gaHVt YW4gcmVhZGFibGUgZm9ybSwgZG86CisKKwkjIGNhdCAvZGVidWcvcGt0Y2R2ZFsw LTddL2luZm8KKworRm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIGRlYnVnZnMgaW50 ZXJmYWNlIGxvb2sgaW50byB0aGUgZmlsZToKKworICBEb2N1bWVudGF0aW9uL0FC SS90ZXN0aW5nL2RlYnVnZnMtcGt0Y2R2ZAorCSAgICAgICAgICAgICAgICAgCisg IAogTGlua3MKIC0tLS0tCiAKZGlmZiAtdXJwTiA1LXByaW50LWluZm8vZHJpdmVy cy9ibG9jay9wa3RjZHZkLmMgNi1zeXNmcy9kcml2ZXJzL2Jsb2NrL3BrdGNkdmQu YwotLS0gNS1wcmludC1pbmZvL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jCTIwMDYt MTAtMDMgMTE6NDY6MTkuMDAwMDAwMDAwICswMjAwCisrKyA2LXN5c2ZzL2RyaXZl cnMvYmxvY2svcGt0Y2R2ZC5jCTIwMDYtMTAtMDMgMTM6NTQ6MTkuMDAwMDAwMDAw ICswMjAwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw MCBKZW5zIEF4Ym9lIDxheGJvZUBzdXNlLmRlPgogICogQ29weXJpZ2h0IChDKSAy MDAxLTIwMDQgUGV0ZXIgT3N0ZXJsdW5kIDxwZXRlcm8yQHRlbGlhLmNvbT4KKyAq IENvcHlyaWdodCAoQykgMjAwNiBUaG9tYXMgTWFpZXIgPGJhbGFnaUBqdXN0bWFp bC5kZT4KICAqCiAgKiBNYXkgYmUgY29waWVkIG9yIG1vZGlmaWVkIHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCiAgKiBMaWNlbnNlLiAg U2VlIGxpbnV4L0NPUFlJTkcgZm9yIG1vcmUgaW5mb3JtYXRpb24uCkBAIC01OSw2 ICs2MCw4IEBACiAjaW5jbHVkZSA8c2NzaS9zY3NpX2NtbmQuaD4KICNpbmNsdWRl IDxzY3NpL3Njc2lfaW9jdGwuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KKyNp bmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNl Lmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC04MiwxMCArODUs MTggQEAKIAogc3RhdGljIHN0cnVjdCBwa3RjZHZkX2RldmljZSAqcGt0X2RldnNb TUFYX1dSSVRFUlNdOwogc3RhdGljIHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcGt0 X3Byb2M7Ci1zdGF0aWMgaW50IHBrdGRldl9tYWpvcjsKK3N0YXRpYyBpbnQgcGt0 ZGV2X21ham9yID0gMDsgLyogZGVmYXVsdDogZHluYW1pYyBtYWpvciBudW1iZXIg Ki8KIHN0YXRpYyBzdHJ1Y3QgbXV0ZXggY3RsX211dGV4OwkvKiBTZXJpYWxpemUg b3Blbi9jbG9zZS9zZXR1cC90ZWFyZG93biAqLwogc3RhdGljIG1lbXBvb2xfdCAq cHNkX3Bvb2w7CiAKK3N0YXRpYyBzdHJ1Y3QgY2xhc3MJKmNsYXNzX3BrdGNkdmQg PSBOVUxMOyAgICAvKiAvc3lzL2NsYXNzL3BrdGNkdmQgKi8KK3N0YXRpYyBzdHJ1 Y3QgZGVudHJ5CSpwa3RfZGVidWdmc19yb290ID0gTlVMTDsKKworCisvKiBmb3J3 YXJkIGRlY2xhcmF0aW9uICovCitzdGF0aWMgaW50IHBrdF9zZXR1cF9kZXYoZGV2 X3QgZGV2LCBkZXZfdCogcGt0X2Rldik7CitzdGF0aWMgaW50IHBrdF9yZW1vdmVf ZGV2KGRldl90IHBrdF9kZXYpOworCiAKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAq IHV0aWxzCkBAIC0xOTksNiArMjEwLDM0NCBAQCBzdGF0aWMgaW50IHBrdF9wcmlu dF9pbmZvKHN0cnVjdCBwa3RjZHZkCiAJcmV0dXJuIG47CiB9CiAKKy8qCisgKiBj cmVhdGUgYW5kIHNldHVwIGEgcGt0Y2R2ZCBrZXJuZWwgb2JqZWN0LgorICovCitz dGF0aWMgc3RydWN0IHBrdGNkdmRfa29iaiogcGt0X2tvYmpfY3JlYXRlKHN0cnVj dCBwa3RjZHZkX2RldmljZSAqcGQsCisJCQkJCWNvbnN0IGNoYXIqIG5hbWUsCisJ CQkJCXN0cnVjdCBrb2JqZWN0KiBwYXJlbnQsCisJCQkJCXN0cnVjdCBrb2JqX3R5 cGUqIGt0eXBlKQoreworCXN0cnVjdCBwa3RjZHZkX2tvYmogKnA7CisJcCA9IGt6 YWxsb2Moc2l6ZW9mKCpwKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwKQorCQlyZXR1 cm4gTlVMTDsKKwlrb2JqZWN0X3NldF9uYW1lKCZwLT5rb2JqLCAiJXMiLCBuYW1l KTsKKwlwLT5rb2JqLnBhcmVudCA9IHBhcmVudDsKKwlwLT5rb2JqLmt0eXBlID0g a3R5cGU7CisJcC0+cGQgPSBwZDsKKwlpZiAoa29iamVjdF9yZWdpc3RlcigmcC0+ a29iaikgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisJcmV0dXJuIHA7Cit9CisvKgor ICogcmVtb3ZlIGEgcGt0Y2R2ZCBrZXJuZWwgb2JqZWN0LgorICovCitzdGF0aWMg dm9pZCBwa3Rfa29ial9yZW1vdmUoc3RydWN0IHBrdGNkdmRfa29iaiAqcCkKK3sK KwlpZiAocCkKKwkJa29iamVjdF91bnJlZ2lzdGVyKCZwLT5rb2JqKTsKK30KKy8q CisgKiBkZWZhdWx0IHJlbGVhc2UgZnVuY3Rpb24gZm9yIHBrdGNkdmQga2VybmVs IG9iamVjdHMuCisgKi8KK3N0YXRpYyB2b2lkIHBrdF9rb2JqX3JlbGVhc2Uoc3Ry dWN0IGtvYmplY3QgKmtvYmopCit7CisJa2ZyZWUodG9fcGt0Y2R2ZGtvYmooa29i aikpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogc3lzZnMgaW50ZXJmYWNl IGZvciBwa3RjZHZkCisgKiBieSAoQykgMjAwNiAgVGhvbWFzIE1haWVyIDxiYWxh Z2lAanVzdG1haWwuZGU+CisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgREVG X0FUVFIoX29iaixfbmFtZSxfbW9kZSkgXAorCXN0YXRpYyBzdHJ1Y3QgYXR0cmli dXRlIF9vYmogPSB7IFwKKwkJLm5hbWUgPSBfbmFtZSwgLm93bmVyID0gVEhJU19N T0RVTEUsIC5tb2RlID0gX21vZGUgfQorCisvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAvc3lzL2Ns YXNzL3BrdGNkdmQvcGt0Y2R2ZFswLTddLworICAgICAgICAgICAgICAgICAgICAg c3RhdC9yZXNldAorICAgICAgICAgICAgICAgICAgICAgc3RhdC9wYWNrZXRzX3N0 YXJ0ZWQKKyAgICAgICAgICAgICAgICAgICAgIHN0YXQvcGFja2V0c19maW5pc2hl ZAorICAgICAgICAgICAgICAgICAgICAgc3RhdC9rYl93cml0dGVuCisgICAgICAg ICAgICAgICAgICAgICBzdGF0L2tiX3JlYWQKKyAgICAgICAgICAgICAgICAgICAg IHN0YXQva2JfcmVhZF9nYXRoZXIKKyAqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitERUZfQVRUUihr b2JqX3BrdF9hdHRyX3N0MSwgInJlc2V0IiwgMDIwMCk7CitERUZfQVRUUihrb2Jq X3BrdF9hdHRyX3N0MiwgInBhY2tldHNfc3RhcnRlZCIsIDA0NDQpOworREVGX0FU VFIoa29ial9wa3RfYXR0cl9zdDMsICJwYWNrZXRzX2ZpbmlzaGVkIiwgMDQ0NCk7 CitERUZfQVRUUihrb2JqX3BrdF9hdHRyX3N0NCwgImtiX3dyaXR0ZW4iLCAwNDQ0 KTsKK0RFRl9BVFRSKGtvYmpfcGt0X2F0dHJfc3Q1LCAia2JfcmVhZCIsIDA0NDQp OworREVGX0FUVFIoa29ial9wa3RfYXR0cl9zdDYsICJrYl9yZWFkX2dhdGhlciIs IDA0NDQpOworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqa29ial9wa3RfYXR0 cnNfc3RhdFtdID0geworCSZrb2JqX3BrdF9hdHRyX3N0MSwKKwkma29ial9wa3Rf YXR0cl9zdDIsCisJJmtvYmpfcGt0X2F0dHJfc3QzLAorCSZrb2JqX3BrdF9hdHRy X3N0NCwKKwkma29ial9wa3RfYXR0cl9zdDUsCisJJmtvYmpfcGt0X2F0dHJfc3Q2 LAorCU5VTEwKK307CisKKy8qIGRlY2xhcmVzIGEgY2hhciBidWZmZXJbNjRdIF9k YnVmLCBjb3BpZXMgZGF0YSBmcm9tCisgKiBfYiB3aXRoIGxlbmd0aCBfbCBpbnRv IGl0IGFuZCBlbnN1cmVzIHRoYXQgX2RidWYgZW5kcworICogd2l0aCBhIFwwIGNo YXJhY3Rlci4KKyAqLworI2RlZmluZSBERUNMQVJFX0JVRl9BU19TVFJJTkcoX2Ri dWYsIF9iLCBfbCkgXAorCWNoYXIgX2RidWZbNjRdOyBpbnQgZGxlbiA9IChfbCkg PCAwID8gMCA6IChfbCk7IFwKKwlpZiAoZGxlbiA+PSBzaXplb2YoX2RidWYpKSBk bGVuID0gc2l6ZW9mKF9kYnVmKS0xOyBcCisJbWVtY3B5KF9kYnVmLCBfYiwgZGxl bik7IF9kYnVmW2RsZW5dID0gMAorCQorCitzdGF0aWMgc3NpemVfdCBrb2JqX3Br dF9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJc3RydWN0IGF0dHJpYnV0 ZSAqYXR0ciwgY2hhciAqZGF0YSkKK3sKKwlzdHJ1Y3QgcGt0Y2R2ZF9kZXZpY2Ug KnBkOworCWludCBuID0gMDsKKworCWRhdGFbMF0gPSAwOworCXBkID0gdG9fcGt0 Y2R2ZGtvYmooa29iaiktPnBkOworCisJaWYgKHN0cmNtcChhdHRyLT5uYW1lLCAi cGFja2V0c19zdGFydGVkIikgPT0gMCkgeworCQluID0gc3ByaW50ZihkYXRhLCAi JWx1XG4iLCBwZC0+c3RhdHMucGt0X3N0YXJ0ZWQpOworCisJfSBlbHNlIGlmIChz dHJjbXAoYXR0ci0+bmFtZSwgInBhY2tldHNfZmluaXNoZWQiKSA9PSAwKSB7CisJ CW4gPSBzcHJpbnRmKGRhdGEsICIlbHVcbiIsIHBkLT5zdGF0cy5wa3RfZW5kZWQp OworCisJfSBlbHNlIGlmIChzdHJjbXAoYXR0ci0+bmFtZSwgImtiX3dyaXR0ZW4i KSA9PSAwKSB7CisJCW4gPSBzcHJpbnRmKGRhdGEsICIlbHVcbiIsIHBkLT5zdGF0 cy5zZWNzX3cgPj4gMSk7CisKKwl9IGVsc2UgaWYgKHN0cmNtcChhdHRyLT5uYW1l LCAia2JfcmVhZCIpID09IDApIHsKKwkJbiA9IHNwcmludGYoZGF0YSwgIiVsdVxu IiwgcGQtPnN0YXRzLnNlY3NfciA+PiAxKTsKKworCX0gZWxzZSBpZiAoc3RyY21w KGF0dHItPm5hbWUsICJrYl9yZWFkX2dhdGhlciIpID09IDApIHsKKwkJbiA9IHNw cmludGYoZGF0YSwgIiVsdVxuIiwgcGQtPnN0YXRzLnNlY3NfcmcgPj4gMSk7CisJ fQorCXJldHVybiBuOworfQorCitzdGF0aWMgc3NpemVfdCBrb2JqX3BrdF9zdG9y ZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCXN0cnVjdCBhdHRyaWJ1dGUgKmF0 dHIsCisJCQljb25zdCBjaGFyICpkYXRhLCBzaXplX3QgbGVuKQoreworCXN0cnVj dCBwa3RjZHZkX2RldmljZSAqcGQ7CisJREVDTEFSRV9CVUZfQVNfU1RSSU5HKGRi dWYsIGRhdGEsIGxlbik7IC8qIGVuc3VyZSBzc2NhbmYgc2NhbnMgYSBzdHJpbmcg Ki8KKworCXBkID0gdG9fcGt0Y2R2ZGtvYmooa29iaiktPnBkOworCisJaWYgKHN0 cmNtcChhdHRyLT5uYW1lLCAicmVzZXQiKSA9PSAwICYmIGRsZW4gPiAwKSB7CisJ CXBkLT5zdGF0cy5wa3Rfc3RhcnRlZCA9IDA7CisJCXBkLT5zdGF0cy5wa3RfZW5k ZWQgPSAwOworCQlwZC0+c3RhdHMuc2Vjc193ID0gMDsKKwkJcGQtPnN0YXRzLnNl Y3NfcmcgPSAwOworCQlwZC0+c3RhdHMuc2Vjc19yID0gMDsJCQorCX0KKwlyZXR1 cm4gbGVuOworfQorCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyBrb2JqX3BrdF9v cHMgPSB7CisJLnNob3cgPSBrb2JqX3BrdF9zaG93LAorCS5zdG9yZSA9IGtvYmpf cGt0X3N0b3JlCit9Oworc3RhdGljIHN0cnVjdCBrb2JqX3R5cGUga29ial9wa3Rf dHlwZV9zdGF0ID0geworCS5yZWxlYXNlID0gcGt0X2tvYmpfcmVsZWFzZSwKKwku c3lzZnNfb3BzID0gJmtvYmpfcGt0X29wcywKKwkuZGVmYXVsdF9hdHRycyA9IGtv YmpfcGt0X2F0dHJzX3N0YXQKK307CisKK3N0YXRpYyB2b2lkIHBrdF9zeXNmc19k ZXZfbmV3KHN0cnVjdCBwa3RjZHZkX2RldmljZSAqcGQpCit7CisJaWYgKGNsYXNz X3BrdGNkdmQpIHsKKwkJcGQtPmNsc2RldiA9IGNsYXNzX2RldmljZV9jcmVhdGUo Y2xhc3NfcGt0Y2R2ZCwKKwkJCQkJTlVMTCwgcGQtPnBrdF9kZXYsCisJCQkJCU5V TEwsICIlcyIsIHBkLT5uYW1lKTsKKwkJaWYgKElTX0VSUihwZC0+Y2xzZGV2KSkK KwkJCXBkLT5jbHNkZXYgPSBOVUxMOworCX0KKwlpZiAocGQtPmNsc2Rldikgewor CQlwZC0+a29ial9zdGF0ID0gcGt0X2tvYmpfY3JlYXRlKHBkLCAic3RhdCIsCisJ CQkJCSZwZC0+Y2xzZGV2LT5rb2JqLAorCQkJCQkma29ial9wa3RfdHlwZV9zdGF0 KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHBrdF9zeXNmc19kZXZfcmVtb3ZlKHN0 cnVjdCBwa3RjZHZkX2RldmljZSAqcGQpCit7CisJcGt0X2tvYmpfcmVtb3ZlKHBk LT5rb2JqX3N0YXQpOworCWlmIChjbGFzc19wa3RjZHZkKQorCQljbGFzc19kZXZp Y2VfZGVzdHJveShjbGFzc19wa3RjZHZkLCBwZC0+cGt0X2Rldik7Cit9CisKKwor LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqCisgIC9zeXMvY2xhc3MvcGt0Y2R2ZC8KKyAg ICAgICAgICAgICAgICAgICAgIGFkZCAgICAgICAgICAgIG1hcCBibG9jayBkZXZp Y2UKKyAgICAgICAgICAgICAgICAgICAgIHJlbW92ZSAgICAgICAgIHVubWFwIHBh Y2tldCBkZXYKKyAgICAgICAgICAgICAgICAgICAgIGRldmljZV9tYXAgICAgIHNo b3cgbWFwcGluZ3MKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9p ZCBjbGFzc19wa3RjZHZkX3JlbGVhc2Uoc3RydWN0IGNsYXNzICpjbHMpCit7CisJ a2ZyZWUoY2xzKTsKK30KK3N0YXRpYyBzc2l6ZV90IGNsYXNzX3BrdGNkdmRfc2hv d19tYXAoc3RydWN0IGNsYXNzICpjLCBjaGFyICpkYXRhKQoreworCWludCBuID0g MDsKKwlpbnQgaWR4OworCWRhdGFbMF0gPSAwOworCW11dGV4X2xvY2tfbmVzdGVk KCZjdGxfbXV0ZXgsIFNJTkdMRV9ERVBUSF9ORVNUSU5HKTsKKwlmb3IgKGlkeCA9 IDA7IGlkeCA8IE1BWF9XUklURVJTOyBpZHgrKykgeworCQlzdHJ1Y3QgcGt0Y2R2 ZF9kZXZpY2UgKnBkID0gcGt0X2RldnNbaWR4XTsKKwkJaWYgKCFwZCkKKwkJCWNv bnRpbnVlOworCQluICs9IHNwcmludGYoZGF0YStuLCAiJXMgJXU6JXUgJXU6JXVc biIsCisJCQlwZC0+bmFtZSwKKwkJCU1BSk9SKHBkLT5wa3RfZGV2KSwgTUlOT1Io cGQtPnBrdF9kZXYpLAorCQkJTUFKT1IocGQtPmJkZXYtPmJkX2RldiksCisJCQlN SU5PUihwZC0+YmRldi0+YmRfZGV2KSk7CisJfQorCW11dGV4X3VubG9jaygmY3Rs X211dGV4KTsKKwlyZXR1cm4gbjsKK30KKworc3RhdGljIHNzaXplX3QgY2xhc3Nf cGt0Y2R2ZF9zdG9yZV9hZGQoc3RydWN0IGNsYXNzICpjLCBjb25zdCBjaGFyICpi dWYsCisJCQkJCXNpemVfdCBjb3VudCkKK3sKKwl1bnNpZ25lZCBpbnQgbWFqb3Is IG1pbm9yOworCURFQ0xBUkVfQlVGX0FTX1NUUklORyhkYnVmLCBidWYsIGNvdW50 KTsKKwlpZiAoc3NjYW5mKGRidWYsICIldToldSIsICZtYWpvciwgJm1pbm9yKSA9 PSAyKSB7CisJCXBrdF9zZXR1cF9kZXYoTUtERVYobWFqb3IsIG1pbm9yKSwgTlVM TCk7CisJCXJldHVybiBjb3VudDsKKwl9CisJcmV0dXJuIC1FSU5WQUw7Cit9CisK K3N0YXRpYyBzc2l6ZV90IGNsYXNzX3BrdGNkdmRfc3RvcmVfcmVtb3ZlKHN0cnVj dCBjbGFzcyAqYywgY29uc3QgY2hhciAqYnVmLAorCQkJCQlzaXplX3QgY291bnQp Cit7CisJdW5zaWduZWQgaW50IG1ham9yLCBtaW5vcjsKKwlERUNMQVJFX0JVRl9B U19TVFJJTkcoZGJ1ZiwgYnVmLCBjb3VudCk7CisJaWYgKHNzY2FuZihkYnVmLCAi JXU6JXUiLCAmbWFqb3IsICZtaW5vcikgPT0gMikgeworCQlwa3RfcmVtb3ZlX2Rl dihNS0RFVihtYWpvciwgbWlub3IpKTsKKwkJcmV0dXJuIGNvdW50OworCX0KKwly ZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIHN0cnVjdCBjbGFzc19hdHRyaWJ1 dGUgY2xhc3NfcGt0Y2R2ZF9hdHRyc1tdID0geworIF9fQVRUUihhZGQsICAgICAg ICAgICAgMDIwMCwgTlVMTCwgY2xhc3NfcGt0Y2R2ZF9zdG9yZV9hZGQpLAorIF9f QVRUUihyZW1vdmUsICAgICAgICAgMDIwMCwgTlVMTCwgY2xhc3NfcGt0Y2R2ZF9z dG9yZV9yZW1vdmUpLAorIF9fQVRUUihkZXZpY2VfbWFwLCAgICAgMDQ0NCwgY2xh c3NfcGt0Y2R2ZF9zaG93X21hcCwgTlVMTCksCisgX19BVFRSX05VTEwKK307CisK Kworc3RhdGljIGludCBwa3Rfc3lzZnNfaW5pdCh2b2lkKQoreworCWludCByZXQg PSAwOworCQorCS8qCisJICogY3JlYXRlIGNvbnRyb2wgZmlsZXMgaW4gc3lzZnMK KwkgKiAvc3lzL2NsYXNzL3BrdGNkdmQvLi4uCisJICovCisJY2xhc3NfcGt0Y2R2 ZCA9IGt6YWxsb2Moc2l6ZW9mKCpjbGFzc19wa3RjZHZkKSwgR0ZQX0tFUk5FTCk7 CisJaWYgKCFjbGFzc19wa3RjZHZkKQorCQlyZXR1cm4gLUVOT01FTTsKKwljbGFz c19wa3RjZHZkLT5uYW1lID0gRFJJVkVSX05BTUU7CisJY2xhc3NfcGt0Y2R2ZC0+ b3duZXIgPSBUSElTX01PRFVMRTsKKwljbGFzc19wa3RjZHZkLT5jbGFzc19yZWxl YXNlID0gY2xhc3NfcGt0Y2R2ZF9yZWxlYXNlOworCWNsYXNzX3BrdGNkdmQtPmNs YXNzX2F0dHJzID0gY2xhc3NfcGt0Y2R2ZF9hdHRyczsKKwlyZXQgPSBjbGFzc19y ZWdpc3RlcihjbGFzc19wa3RjZHZkKTsKKwlpZiAocmV0KSB7CisJCWtmcmVlKGNs YXNzX3BrdGNkdmQpOworCQljbGFzc19wa3RjZHZkID0gTlVMTDsKKwkJcHJpbnRr KERSSVZFUl9OQU1FIjogZmFpbGVkIHRvIGNyZWF0ZSBjbGFzcyBwa3RjZHZkXG4i KTsKKwkJcmV0dXJuIHJldDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2 b2lkIHBrdF9zeXNmc19jbGVhbnVwKHZvaWQpCit7CisJaWYgKGNsYXNzX3BrdGNk dmQpCisJCWNsYXNzX2Rlc3Ryb3koY2xhc3NfcGt0Y2R2ZCk7CisJY2xhc3NfcGt0 Y2R2ZCA9IE5VTEw7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICBlbnRy aWVzIGluIGRlYnVnZnMKKworICAvZGVidWdmcy9wa3RjZHZkWzAtN10vCisJCQlp bmZvCisgIAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQgcGt0 X2RlYnVnZnNfc2VxX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpwKQor eworCXN0cnVjdCBwa3RjZHZkX2RldmljZSAqcGQgPSBtLT5wcml2YXRlOworCWNo YXIgYnVmWzEwMjRdOworCQorCXBrdF9wcmludF9pbmZvKHBkLCBidWYsIHNpemVv ZihidWYpKTsKKwlzZXFfcHJpbnRmKG0sICIlcyIsIGJ1Zik7CisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyBpbnQgcGt0X2RlYnVnZnNfZm9wc19vcGVuKHN0cnVjdCBp bm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5n bGVfb3BlbihmaWxlLCBwa3RfZGVidWdmc19zZXFfc2hvdywgaW5vZGUtPnUuZ2Vu ZXJpY19pcCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGRl YnVnX2ZvcHMgPSB7CisJLm9wZW4JCT0gcGt0X2RlYnVnZnNfZm9wc19vcGVuLAor CS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5y ZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCisJLm93bmVyCQk9IFRISVNfTU9EVUxF LAorfTsKKyAKK3N0YXRpYyB2b2lkIHBrdF9kZWJ1Z2ZzX2Rldl9uZXcoc3RydWN0 IHBrdGNkdmRfZGV2aWNlICpwZCkKK3sKKwlpZiAoIXBrdF9kZWJ1Z2ZzX3Jvb3Qp CisJCXJldHVybjsKKwlwZC0+ZGZzX2Rfcm9vdCA9IGRlYnVnZnNfY3JlYXRlX2Rp cihwZC0+bmFtZSwgcGt0X2RlYnVnZnNfcm9vdCk7CisJaWYgKElTX0VSUihwZC0+ ZGZzX2Rfcm9vdCkpIHsKKwkJcGQtPmRmc19kX3Jvb3QgPSBOVUxMOworCQlyZXR1 cm47CisJfQorCXBkLT5kZnNfZl9pbmZvID0gZGVidWdmc19jcmVhdGVfZmlsZSgi aW5mbyIsIFNfSVJVR08sCisJCQkJcGQtPmRmc19kX3Jvb3QsIHBkLCAmZGVidWdf Zm9wcyk7CisJaWYgKElTX0VSUihwZC0+ZGZzX2ZfaW5mbykpIHsKKwkJcGQtPmRm c19mX2luZm8gPSBOVUxMOworCQlyZXR1cm47CisJfQorfQorCitzdGF0aWMgdm9p ZCBwa3RfZGVidWdmc19kZXZfcmVtb3ZlKHN0cnVjdCBwa3RjZHZkX2RldmljZSAq cGQpCit7CisJaWYgKCFwa3RfZGVidWdmc19yb290KQorCQlyZXR1cm47CisJaWYg KHBkLT5kZnNfZl9pbmZvKQorCQlkZWJ1Z2ZzX3JlbW92ZShwZC0+ZGZzX2ZfaW5m byk7CisJcGQtPmRmc19mX2luZm8gPSBOVUxMOworCWlmIChwZC0+ZGZzX2Rfcm9v dCkKKwkJZGVidWdmc19yZW1vdmUocGQtPmRmc19kX3Jvb3QpOworCXBkLT5kZnNf ZF9yb290ID0gTlVMTDsKK30KKworc3RhdGljIHZvaWQgcGt0X2RlYnVnZnNfaW5p dCh2b2lkKQoreworCXBrdF9kZWJ1Z2ZzX3Jvb3QgPSBkZWJ1Z2ZzX2NyZWF0ZV9k aXIoRFJJVkVSX05BTUUsIE5VTEwpOworCWlmIChJU19FUlIocGt0X2RlYnVnZnNf cm9vdCkpIHsKKwkJcGt0X2RlYnVnZnNfcm9vdCA9IE5VTEw7CisJCXJldHVybjsK Kwl9Cit9CisKK3N0YXRpYyB2b2lkIHBrdF9kZWJ1Z2ZzX2NsZWFudXAodm9pZCkK K3sKKwlpZiAoIXBrdF9kZWJ1Z2ZzX3Jvb3QpCisJCXJldHVybjsKKwlkZWJ1Z2Zz X3JlbW92ZShwa3RfZGVidWdmc19yb290KTsKKwlwa3RfZGVidWdmc19yb290ID0g TlVMTDsKK30KKworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIHN0YXRpYyB2b2lk IHBrdF9iaW9fZmluaXNoZWQoc3RydWN0IHBrdGNkdmRfZGV2aWNlICpwZCkKQEAg LTI1MzYsNiArMjg4NSw5IEBAIHN0YXRpYyBpbnQgcGt0X3NldHVwX2RldihkZXZf dCBkZXYsIGRldl8KIAkJZ290byBvdXRfbmV3X2RldjsKIAogCWFkZF9kaXNrKGRp c2spOworCQorCXBrdF9zeXNmc19kZXZfbmV3KHBkKTsKKwlwa3RfZGVidWdmc19k ZXZfbmV3KHBkKTsKIAogCXBrdF9kZXZzW2lkeF0gPSBwZDsKIAlpZiAocGt0X2Rl dikKQEAgLTI1ODcsNiArMjkzOSwxMSBAQCBzdGF0aWMgaW50IHBrdF9yZW1vdmVf ZGV2KGRldl90IHBrdF9kZXYpCiAJaWYgKCFJU19FUlIocGQtPmNkcncudGhyZWFk KSkKIAkJa3RocmVhZF9zdG9wKHBkLT5jZHJ3LnRocmVhZCk7CiAKKwlwa3RfZGV2 c1tpZHhdID0gTlVMTDsKKworCXBrdF9kZWJ1Z2ZzX2Rldl9yZW1vdmUocGQpOwor CXBrdF9zeXNmc19kZXZfcmVtb3ZlKHBkKTsKKwogCWJsa2Rldl9wdXQocGQtPmJk ZXYpOwogCiAJcmVtb3ZlX3Byb2NfZW50cnkocGQtPm5hbWUsIHBrdF9wcm9jKTsK QEAgLTI1OTYsNyArMjk1Myw2IEBAIHN0YXRpYyBpbnQgcGt0X3JlbW92ZV9kZXYo ZGV2X3QgcGt0X2RldikKIAlibGtfY2xlYW51cF9xdWV1ZShwZC0+ZGlzay0+cXVl dWUpOwogCXB1dF9kaXNrKHBkLT5kaXNrKTsKIAotCXBrdF9kZXZzW2lkeF0gPSBO VUxMOwogCW1lbXBvb2xfZGVzdHJveShwZC0+cmJfcG9vbCk7CiAJa2ZyZWUocGQp OwogCkBAIC0yNjgwLDYgKzMwMzYsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwa3Rf aW5pdCh2b2lkKQogewogCWludCByZXQ7CiAKKwltdXRleF9pbml0KCZjdGxfbXV0 ZXgpOworCiAJcHNkX3Bvb2wgPSBtZW1wb29sX2NyZWF0ZV9rbWFsbG9jX3Bvb2wo UFNEX1BPT0xfU0laRSwKIAkJCQkJc2l6ZW9mKHN0cnVjdCBwYWNrZXRfc3RhY2tl ZF9kYXRhKSk7CiAJaWYgKCFwc2RfcG9vbCkKQEAgLTI2OTMsMTggKzMwNTEsMjUg QEAgc3RhdGljIGludCBfX2luaXQgcGt0X2luaXQodm9pZCkKIAlpZiAoIXBrdGRl dl9tYWpvcikKIAkJcGt0ZGV2X21ham9yID0gcmV0OwogCisJcmV0ID0gcGt0X3N5 c2ZzX2luaXQoKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCXBrdF9kZWJ1 Z2ZzX2luaXQoKTsKKwogCXJldCA9IG1pc2NfcmVnaXN0ZXIoJnBrdF9taXNjKTsK IAlpZiAocmV0KSB7CiAJCXByaW50ayhEUklWRVJfTkFNRSI6IFVuYWJsZSB0byBy ZWdpc3RlciBtaXNjIGRldmljZVxuIik7Ci0JCWdvdG8gb3V0OworCQlnb3RvIG91 dF9taXNjOwogCX0KIAotCW11dGV4X2luaXQoJmN0bF9tdXRleCk7Ci0KIAlwa3Rf cHJvYyA9IHByb2NfbWtkaXIoRFJJVkVSX05BTUUsIHByb2Nfcm9vdF9kcml2ZXIp OwogCiAJcmV0dXJuIDA7CiAKK291dF9taXNjOgorCXBrdF9kZWJ1Z2ZzX2NsZWFu dXAoKTsKKwlwa3Rfc3lzZnNfY2xlYW51cCgpOwogb3V0OgogCXVucmVnaXN0ZXJf YmxrZGV2KHBrdGRldl9tYWpvciwgRFJJVkVSX05BTUUpOwogb3V0MjoKQEAgLTI3 MTYsMTIgKzMwODEsMTcgQEAgc3RhdGljIHZvaWQgX19leGl0IHBrdF9leGl0KHZv aWQpCiB7CiAJcmVtb3ZlX3Byb2NfZW50cnkoRFJJVkVSX05BTUUsIHByb2Nfcm9v dF9kcml2ZXIpOwogCW1pc2NfZGVyZWdpc3RlcigmcGt0X21pc2MpOworCQorCXBr dF9kZWJ1Z2ZzX2NsZWFudXAoKTsKKwlwa3Rfc3lzZnNfY2xlYW51cCgpOworCQog CXVucmVnaXN0ZXJfYmxrZGV2KHBrdGRldl9tYWpvciwgRFJJVkVSX05BTUUpOwog CW1lbXBvb2xfZGVzdHJveShwc2RfcG9vbCk7CiB9CiAKIE1PRFVMRV9ERVNDUklQ VElPTigiUGFja2V0IHdyaXRpbmcgbGF5ZXIgZm9yIENEL0RWRCBkcml2ZXMiKTsK LU1PRFVMRV9BVVRIT1IoIkplbnMgQXhib2UgPGF4Ym9lQHN1c2UuZGU+Iik7CitN T0RVTEVfQVVUSE9SKCJKZW5zIEF4Ym9lIDxheGJvZUBzdXNlLmRlPixQZXRlciBP c3Rlcmx1bmQgPHBldGVybzJAdGVsaWEuY29tPiwiCisgICAgICAgICAgICAgICJU aG9tYXMgTWFpZXIgPGJhbGFnaUBqdXN0bWFpbC5kZT4iKTsKIE1PRFVMRV9MSUNF TlNFKCJHUEwiKTsKIAogbW9kdWxlX2luaXQocGt0X2luaXQpOwpkaWZmIC11cnBO IDUtcHJpbnQtaW5mby9pbmNsdWRlL2xpbnV4L3BrdGNkdmQuaCA2LXN5c2ZzL2lu Y2x1ZGUvbGludXgvcGt0Y2R2ZC5oCi0tLSA1LXByaW50LWluZm8vaW5jbHVkZS9s aW51eC9wa3RjZHZkLmgJMjAwNi0xMC0wMyAxMToyNzoxMi4wMDAwMDAwMDAgKzAy MDAKKysrIDYtc3lzZnMvaW5jbHVkZS9saW51eC9wa3RjZHZkLmgJMjAwNi0xMC0w MyAxMjo1NDo0MS4wMDAwMDAwMDAgKzAyMDAKQEAgLTExMSw2ICsxMTEsOCBAQCBz dHJ1Y3QgcGt0X2N0cmxfY29tbWFuZCB7CiAjaW5jbHVkZSA8bGludXgvYmxrZGV2 Lmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxp bnV4L2Nkcm9tLmg+CisjaW5jbHVkZSA8bGludXgva29iamVjdC5oPgorI2luY2x1 ZGUgPGxpbnV4L3N5c2ZzLmg+CiAKIHN0cnVjdCBwYWNrZXRfc2V0dGluZ3MKIHsK QEAgLTI0MSw2ICsyNDMsMTUgQEAgc3RydWN0IHBhY2tldF9zdGFja2VkX2RhdGEK IH07CiAjZGVmaW5lIFBTRF9QT09MX1NJWkUJCTY0CiAKKworc3RydWN0IHBrdGNk dmRfa29iagoreworCXN0cnVjdCBrb2JqZWN0CQlrb2JqOworCXN0cnVjdCBwa3Rj ZHZkX2RldmljZQkqcGQ7Cit9OworI2RlZmluZSB0b19wa3RjZHZka29iaihfaykg XAorICAoKHN0cnVjdCBwa3RjZHZkX2tvYmoqKWNvbnRhaW5lcl9vZihfayxzdHJ1 Y3QgcGt0Y2R2ZF9rb2JqLGtvYmopKQorCiBzdHJ1Y3QgcGt0Y2R2ZF9kZXZpY2UK IHsKIAlzdHJ1Y3QgYmxvY2tfZGV2aWNlCSpiZGV2OwkJLyogZGV2IGF0dGFjaGVk ICovCkBAIC0yNzEsNiArMjgyLDEzIEBAIHN0cnVjdCBwa3RjZHZkX2RldmljZQog CiAJc3RydWN0IHBhY2tldF9pb3NjaGVkICAgaW9zY2hlZDsKIAlzdHJ1Y3QgZ2Vu ZGlzawkJKmRpc2s7CisJCisJc3RydWN0IGNsYXNzX2RldmljZQkqY2xzZGV2Owkv KiBzeXNmcyBwa3RjZHZkWzAtN10gY2xhc3MgZGV2ICovIAorCXN0cnVjdCBwa3Rj ZHZkX2tvYmoJKmtvYmpfc3RhdDsJLyogc3lzZnMgcGt0Y2R2ZFswLTddL3N0YXQv ICAgICAqLworCXN0cnVjdCBwa3RjZHZkX2tvYmoJKmtvYmpfd3F1ZXVlOwkvKiBz eXNmcyBwa3RjZHZkWzAtN10vd3JpdGVfcXVldWUvICovCisJCisJc3RydWN0IGRl bnRyeQkJKmRmc19kX3Jvb3Q7CS8qIGRlYnVnZnM6IGRldm5hbWUgZGlyZWN0b3J5 ICovCisJc3RydWN0IGRlbnRyeQkJKmRmc19mX2luZm87CS8qIGRlYnVnZnM6IGlu Zm8gZmlsZSAqLwogfTsKIAogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8K ------------3RytjZkLpsH3YH0d2aL8GE--