From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Kosewski Subject: [PATCH 1/3] Add disk hotswap support to libata RESEND #2 Date: Mon, 1 Aug 2005 03:01:12 -0700 Message-ID: <355e5e5e0508010301352e05cb@mail.gmail.com> Reply-To: Lukasz Kosewski Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_3083_20029865.1122890472482" Return-path: Received: from zproxy.gmail.com ([64.233.162.195]:12732 "EHLO zproxy.gmail.com") by vger.kernel.org with ESMTP id S262421AbVHAKBO (ORCPT ); Mon, 1 Aug 2005 06:01:14 -0400 Received: by zproxy.gmail.com with SMTP id r28so744217nza for ; Mon, 01 Aug 2005 03:01:12 -0700 (PDT) Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: jgarzik@pobox.com Cc: linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org ------=_Part_3083_20029865.1122890472482 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Patch 01: add promise SATAII150 support to the sata_promise driver. As described in the archives, this patch adds support for those notorious SATAII150 controllers with their weird hotplug offset and prepares us for hotplug goodness. Jeff: The reason that ATA_FLAG_SATA is commented out on pdc_2057x controllers is to keep them consistent with the 2037x controllers in libata + sata_promise support PATA ports (as seen in 2.6.13-rc3-mm1).=20 I've implemented all your other suggestions. Luke Kosewski ------=_Part_3083_20029865.1122890472482 Content-Type: text/x-patch; name="01-promise_sataII150_support-2.6.13-rc3-mm1-2.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="01-promise_sataII150_support-2.6.13-rc3-mm1-2.diff" MjguMDcuMDUgIEx1a2UgS29zZXdza2kgIDxsa29zZXdza0BuaXQuY2E+CgoJKiBBIHBhdGNoIHRv IHRoZSBzYXRhX3Byb21pc2UgZHJpdmVyIGluIGxpYmF0YSBmb3IgaXQgdG8gY29ycmVjdGx5IG1h c2sKCSAgb3V0IGhvdHBsdWcgaW50ZXJydXB0cyBvbiBTQVRBSUkxNTAgVHg0L1R4MiBQbHVzIGNv bnRyb2xsZXJzLgoJKiBUaGlzIGlzIGEgcmVzZW5kIG9mIHRoZSBvcmlnaW5hbCBwYXRjaCB3aGlj aCBpbiBwYXJ0aWN1bGFyOgoJICAtIGRvZXMgbm90IHNwbGl0IHVwIHRoZSBpbnRlcnJ1cHQgaGFu ZGxpbmcgZnVuY3Rpb24sIGFuZCBpbnN0ZWFkIHVzZXMKCSAgICBhIHBkY19ob3N0X3ByaXYgc3Ry dWN0dXJlIHRvIHBhc3MgYWxvbmcgdGhlIGxvY2F0aW9uIG9mIHRoZSBob3RwbHVnCgkgICAgcmVn aXN0ZXJzLgoJICAtIGRvZXMgbm90IHVzZSBzcGluX2xvY2tfaXJxc2F2ZSwgYnV0IHRoZSBsZXNz IGV4cGVuc2l2ZSBzcGluX2xvY2sgaW4KCSAgICB0aGUgaW50ZXJydXB0IGhhbmRsZXIuCgpTaWdu ZWQtb2ZmLWJ5OiAgTHVrZSBLb3Nld3NraSA8bGtvc2V3c2tAbml0LmNhPgoKLS0tIGxpbnV4L2Ry aXZlcnMvc2NzaS9zYXRhX3Byb21pc2UuYy5vbGQJMjAwNS0wNy0yNiAxNTo1Mjo1MS4wMDAwMDAw MDAgLTA3MDAKKysrIGxpbnV4L2RyaXZlcnMvc2NzaS9zYXRhX3Byb21pc2UuYwkyMDA1LTA3LTI3 IDA5OjM3OjI5LjAwMDAwMDAwMCAtMDcwMApAQCAtNTIsNiArNTIsNyBAQCBlbnVtIHsKIAlQRENf R0xPQkFMX0NUTAkJPSAweDQ4LCAvKiBHbG9iYWwgY29udHJvbC9zdGF0dXMgKHBlciBwb3J0KSAq LwogCVBEQ19DVExTVEFUCQk9IDB4NjAsCS8qIElERSBjb250cm9sIGFuZCBzdGF0dXMgKHBlciBw b3J0KSAqLwogCVBEQ19TQVRBX1BMVUdfQ1NSCT0gMHg2QywgLyogU0FUQSBQbHVnIGNvbnRyb2wv c3RhdHVzIHJlZyAqLworCVBEQzJfU0FUQV9QTFVHX0NTUgk9IDB4NjAsIC8qIFNBVEFJSSBQbHVn IGNvbnRyb2wvc3RhdHVzIHJlZyAqLwogCVBEQ19TTEVXX0NUTAkJPSAweDQ3MCwgLyogc2xldyBy YXRlIGNvbnRyb2wgcmVnICovCiAKIAlQRENfRVJSX01BU0sJCT0gKDE8PDE5KSB8ICgxPDwyMCkg fCAoMTw8MjEpIHwgKDE8PDIyKSB8CkBAIC02MCw4ICs2MSwxMCBAQCBlbnVtIHsKIAlib2FyZF8y MDM3eAkJPSAwLAkvKiBGYXN0VHJhayBTMTUwIFRYMnBsdXMgKi8KIAlib2FyZF8yMDMxOQkJPSAx LAkvKiBGYXN0VHJhayBTMTUwIFRYNCAqLwogCWJvYXJkXzIwNjE5CQk9IDIsCS8qIEZhc3RUcmFr IFRYNDAwMCAqLworCWJvYXJkXzIwNTd4CQk9IDMsCS8qIFNBVEFJSTE1MCBUeDJwbHVzICovCisJ Ym9hcmRfNDA1MTgJCT0gNCwJLyogU0FUQUlJMTUwIFR4NCAqLwogCi0JUERDX0hBU19QQVRBCQk9 ICgxIDw8IDEpLCAvKiBQREMyMDM3NSBoYXMgUEFUQSAqLworCVBEQ19IQVNfUEFUQQkJPSAoMSA8 PCAxKSwgLyogUERDMjAzNzUvMjA1NzUgaGFzIFBBVEEgKi8KIAogCVBEQ19SRVNFVAkJPSAoMSA8 PCAxMSksIC8qIEhETUEgcmVzZXQgKi8KIH07CkBAIC03Miw2ICs3NSwxMCBAQCBzdHJ1Y3QgcGRj X3BvcnRfcHJpdiB7CiAJZG1hX2FkZHJfdAkJcGt0X2RtYTsKIH07CiAKK3N0cnVjdCBwZGNfaG9z dF9wcml2IHsKKwl1bnNpZ25lZCBpbnQJCWhvdHBsdWdfb2Zmc2V0OworfTsKKwogc3RhdGljIHUz MiBwZGNfc2F0YV9zY3JfcmVhZCAoc3RydWN0IGF0YV9wb3J0ICphcCwgdW5zaWduZWQgaW50IHNj X3JlZyk7CiBzdGF0aWMgdm9pZCBwZGNfc2F0YV9zY3Jfd3JpdGUgKHN0cnVjdCBhdGFfcG9ydCAq YXAsIHVuc2lnbmVkIGludCBzY19yZWcsIHUzMiB2YWwpOwogc3RhdGljIGludCBwZGNfYXRhX2lu aXRfb25lIChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQg KmVudCk7CkBAIC0xNjEsNiArMTY4LDI4IEBAIHN0YXRpYyBzdHJ1Y3QgYXRhX3BvcnRfaW5mbyBw ZGNfcG9ydF9pbmYKIAkJLnVkbWFfbWFzawk9IDB4N2YsIC8qIHVkbWEwLTYgOyBGSVhNRSAqLwog CQkucG9ydF9vcHMJPSAmcGRjX2F0YV9vcHMsCiAJfSwKKworCS8qIGJvYXJkXzIwNTd4ICovCisJ eworCQkuc2h0CQk9ICZwZGNfYXRhX3NodCwKKwkJLmhvc3RfZmxhZ3MJPSAvKiBBVEFfRkxBR19T QVRBIHwgKi8gQVRBX0ZMQUdfTk9fTEVHQUNZIHwKKwkJCQkgIEFUQV9GTEFHX1NSU1QgfCBBVEFf RkxBR19NTUlPLAorCQkucGlvX21hc2sJPSAweDFmLCAvKiBwaW8wLTQgKi8KKwkJLm13ZG1hX21h c2sJPSAweDA3LCAvKiBtd2RtYTAtMiAqLworCQkudWRtYV9tYXNrCT0gMHg3ZiwgLyogdWRtYTAt NiA7IEZJWE1FICovCisJCS5wb3J0X29wcwk9ICZwZGNfYXRhX29wcywKKwl9LAorCisJLyogYm9h cmRfNDA1MTggKi8KKwl7CisJCS5zaHQJCT0gJnBkY19hdGFfc2h0LAorCQkuaG9zdF9mbGFncwk9 IEFUQV9GTEFHX1NBVEEgfCBBVEFfRkxBR19OT19MRUdBQ1kgfAorCQkJCSAgQVRBX0ZMQUdfU1JT VCB8IEFUQV9GTEFHX01NSU8sCisJCS5waW9fbWFzawk9IDB4MWYsIC8qIHBpbzAtNCAqLworCQku bXdkbWFfbWFzawk9IDB4MDcsIC8qIG13ZG1hMC0yICovCisJCS51ZG1hX21hc2sJPSAweDdmLCAv KiB1ZG1hMC02IDsgRklYTUUgKi8KKwkJLnBvcnRfb3BzCT0gJnBkY19hdGFfb3BzLAorCX0sCiB9 OwogCiBzdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgcGRjX2F0YV9wY2lfdGJsW10gPSB7CkBA IC0xNzUsMTYgKzIwNCwxNiBAQCBzdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgcGRjX2F0YV9w Y2lfCiAJeyBQQ0lfVkVORE9SX0lEX1BST01JU0UsIDB4MzM3NiwgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwKIAkgIGJvYXJkXzIwMzd4IH0sCiAJeyBQQ0lfVkVORE9SX0lEX1BST01JU0Us IDB4MzU3NCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwKLQkgIGJvYXJkXzIwMzd4IH0s CisJICBib2FyZF8yMDU3eCB9LAogCXsgUENJX1ZFTkRPUl9JRF9QUk9NSVNFLCAweDNkNzUsIFBD SV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsCi0JICBib2FyZF8yMDM3eCB9LAorCSAgYm9hcmRf MjA1N3ggfSwKIAogCXsgUENJX1ZFTkRPUl9JRF9QUk9NSVNFLCAweDMzMTgsIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsCiAJICBib2FyZF8yMDMxOSB9LAogCXsgUENJX1ZFTkRPUl9JRF9Q Uk9NSVNFLCAweDMzMTksIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsCiAJICBib2FyZF8y MDMxOSB9LAogCXsgUENJX1ZFTkRPUl9JRF9QUk9NSVNFLCAweDNkMTgsIFBDSV9BTllfSUQsIFBD SV9BTllfSUQsIDAsIDAsCi0JICBib2FyZF8yMDMxOSB9LAorCSAgYm9hcmRfNDA1MTggfSwKIAog CXsgUENJX1ZFTkRPUl9JRF9QUk9NSVNFLCAweDY2MjksIFBDSV9BTllfSUQsIFBDSV9BTllfSUQs IDAsIDAsCiAJICBib2FyZF8yMDYxOSB9LApAQCAtNDM2LDEwICs0NjUsOSBAQCBzdGF0aWMgaXJx cmV0dXJuX3QgcGRjX2ludGVycnVwdCAoaW50IGlyCiB7CiAJc3RydWN0IGF0YV9ob3N0X3NldCAq aG9zdF9zZXQgPSBkZXZfaW5zdGFuY2U7CiAJc3RydWN0IGF0YV9wb3J0ICphcDsKLQl1MzIgbWFz ayA9IDA7Ci0JdW5zaWduZWQgaW50IGksIHRtcDsKLQl1bnNpZ25lZCBpbnQgaGFuZGxlZCA9IDA7 CiAJdm9pZCAqbW1pb19iYXNlOworCXUzMiBtYXNrID0gMDsKKwl1bnNpZ25lZCBpbnQgaSwgdG1w LCBoYW5kbGVkID0gMDsKIAogCVZQUklOVEsoIkVOVEVSXG4iKTsKIApAQCAtNDQ5LDcgKzQ3Nyw3 IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBwZGNfaW50ZXJydXB0IChpbnQgaXIKIAl9CiAKIAltbWlv X2Jhc2UgPSBob3N0X3NldC0+bW1pb19iYXNlOwotCisJCiAJLyogcmVhZGluZyBzaG91bGQgYWxz byBjbGVhciBpbnRlcnJ1cHRzICovCiAJbWFzayA9IHJlYWRsKG1taW9fYmFzZSArIFBEQ19JTlRf U0VRTUFTSyk7CiAKQEAgLTQ1NywxNCArNDg1LDE1IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBwZGNf aW50ZXJydXB0IChpbnQgaXIKIAkJVlBSSU5USygiUVVJQ0sgRVhJVCAyXG4iKTsKIAkJcmV0dXJu IElSUV9OT05FOwogCX0KKworCXNwaW5fbG9jaygmaG9zdF9zZXQtPmxvY2spOworCiAJbWFzayAm PSAweGZmZmY7CQkvKiBvbmx5IDE2IHRhZ3MgcG9zc2libGUgKi8KIAlpZiAoIW1hc2spIHsKIAkJ VlBSSU5USygiUVVJQ0sgRVhJVCAzXG4iKTsKLQkJcmV0dXJuIElSUV9OT05FOworCQlnb3RvIGRv bmVfaXJxOwogCX0KIAotCXNwaW5fbG9jaygmaG9zdF9zZXQtPmxvY2spOwotCiAJd3JpdGVsKG1h c2ssIG1taW9fYmFzZSArIFBEQ19JTlRfU0VRTUFTSyk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgaG9z dF9zZXQtPm5fcG9ydHM7IGkrKykgewpAQCAtNDgwLDEwICs1MDksMTAgQEAgc3RhdGljIGlycXJl dHVybl90IHBkY19pbnRlcnJ1cHQgKGludCBpcgogCQl9CiAJfQogCi0gICAgICAgIHNwaW5fdW5s b2NrKCZob3N0X3NldC0+bG9jayk7Ci0KIAlWUFJJTlRLKCJFWElUXG4iKTsKLQorICAgICAgIAor ZG9uZV9pcnE6CisJc3Bpbl91bmxvY2soJmhvc3Rfc2V0LT5sb2NrKTsKIAlyZXR1cm4gSVJRX1JF VFZBTChoYW5kbGVkKTsKIH0KIApAQCAtNTYxLDYgKzU5MCw4IEBAIHN0YXRpYyB2b2lkIHBkY19h dGFfc2V0dXBfcG9ydChzdHJ1Y3QgYXQKIHN0YXRpYyB2b2lkIHBkY19ob3N0X2luaXQodW5zaWdu ZWQgaW50IGNoaXBfaWQsIHN0cnVjdCBhdGFfcHJvYmVfZW50ICpwZSkKIHsKIAl2b2lkICptbWlv ID0gcGUtPm1taW9fYmFzZTsKKwlzdHJ1Y3QgcGRjX2hvc3RfcHJpdiAqaHAgPSBwZS0+cHJpdmF0 ZV9kYXRhOworCXVuc2lnbmVkIGludCBob3RwbHVnX29mZnNldCA9IGhwLT5ob3RwbHVnX29mZnNl dDsKIAl1MzIgdG1wOwogCiAJLyoKQEAgLTU3NSwxMiArNjA2LDEyIEBAIHN0YXRpYyB2b2lkIHBk Y19ob3N0X2luaXQodW5zaWduZWQgaW50IGMKIAl3cml0ZWwodG1wLCBtbWlvICsgUERDX0ZMQVNI X0NUTCk7CiAKIAkvKiBjbGVhciBwbHVnL3VucGx1ZyBmbGFncyBmb3IgYWxsIHBvcnRzICovCi0J dG1wID0gcmVhZGwobW1pbyArIFBEQ19TQVRBX1BMVUdfQ1NSKTsKLQl3cml0ZWwodG1wIHwgMHhm ZiwgbW1pbyArIFBEQ19TQVRBX1BMVUdfQ1NSKTsKKwl0bXAgPSByZWFkbChtbWlvICsgaG90cGx1 Z19vZmZzZXQpOworCXdyaXRlbCh0bXAgfCAweGZmLCBtbWlvICsgaG90cGx1Z19vZmZzZXQpOwog CiAJLyogbWFzayBwbHVnL3VucGx1ZyBpbnRzICovCi0JdG1wID0gcmVhZGwobW1pbyArIFBEQ19T QVRBX1BMVUdfQ1NSKTsKLQl3cml0ZWwodG1wIHwgMHhmZjAwMDAsIG1taW8gKyBQRENfU0FUQV9Q TFVHX0NTUik7CisJdG1wID0gcmVhZGwobW1pbyArIGhvdHBsdWdfb2Zmc2V0KTsKKwl3cml0ZWwo dG1wIHwgMHhmZjAwMDAsIG1taW8gKyBob3RwbHVnX29mZnNldCk7CiAKIAkvKiByZWR1Y2UgVEJH IGNsb2NrIHRvIDEzMyBNaHouICovCiAJdG1wID0gcmVhZGwobW1pbyArIFBEQ19UQkdfTU9ERSk7 CkBAIC02MDIsNiArNjMzLDcgQEAgc3RhdGljIGludCBwZGNfYXRhX2luaXRfb25lIChzdHJ1Y3Qg cGNpXwogewogCXN0YXRpYyBpbnQgcHJpbnRlZF92ZXJzaW9uOwogCXN0cnVjdCBhdGFfcHJvYmVf ZW50ICpwcm9iZV9lbnQgPSBOVUxMOworCXN0cnVjdCBwZGNfaG9zdF9wcml2ICpocDsKIAl1bnNp Z25lZCBsb25nIGJhc2U7CiAJdm9pZCAqbW1pb19iYXNlOwogCXVuc2lnbmVkIGludCBib2FyZF9p ZHggPSAodW5zaWduZWQgaW50KSBlbnQtPmRyaXZlcl9kYXRhOwpAQCAtNjUxLDYgKzY4MywxOCBA QCBzdGF0aWMgaW50IHBkY19hdGFfaW5pdF9vbmUgKHN0cnVjdCBwY2lfCiAJfQogCWJhc2UgPSAo dW5zaWduZWQgbG9uZykgbW1pb19iYXNlOwogCisJaHAgPSBrbWFsbG9jKHNpemVvZigqaHApLCBH RlBfS0VSTkVMKTsKKwlpZiAoaHAgPT0gTlVMTCkKKwl7CisJCXJjID0gLUVOT01FTTsKKwkJZ290 byBlcnJfb3V0X2ZyZWVfZW50OworCX0KKwltZW1zZXQoaHAsIDAsIHNpemVvZigqaHApKTsKKwor CXByb2JlX2VudC0+cHJpdmF0ZV9kYXRhID0gaHA7CisJLyogU2V0IGRlZmF1bHQgaG90cGx1ZyBv ZmZzZXQgKi8KKwlocC0+aG90cGx1Z19vZmZzZXQgPSBQRENfU0FUQV9QTFVHX0NTUjsKKwogCXBy b2JlX2VudC0+c2h0CQk9IHBkY19wb3J0X2luZm9bYm9hcmRfaWR4XS5zaHQ7CiAJcHJvYmVfZW50 LT5ob3N0X2ZsYWdzCT0gcGRjX3BvcnRfaW5mb1tib2FyZF9pZHhdLmhvc3RfZmxhZ3M7CiAJcHJv YmVfZW50LT5waW9fbWFzawk9IHBkY19wb3J0X2luZm9bYm9hcmRfaWR4XS5waW9fbWFzazsKQEAg LTY3Myw2ICs3MTcsOSBAQCBzdGF0aWMgaW50IHBkY19hdGFfaW5pdF9vbmUgKHN0cnVjdCBwY2lf CiAJCiAJLyogbm90aWNlIDQtcG9ydCBib2FyZHMgKi8KIAlzd2l0Y2ggKGJvYXJkX2lkeCkgewor CWNhc2UgYm9hcmRfNDA1MTg6CisJCS8qIE92ZXJyaWRlIGhvdHBsdWdfb2Zmc2V0IGZvciBTQVRB SUkxNTAgKi8KKwkJaHAtPmhvdHBsdWdfb2Zmc2V0ID0gUERDMl9TQVRBX1BMVUdfQ1NSOwogCWNh c2UgYm9hcmRfMjAzMTk6CiAgICAgICAgCQlwcm9iZV9lbnQtPm5fcG9ydHMgPSA0OwogCkBAIC02 ODUsNiArNzMyLDkgQEAgc3RhdGljIGludCBwZGNfYXRhX2luaXRfb25lIChzdHJ1Y3QgcGNpXwog CQlwcm9iZV9lbnQtPnBvcnRfZmxhZ3NbMl0gPSBBVEFfRkxBR19TQVRBOwogCQlwcm9iZV9lbnQt PnBvcnRfZmxhZ3NbM10gPSBBVEFfRkxBR19TQVRBOwogCQlicmVhazsKKwljYXNlIGJvYXJkXzIw NTd4OgorCQkvKiBPdmVycmlkZSBob3RwbHVnX29mZnNldCBmb3IgU0FUQUlJMTUwICovCisJCWhw LT5ob3RwbHVnX29mZnNldCA9IFBEQzJfU0FUQV9QTFVHX0NTUjsKIAljYXNlIGJvYXJkXzIwMzd4 OgogCQkvKiBTb21lIGJvYXJkcyBoYXZlIGFsc28gUEFUQSBwb3J0ICovCiAJCXRtcCA9IHJlYWRi KG1taW9fYmFzZSArIFBEQ19GTEFTSF9DVEwrMSk7Cg== ------=_Part_3083_20029865.1122890472482--