From mboxrd@z Thu Jan 1 00:00:00 1970 From: "saeed bishara" Subject: Re: [PATCH 1/2] [libata] sata_mv: Remove PCI dependency Date: Wed, 16 Jan 2008 18:17:05 +0200 Message-ID: References: <11966101971581-git-send-email-saeed.bishara@gmail.com> <1196610199229-git-send-email-saeed.bishara@gmail.com> <47684270.5030405@garzik.org> <478DD615.1050309@garzik.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_25963_29481420.1200500225890" Return-path: Received: from wa-out-1112.google.com ([209.85.146.179]:6629 "EHLO wa-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751308AbYAPQRH (ORCPT ); Wed, 16 Jan 2008 11:17:07 -0500 Received: by wa-out-1112.google.com with SMTP id v27so508871wah.23 for ; Wed, 16 Jan 2008 08:17:05 -0800 (PST) In-Reply-To: <478DD615.1050309@garzik.org> Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Jeff Garzik Cc: linux-ide@vger.kernel.org, Saeed Bishara , Mark Lord ------=_Part_25963_29481420.1200500225890 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 1/16/08, Jeff Garzik wrote: > saeed bishara wrote: > > - if (unlikely(irq_stat & PCI_ERR)) { > > + if (unlikely(irq_stat & PCI_ERR) && HAS_PCI(host)) { > > mv_pci_error(host, mmio); > > handled = 1; > > goto out_unlock; /* skip all other HC irq handling */ > > the unlikely() should cover the entire expression. this will be applied into the new patch > > > > > static int __init mv_init(void) > > { > > - return pci_register_driver(&mv_pci_driver); > > + int rc; > > +#ifdef CONFIG_PCI > > + rc = pci_register_driver(&mv_pci_driver); > > + if (rc) > > + return rc; > > +#endif > > + return 0; > > } > > I would do > > { > int rc = -ENODEV; > > #ifdef CONFIG_PCI > rc = pci_register_driver(...); > #endif > > return rc; > } ditto > > to ensure sane non-SoC, non-PCI behavior (which this patch now enables). > > Finally, in Kconfig, even when removing the CONFIG_PCI dependency, the > driver suddenly has other unsatified dependencies: CONFIG_HAS_DMA and > CONFIG_HAS_IOMEM. Those two need to be added to the Kconfig dep list. but ATA is already depends on HAS_IOMEM! so it's not needed by the driver's entry. > > I would have made these minor corrections myself, but git-am (main > kernel patch-apply tool, for git users) doesn't seem to like the patch: > > Applying sata_mv: Remove PCI dependency > > fatal: corrupt patch at line 59 I attached the new patch ------=_Part_25963_29481420.1200500225890 Content-Type: application/octet-stream; name=0001-sata_mv-Remove-PCI-dependency.patch Content-Transfer-Encoding: base64 X-Attachment-Id: file0 Content-Disposition: attachment; filename=0001-sata_mv-Remove-PCI-dependency.patch RnJvbSBjNWY1YWY3ZjJlZWQyZmU0MmUyODM3NDI1N2I5ODM5MjJkZmQzZGI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYWVlZCBCaXNoYXJhIDxzYWVlZEBtYXJ2ZWxsLmNvbT4KRGF0 ZTogU3VuLCAyIERlYyAyMDA3IDEwOjQzOjEwICswMjAwClN1YmplY3Q6IFtQQVRDSF0gc2F0YV9t djogUmVtb3ZlIFBDSSBkZXBlbmRlbmN5CgpUaGUgaW50ZWdyYXRlZCBTQVRBIGNvbnRyb2xsZXIg aXMgY29ubmVjdGVkIGRpcmVjdGx5IHRvIHRoZSBTb0MncwppbnRlcm5hbCBidXMsIG5vdCB2aWEg UENJIGludGVyZmFjZS4gdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBkZXBlbmRlbmN5Cm9uIHRoZSBQ Q0kgaW50ZXJmYWNlLgoKU2lnbmVkLW9mZi1ieTogU2FlZWQgQmlzaGFyYSA8c2FlZWRAbWFydmVs bC5jb20+Ci0tLQogZHJpdmVycy9hdGEvS2NvbmZpZyAgIHwgICAgMiArLQogZHJpdmVycy9hdGEv c2F0YV9tdi5jIHwgIDEzMSArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgNTggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvS2NvbmZpZyBiL2RyaXZlcnMvYXRhL0tjb25m aWcKaW5kZXggYmE2MzYxOS4uYzYwODQyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvS2NvbmZp ZworKysgYi9kcml2ZXJzL2F0YS9LY29uZmlnCkBAIC02OSw3ICs2OSw3IEBAIGNvbmZpZyBBVEFf UElJWAogCiBjb25maWcgU0FUQV9NVgogCXRyaXN0YXRlICJNYXJ2ZWxsIFNBVEEgc3VwcG9ydCAo SElHSExZIEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiBQQ0kgJiYgRVhQRVJJTUVOVEFMCisJ ZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKIAloZWxwCiAJICBUaGlzIG9wdGlvbiBlbmFibGVzIHN1 cHBvcnQgZm9yIHRoZSBNYXJ2ZWxsIFNlcmlhbCBBVEEgZmFtaWx5LgogCSAgQ3VycmVudGx5IHN1 cHBvcnRzIDg4U1hbNTZdMFs0OF1bMDFdIGNoaXBzLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEv c2F0YV9tdi5jIGIvZHJpdmVycy9hdGEvc2F0YV9tdi5jCmluZGV4IGE0M2Y2NGQuLjliMGQ1OTAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL3NhdGFfbXYuYworKysgYi9kcml2ZXJzL2F0YS9zYXRh X212LmMKQEAgLTEyNSw2ICsxMjUsOSBAQCBlbnVtIHsKIAkvKiBIb3N0IEZsYWdzICovCiAJTVZf RkxBR19EVUFMX0hDCQk9ICgxIDw8IDMwKSwgIC8qIHR3byBTQVRBIEhvc3QgQ29udHJvbGxlcnMg Ki8KIAlNVl9GTEFHX0lSUV9DT0FMRVNDRQk9ICgxIDw8IDI5KSwgIC8qIElSUSBjb2FsZXNjaW5n IGNhcGFiaWxpdHkgKi8KKwkvKiBTb0MgaW50ZWdyYXRlZCBjb250cm9sbGVycywgbm8gUENJIGlu dGVyZmFjZSAqLworCU1WX0ZMQUdfU09DID0gKDEgPDwgMjgpLAorCiAJTVZfQ09NTU9OX0ZMQUdT CQk9IEFUQV9GTEFHX1NBVEEgfCBBVEFfRkxBR19OT19MRUdBQ1kgfAogCQkJCSAgQVRBX0ZMQUdf TU1JTyB8IEFUQV9GTEFHX05PX0FUQVBJIHwKIAkJCQkgIEFUQV9GTEFHX1BJT19QT0xMSU5HLApA QCAtMzEyLDYgKzMxNSw3IEBAIGVudW0gewogI2RlZmluZSBJU19HRU5fSShocHJpdikgKChocHJp diktPmhwX2ZsYWdzICYgTVZfSFBfR0VOX0kpCiAjZGVmaW5lIElTX0dFTl9JSShocHJpdikgKCho cHJpdiktPmhwX2ZsYWdzICYgTVZfSFBfR0VOX0lJKQogI2RlZmluZSBJU19HRU5fSUlFKGhwcml2 KSAoKGhwcml2KS0+aHBfZmxhZ3MgJiBNVl9IUF9HRU5fSUlFKQorI2RlZmluZSBIQVNfUENJKGhv c3QpICghKChob3N0KS0+cG9ydHNbMF0tPmZsYWdzICYgTVZfRkxBR19TT0MpKQogCiBlbnVtIHsK IAkvKiBETUEgYm91bmRhcnkgMHhmZmZmIGlzIHJlcXVpcmVkIGJ5IHRoZSBzL2cgc3BsaXR0aW5n CkBAIC0zOTgsNyArNDAyLDcgQEAgc3RydWN0IG12X2h3X29wcyB7CiAJaW50ICgqcmVzZXRfaGMp KHN0cnVjdCBtdl9ob3N0X3ByaXYgKmhwcml2LCB2b2lkIF9faW9tZW0gKm1taW8sCiAJCQl1bnNp Z25lZCBpbnQgbl9oYyk7CiAJdm9pZCAoKnJlc2V0X2ZsYXNoKShzdHJ1Y3QgbXZfaG9zdF9wcml2 ICpocHJpdiwgdm9pZCBfX2lvbWVtICptbWlvKTsKLQl2b2lkICgqcmVzZXRfYnVzKShzdHJ1Y3Qg cGNpX2RldiAqcGRldiwgdm9pZCBfX2lvbWVtICptbWlvKTsKKwl2b2lkICgqcmVzZXRfYnVzKShz dHJ1Y3QgYXRhX2hvc3QgKmhvc3QsIHZvaWQgX19pb21lbSAqbW1pbyk7CiB9OwogCiBzdHJ1Y3Qg bXZfaG9zdF9wcml2IHsKQEAgLTQyMSw3ICs0MjUsNiBAQCBzdGF0aWMgdm9pZCBtdl9lcnJvcl9o YW5kbGVyKHN0cnVjdCBhdGFfcG9ydCAqYXApOwogc3RhdGljIHZvaWQgbXZfcG9zdF9pbnRfY21k KHN0cnVjdCBhdGFfcXVldWVkX2NtZCAqcWMpOwogc3RhdGljIHZvaWQgbXZfZWhfZnJlZXplKHN0 cnVjdCBhdGFfcG9ydCAqYXApOwogc3RhdGljIHZvaWQgbXZfZWhfdGhhdyhzdHJ1Y3QgYXRhX3Bv cnQgKmFwKTsKLXN0YXRpYyBpbnQgbXZfaW5pdF9vbmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGNv bnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpOwogCiBzdGF0aWMgdm9pZCBtdjVfcGh5X2Vy cmF0YShzdHJ1Y3QgbXZfaG9zdF9wcml2ICpocHJpdiwgdm9pZCBfX2lvbWVtICptbWlvLAogCQkJ ICAgdW5zaWduZWQgaW50IHBvcnQpOwpAQCAtNDMxLDcgKzQzNCw3IEBAIHN0YXRpYyB2b2lkIG12 NV9yZWFkX3ByZWFtcChzdHJ1Y3QgbXZfaG9zdF9wcml2ICpocHJpdiwgaW50IGlkeCwKIHN0YXRp YyBpbnQgbXY1X3Jlc2V0X2hjKHN0cnVjdCBtdl9ob3N0X3ByaXYgKmhwcml2LCB2b2lkIF9faW9t ZW0gKm1taW8sCiAJCQl1bnNpZ25lZCBpbnQgbl9oYyk7CiBzdGF0aWMgdm9pZCBtdjVfcmVzZXRf Zmxhc2goc3RydWN0IG12X2hvc3RfcHJpdiAqaHByaXYsIHZvaWQgX19pb21lbSAqbW1pbyk7Ci1z dGF0aWMgdm9pZCBtdjVfcmVzZXRfYnVzKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCB2b2lkIF9faW9t ZW0gKm1taW8pOworc3RhdGljIHZvaWQgbXY1X3Jlc2V0X2J1cyhzdHJ1Y3QgYXRhX2hvc3QgKmhv c3QsIHZvaWQgX19pb21lbSAqbW1pbyk7CiAKIHN0YXRpYyB2b2lkIG12Nl9waHlfZXJyYXRhKHN0 cnVjdCBtdl9ob3N0X3ByaXYgKmhwcml2LCB2b2lkIF9faW9tZW0gKm1taW8sCiAJCQkgICB1bnNp Z25lZCBpbnQgcG9ydCk7CkBAIC00NDEsNyArNDQ0LDcgQEAgc3RhdGljIHZvaWQgbXY2X3JlYWRf cHJlYW1wKHN0cnVjdCBtdl9ob3N0X3ByaXYgKmhwcml2LCBpbnQgaWR4LAogc3RhdGljIGludCBt djZfcmVzZXRfaGMoc3RydWN0IG12X2hvc3RfcHJpdiAqaHByaXYsIHZvaWQgX19pb21lbSAqbW1p bywKIAkJCXVuc2lnbmVkIGludCBuX2hjKTsKIHN0YXRpYyB2b2lkIG12Nl9yZXNldF9mbGFzaChz dHJ1Y3QgbXZfaG9zdF9wcml2ICpocHJpdiwgdm9pZCBfX2lvbWVtICptbWlvKTsKLXN0YXRpYyB2 b2lkIG12X3Jlc2V0X3BjaV9idXMoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHZvaWQgX19pb21lbSAq bW1pbyk7CitzdGF0aWMgdm9pZCBtdl9yZXNldF9wY2lfYnVzKHN0cnVjdCBhdGFfaG9zdCAqaG9z dCwgdm9pZCBfX2lvbWVtICptbWlvKTsKIHN0YXRpYyB2b2lkIG12X2NoYW5uZWxfcmVzZXQoc3Ry dWN0IG12X2hvc3RfcHJpdiAqaHByaXYsIHZvaWQgX19pb21lbSAqbW1pbywKIAkJCSAgICAgdW5z aWduZWQgaW50IHBvcnRfbm8pOwogCkBAIC02MzksMTMgKzY0Miw2IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgcGNpX2RldmljZV9pZCBtdl9wY2lfdGJsW10gPSB7CiAJeyB9CQkJLyogdGVybWluYXRl IGxpc3QgKi8KIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBtdl9wY2lfZHJpdmVyID0g ewotCS5uYW1lCQkJPSBEUlZfTkFNRSwKLQkuaWRfdGFibGUJCT0gbXZfcGNpX3RibCwKLQkucHJv YmUJCQk9IG12X2luaXRfb25lLAotCS5yZW1vdmUJCQk9IGF0YV9wY2lfcmVtb3ZlX29uZSwKLX07 Ci0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXZfaHdfb3BzIG12NXh4eF9vcHMgPSB7CiAJLnBoeV9l cnJhdGEJCT0gbXY1X3BoeV9lcnJhdGEsCiAJLmVuYWJsZV9sZWRzCQk9IG12NV9lbmFibGVfbGVk cywKQEAgLTY2NSw0NSArNjYxLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdl9od19vcHMgbXY2 eHh4X29wcyA9IHsKIH07CiAKIC8qCi0gKiBtb2R1bGUgb3B0aW9ucwotICovCi1zdGF0aWMgaW50 IG1zaTsJICAgICAgLyogVXNlIFBDSSBtc2k7IGVpdGhlciB6ZXJvIChvZmYsIGRlZmF1bHQpIG9y IG5vbi16ZXJvICovCi0KLQotLyogbW92ZSB0byBQQ0kgbGF5ZXIgb3IgbGliYXRhIGNvcmU/ICov Ci1zdGF0aWMgaW50IHBjaV9nb182NChzdHJ1Y3QgcGNpX2RldiAqcGRldikKLXsKLQlpbnQgcmM7 Ci0KLQlpZiAoIXBjaV9zZXRfZG1hX21hc2socGRldiwgRE1BXzY0QklUX01BU0spKSB7Ci0JCXJj ID0gcGNpX3NldF9jb25zaXN0ZW50X2RtYV9tYXNrKHBkZXYsIERNQV82NEJJVF9NQVNLKTsKLQkJ aWYgKHJjKSB7Ci0JCQlyYyA9IHBjaV9zZXRfY29uc2lzdGVudF9kbWFfbWFzayhwZGV2LCBETUFf MzJCSVRfTUFTSyk7Ci0JCQlpZiAocmMpIHsKLQkJCQlkZXZfcHJpbnRrKEtFUk5fRVJSLCAmcGRl di0+ZGV2LAotCQkJCQkgICAiNjQtYml0IERNQSBlbmFibGUgZmFpbGVkXG4iKTsKLQkJCQlyZXR1 cm4gcmM7Ci0JCQl9Ci0JCX0KLQl9IGVsc2UgewotCQlyYyA9IHBjaV9zZXRfZG1hX21hc2socGRl diwgRE1BXzMyQklUX01BU0spOwotCQlpZiAocmMpIHsKLQkJCWRldl9wcmludGsoS0VSTl9FUlIs ICZwZGV2LT5kZXYsCi0JCQkJICAgIjMyLWJpdCBETUEgZW5hYmxlIGZhaWxlZFxuIik7Ci0JCQly ZXR1cm4gcmM7Ci0JCX0KLQkJcmMgPSBwY2lfc2V0X2NvbnNpc3RlbnRfZG1hX21hc2socGRldiwg RE1BXzMyQklUX01BU0spOwotCQlpZiAocmMpIHsKLQkJCWRldl9wcmludGsoS0VSTl9FUlIsICZw ZGV2LT5kZXYsCi0JCQkJICAgIjMyLWJpdCBjb25zaXN0ZW50IERNQSBlbmFibGUgZmFpbGVkXG4i KTsKLQkJCXJldHVybiByYzsKLQkJfQotCX0KLQotCXJldHVybiByYzsKLX0KLQotLyoKICAqIEZ1 bmN0aW9ucwogICovCiAKQEAgLTE3MTcsNyArMTY3NCw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBt dl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2luc3RhbmNlKQogCW5faGNzID0gbXZfZ2V0 X2hjX2NvdW50KGhvc3QtPnBvcnRzWzBdLT5mbGFncyk7CiAJc3Bpbl9sb2NrKCZob3N0LT5sb2Nr KTsKIAotCWlmICh1bmxpa2VseShpcnFfc3RhdCAmIFBDSV9FUlIpKSB7CisJaWYgKHVubGlrZWx5 KChpcnFfc3RhdCAmIFBDSV9FUlIpICYmIEhBU19QQ0koaG9zdCkpKSB7CiAJCW12X3BjaV9lcnJv cihob3N0LCBtbWlvKTsKIAkJaGFuZGxlZCA9IDE7CiAJCWdvdG8gb3V0X3VubG9jazsJLyogc2tp cCBhbGwgb3RoZXIgSEMgaXJxIGhhbmRsaW5nICovCkBAIC0xNzg4LDggKzE3NDUsOSBAQCBzdGF0 aWMgaW50IG12NV9zY3Jfd3JpdGUoc3RydWN0IGF0YV9wb3J0ICphcCwgdW5zaWduZWQgaW50IHNj X3JlZ19pbiwgdTMyIHZhbCkKIAkJcmV0dXJuIC1FSU5WQUw7CiB9CiAKLXN0YXRpYyB2b2lkIG12 NV9yZXNldF9idXMoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHZvaWQgX19pb21lbSAqbW1pbykKK3N0 YXRpYyB2b2lkIG12NV9yZXNldF9idXMoc3RydWN0IGF0YV9ob3N0ICpob3N0LCB2b2lkIF9faW9t ZW0gKm1taW8pCiB7CisJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSB0b19wY2lfZGV2KGhvc3QtPmRl dik7CiAJaW50IGVhcmx5XzUwODA7CiAKIAllYXJseV81MDgwID0gKHBkZXYtPmRldmljZSA9PSAw eDUwODApICYmIChwZGV2LT5yZXZpc2lvbiA9PSAwKTsKQEAgLTE4MDAsNyArMTc1OCw3IEBAIHN0 YXRpYyB2b2lkIG12NV9yZXNldF9idXMoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHZvaWQgX19pb21l bSAqbW1pbykKIAkJd3JpdGVsKHRtcCwgbW1pbyArIE1WX1BDSV9FWFBfUk9NX0JBUl9DVEwpOwog CX0KIAotCW12X3Jlc2V0X3BjaV9idXMocGRldiwgbW1pbyk7CisJbXZfcmVzZXRfcGNpX2J1cyho b3N0LCBtbWlvKTsKIH0KIAogc3RhdGljIHZvaWQgbXY1X3Jlc2V0X2ZsYXNoKHN0cnVjdCBtdl9o b3N0X3ByaXYgKmhwcml2LCB2b2lkIF9faW9tZW0gKm1taW8pCkBAIC0xOTI0LDcgKzE4ODIsNyBA QCBzdGF0aWMgaW50IG12NV9yZXNldF9oYyhzdHJ1Y3QgbXZfaG9zdF9wcml2ICpocHJpdiwgdm9p ZCBfX2lvbWVtICptbWlvLAogCiAjdW5kZWYgWkVSTwogI2RlZmluZSBaRVJPKHJlZykgd3JpdGVs KDAsIG1taW8gKyAocmVnKSkKLXN0YXRpYyB2b2lkIG12X3Jlc2V0X3BjaV9idXMoc3RydWN0IHBj aV9kZXYgKnBkZXYsIHZvaWQgX19pb21lbSAqbW1pbykKK3N0YXRpYyB2b2lkIG12X3Jlc2V0X3Bj aV9idXMoc3RydWN0IGF0YV9ob3N0ICpob3N0LCB2b2lkIF9faW9tZW0gKm1taW8pCiB7CiAJdTMy IHRtcDsKIApAQCAtMjUzNCw3ICsyNDkyLDYgQEAgc3RhdGljIGludCBtdl9jaGlwX2lkKHN0cnVj dCBhdGFfaG9zdCAqaG9zdCwgdW5zaWduZWQgaW50IGJvYXJkX2lkeCkKIHN0YXRpYyBpbnQgbXZf aW5pdF9ob3N0KHN0cnVjdCBhdGFfaG9zdCAqaG9zdCwgdW5zaWduZWQgaW50IGJvYXJkX2lkeCkK IHsKIAlpbnQgcmMgPSAwLCBuX2hjLCBwb3J0LCBoYzsKLQlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9 IHRvX3BjaV9kZXYoaG9zdC0+ZGV2KTsKIAl2b2lkIF9faW9tZW0gKm1taW8gPSBob3N0LT5pb21h cFtNVl9QUklNQVJZX0JBUl07CiAJc3RydWN0IG12X2hvc3RfcHJpdiAqaHByaXYgPSBob3N0LT5w cml2YXRlX2RhdGE7CiAKQEAgLTI1NTUsNyArMjUxMiw3IEBAIHN0YXRpYyBpbnQgbXZfaW5pdF9o b3N0KHN0cnVjdCBhdGFfaG9zdCAqaG9zdCwgdW5zaWduZWQgaW50IGJvYXJkX2lkeCkKIAkJZ290 byBkb25lOwogCiAJaHByaXYtPm9wcy0+cmVzZXRfZmxhc2goaHByaXYsIG1taW8pOwotCWhwcml2 LT5vcHMtPnJlc2V0X2J1cyhwZGV2LCBtbWlvKTsKKwlocHJpdi0+b3BzLT5yZXNldF9idXMoaG9z dCwgbW1pbyk7CiAJaHByaXYtPm9wcy0+ZW5hYmxlX2xlZHMoaHByaXYsIG1taW8pOwogCiAJZm9y IChwb3J0ID0gMDsgcG9ydCA8IGhvc3QtPm5fcG9ydHM7IHBvcnQrKykgewpAQCAtMjU3OCw4ICsy NTM1LDEwIEBAIHN0YXRpYyBpbnQgbXZfaW5pdF9ob3N0KHN0cnVjdCBhdGFfaG9zdCAqaG9zdCwg dW5zaWduZWQgaW50IGJvYXJkX2lkeCkKIAogCQltdl9wb3J0X2luaXQoJmFwLT5pb2FkZHIsIHBv cnRfbW1pbyk7CiAKKyNpZmRlZiBDT05GSUdfUENJCiAJCWF0YV9wb3J0X3BiYXJfZGVzYyhhcCwg TVZfUFJJTUFSWV9CQVIsIC0xLCAibW1pbyIpOwogCQlhdGFfcG9ydF9wYmFyX2Rlc2MoYXAsIE1W X1BSSU1BUllfQkFSLCBvZmZzZXQsICJwb3J0Iik7CisjZW5kaWYKIAl9CiAKIAlmb3IgKGhjID0g MDsgaGMgPCBuX2hjOyBoYysrKSB7CkBAIC0yNjE2LDYgKzI1NzUsNTUgQEAgZG9uZToKIAlyZXR1 cm4gcmM7CiB9CiAKKyNpZmRlZiBDT05GSUdfUENJCitzdGF0aWMgaW50IG12X2luaXRfb25lKHN0 cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KTsKKwor c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIG12X3BjaV9kcml2ZXIgPSB7CisJLm5hbWUJCQk9IERS Vl9OQU1FLAorCS5pZF90YWJsZQkJPSBtdl9wY2lfdGJsLAorCS5wcm9iZQkJCT0gbXZfaW5pdF9v bmUsCisJLnJlbW92ZQkJCT0gYXRhX3BjaV9yZW1vdmVfb25lLAorfTsKKworLyoKKyAqIG1vZHVs ZSBvcHRpb25zCisgKi8KK3N0YXRpYyBpbnQgbXNpOwkgICAgICAvKiBVc2UgUENJIG1zaTsgZWl0 aGVyIHplcm8gKG9mZiwgZGVmYXVsdCkgb3Igbm9uLXplcm8gKi8KKworCisvKiBtb3ZlIHRvIFBD SSBsYXllciBvciBsaWJhdGEgY29yZT8gKi8KK3N0YXRpYyBpbnQgcGNpX2dvXzY0KHN0cnVjdCBw Y2lfZGV2ICpwZGV2KQoreworCWludCByYzsKKworCWlmICghcGNpX3NldF9kbWFfbWFzayhwZGV2 LCBETUFfNjRCSVRfTUFTSykpIHsKKwkJcmMgPSBwY2lfc2V0X2NvbnNpc3RlbnRfZG1hX21hc2so cGRldiwgRE1BXzY0QklUX01BU0spOworCQlpZiAocmMpIHsKKwkJCXJjID0gcGNpX3NldF9jb25z aXN0ZW50X2RtYV9tYXNrKHBkZXYsIERNQV8zMkJJVF9NQVNLKTsKKwkJCWlmIChyYykgeworCQkJ CWRldl9wcmludGsoS0VSTl9FUlIsICZwZGV2LT5kZXYsCisJCQkJCSAgICI2NC1iaXQgRE1BIGVu YWJsZSBmYWlsZWRcbiIpOworCQkJCXJldHVybiByYzsKKwkJCX0KKwkJfQorCX0gZWxzZSB7CisJ CXJjID0gcGNpX3NldF9kbWFfbWFzayhwZGV2LCBETUFfMzJCSVRfTUFTSyk7CisJCWlmIChyYykg eworCQkJZGV2X3ByaW50ayhLRVJOX0VSUiwgJnBkZXYtPmRldiwKKwkJCQkgICAiMzItYml0IERN QSBlbmFibGUgZmFpbGVkXG4iKTsKKwkJCXJldHVybiByYzsKKwkJfQorCQlyYyA9IHBjaV9zZXRf Y29uc2lzdGVudF9kbWFfbWFzayhwZGV2LCBETUFfMzJCSVRfTUFTSyk7CisJCWlmIChyYykgewor CQkJZGV2X3ByaW50ayhLRVJOX0VSUiwgJnBkZXYtPmRldiwKKwkJCQkgICAiMzItYml0IGNvbnNp c3RlbnQgRE1BIGVuYWJsZSBmYWlsZWRcbiIpOworCQkJcmV0dXJuIHJjOworCQl9CisJfQorCisJ cmV0dXJuIHJjOworfQorCiAvKioKICAqICAgICAgbXZfcHJpbnRfaW5mbyAtIER1bXAga2V5IGlu Zm8gdG8ga2VybmVsIGxvZyBmb3IgcGVydXNhbC4KICAqICAgICAgQGhvc3Q6IEFUQSBob3N0IHRv IHByaW50IGluZm8gYWJvdXQKQEAgLTI3MjAsMTUgKzI3MjgsMjIgQEAgc3RhdGljIGludCBtdl9p bml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQg KmVudCkKIAlyZXR1cm4gYXRhX2hvc3RfYWN0aXZhdGUoaG9zdCwgcGRldi0+aXJxLCBtdl9pbnRl cnJ1cHQsIElSUUZfU0hBUkVELAogCQkJCSBJU19HRU5fSShocHJpdikgPyAmbXY1X3NodCA6ICZt djZfc2h0KTsKIH0KKyNlbmRpZgogCiBzdGF0aWMgaW50IF9faW5pdCBtdl9pbml0KHZvaWQpCiB7 Ci0JcmV0dXJuIHBjaV9yZWdpc3Rlcl9kcml2ZXIoJm12X3BjaV9kcml2ZXIpOworCWludCByYyA9 IC1FTk9ERVY7CisjaWZkZWYgQ09ORklHX1BDSQorCXJjID0gcGNpX3JlZ2lzdGVyX2RyaXZlcigm bXZfcGNpX2RyaXZlcik7CisjZW5kaWYKKwlyZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyB2b2lkIF9f ZXhpdCBtdl9leGl0KHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1BDSQogCXBjaV91bnJlZ2lzdGVy X2RyaXZlcigmbXZfcGNpX2RyaXZlcik7CisjZW5kaWYKIH0KIAogTU9EVUxFX0FVVEhPUigiQnJl dHQgUnVzcyIpOwpAQCAtMjczNyw4ICsyNzUyLDEwIEBAIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsK IE1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBtdl9wY2lfdGJsKTsKIE1PRFVMRV9WRVJTSU9OKERS Vl9WRVJTSU9OKTsKIAorI2lmZGVmIENPTkZJR19QQ0kKIG1vZHVsZV9wYXJhbShtc2ksIGludCwg MDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKG1zaSwgIkVuYWJsZSB1c2Ugb2YgUENJIE1TSSAoMD1v ZmYsIDE9b24pIik7CisjZW5kaWYKIAogbW9kdWxlX2luaXQobXZfaW5pdCk7CiBtb2R1bGVfZXhp dChtdl9leGl0KTsKLS0gCjEuNS4wLjYKCg== ------=_Part_25963_29481420.1200500225890--