From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Hesselbarth Subject: [PATCH 5/9] net: pxa168_eth: Remove in-driver PHY mangling Date: Tue, 21 Oct 2014 10:53:43 +0200 Message-ID: <1413881627-21639-6-git-send-email-sebastian.hesselbarth@gmail.com> References: <1413881627-21639-1-git-send-email-sebastian.hesselbarth@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Florian Fainelli , Eric Miao , netdev@vger.kernel.org, =?UTF-8?q?Antoine=20T=C3=A9nart?= , linux-kernel@vger.kernel.org, Haojian Zhuang , "David S. Miller" , linux-arm-kernel@lists.infradead.org To: Sebastian Hesselbarth Return-path: In-Reply-To: <1413881627-21639-1-git-send-email-sebastian.hesselbarth@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org List-Id: netdev.vger.kernel.org V2l0aCBwcm9wZXJseSB1c2luZyBsaWJwaHkgUEhZcyBub3csIHJlbW92ZSB0aGUgaW4tZHJpdmVy IFBIWQptYW5nbGluZy4KClRlc3RlZC1ieTogQW50b2luZSBUw6luYXJ0IDxhbnRvaW5lLnRlbmFy dEBmcmVlLWVsZWN0cm9ucy5jb20+ClNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBIZXNzZWxiYXJ0 aCA8c2ViYXN0aWFuLmhlc3NlbGJhcnRoQGdtYWlsLmNvbT4KLS0tCkNjOiAiRGF2aWQgUy4gTWls bGVyIiA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KQ2M6ICJBbnRvaW5lIFTDqW5hcnQiIDxhbnRvaW5l LnRlbmFydEBmcmVlLWVsZWN0cm9ucy5jb20+CkNjOiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5l bGxpQGdtYWlsLmNvbT4KQ2M6IEVyaWMgTWlhbyA8ZXJpYy55Lm1pYW9AZ21haWwuY29tPgpDYzog SGFvamlhbiBaaHVhbmcgPGhhb2ppYW4uemh1YW5nQGdtYWlsLmNvbT4KQ2M6IGxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZwpDYzog bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21h cnZlbGwvcHhhMTY4X2V0aC5jIHwgMTI2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDEyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9tYXJ2ZWxsL3B4YTE2OF9ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21h cnZlbGwvcHhhMTY4X2V0aC5jCmluZGV4IDZkNjcxZjcwZTQ4NC4uMDM3NGVhYzc2ZmRmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL3B4YTE2OF9ldGguYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL3B4YTE2OF9ldGguYwpAQCAtMTc3LDcgKzE3Nyw2 IEBACiAjZGVmaW5lIExJTktfVVAJCQkoMSA8PCAzKQogCiAvKiBCaXQgZGVmaW5pdGlvbnMgZm9y IHdvcmsgdG8gYmUgZG9uZSAqLwotI2RlZmluZSBXT1JLX0xJTksJCSgxIDw8IDApCiAjZGVmaW5l IFdPUktfVFhfRE9ORQkJKDEgPDwgMSkKIAogLyoKQEAgLTI4NCw3ICsyODMsNiBAQCBzdGF0aWMg dm9pZCBldGhfcG9ydF9yZXNldChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIHN0YXRpYyB2b2lk IGV0aF9wb3J0X3N0YXJ0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogc3RhdGljIGludCBweGEx NjhfZXRoX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiBzdGF0aWMgaW50IHB4YTE2OF9l dGhfc3RvcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKLXN0YXRpYyBpbnQgZXRoZXJuZXRfcGh5 X3NldHVwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogCiBzdGF0aWMgaW5saW5lIHUzMiByZGwo c3RydWN0IHB4YTE2OF9ldGhfcHJpdmF0ZSAqcGVwLCBpbnQgb2Zmc2V0KQogewpAQCAtMzE2LDI2 ICszMTQsNiBAQCBzdGF0aWMgdm9pZCBhYm9ydF9kbWEoc3RydWN0IHB4YTE2OF9ldGhfcHJpdmF0 ZSAqcGVwKQogCQluZXRkZXZfZXJyKHBlcC0+ZGV2LCAiJXMgOiBETUEgU3R1Y2tcbiIsIF9fZnVu Y19fKTsKIH0KIAotc3RhdGljIGludCBldGhlcm5ldF9waHlfZ2V0KHN0cnVjdCBweGExNjhfZXRo X3ByaXZhdGUgKnBlcCkKLXsKLQl1bnNpZ25lZCBpbnQgcmVnX2RhdGE7Ci0KLQlyZWdfZGF0YSA9 IHJkbChwZXAsIFBIWV9BRERSRVNTKTsKLQotCXJldHVybiAocmVnX2RhdGEgPj4gKDUgKiBwZXAt PnBvcnRfbnVtKSkgJiAweDFmOwotfQotCi1zdGF0aWMgdm9pZCBldGhlcm5ldF9waHlfc2V0X2Fk ZHIoc3RydWN0IHB4YTE2OF9ldGhfcHJpdmF0ZSAqcGVwLCBpbnQgcGh5X2FkZHIpCi17Ci0JdTMy IHJlZ19kYXRhOwotCWludCBhZGRyX3NoaWZ0ID0gNSAqIHBlcC0+cG9ydF9udW07Ci0KLQlyZWdf ZGF0YSA9IHJkbChwZXAsIFBIWV9BRERSRVNTKTsKLQlyZWdfZGF0YSAmPSB+KDB4MWYgPDwgYWRk cl9zaGlmdCk7Ci0JcmVnX2RhdGEgfD0gKHBoeV9hZGRyICYgMHgxZikgPDwgYWRkcl9zaGlmdDsK LQl3cmwocGVwLCBQSFlfQUREUkVTUywgcmVnX2RhdGEpOwotfQotCiBzdGF0aWMgdm9pZCByeHFf cmVmaWxsKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHB4YTE2OF9ldGhfcHJp dmF0ZSAqcGVwID0gbmV0ZGV2X3ByaXYoZGV2KTsKQEAgLTg5MCw0MyArODY4LDkgQEAgc3RhdGlj IGludCBweGExNjhfZXRoX2NvbGxlY3RfZXZlbnRzKHN0cnVjdCBweGExNjhfZXRoX3ByaXZhdGUg KnBlcCwKIAl9CiAJaWYgKGljciAmIElDUl9SWEJVRikKIAkJcmV0ID0gMTsKLQlpZiAoaWNyICYg SUNSX01JSV9DSCkgewotCQlwZXAtPndvcmtfdG9kbyB8PSBXT1JLX0xJTks7Ci0JCXJldCA9IDE7 Ci0JfQogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV9saW5rX2V2ZW50KHN0 cnVjdCBweGExNjhfZXRoX3ByaXZhdGUgKnBlcCkKLXsKLQlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 ID0gcGVwLT5kZXY7Ci0JdTMyIHBvcnRfc3RhdHVzOwotCWludCBzcGVlZDsKLQlpbnQgZHVwbGV4 OwotCWludCBmYzsKLQotCXBvcnRfc3RhdHVzID0gcmRsKHBlcCwgUE9SVF9TVEFUVVMpOwotCWlm ICghKHBvcnRfc3RhdHVzICYgTElOS19VUCkpIHsKLQkJaWYgKG5ldGlmX2NhcnJpZXJfb2soZGV2 KSkgewotCQkJbmV0ZGV2X2luZm8oZGV2LCAibGluayBkb3duXG4iKTsKLQkJCW5ldGlmX2NhcnJp ZXJfb2ZmKGRldik7Ci0JCQl0eHFfcmVjbGFpbShkZXYsIDEpOwotCQl9Ci0JCXJldHVybjsKLQl9 Ci0JaWYgKHBvcnRfc3RhdHVzICYgUE9SVF9TUEVFRF8xMDApCi0JCXNwZWVkID0gMTAwOwotCWVs c2UKLQkJc3BlZWQgPSAxMDsKLQotCWR1cGxleCA9IChwb3J0X3N0YXR1cyAmIEZVTExfRFVQTEVY KSA/IDEgOiAwOwotCWZjID0gKHBvcnRfc3RhdHVzICYgRkxPV19DT05UUk9MX0RJU0FCTEVEKSA/ IDAgOiAxOwotCW5ldGRldl9pbmZvKGRldiwgImxpbmsgdXAsICVkIE1iL3MsICVzIGR1cGxleCwg ZmxvdyBjb250cm9sICVzYWJsZWRcbiIsCi0JCSAgICBzcGVlZCwgZHVwbGV4ID8gImZ1bGwiIDog ImhhbGYiLCBmYyA/ICJlbiIgOiAiZGlzIik7Ci0JaWYgKCFuZXRpZl9jYXJyaWVyX29rKGRldikp Ci0JCW5ldGlmX2NhcnJpZXJfb24oZGV2KTsKLX0KLQogc3RhdGljIGlycXJldHVybl90IHB4YTE2 OF9ldGhfaW50X2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogewogCXN0cnVjdCBuZXRf ZGV2aWNlICpkZXYgPSAoc3RydWN0IG5ldF9kZXZpY2UgKilkZXZfaWQ7CkBAIC0xMzA3LDEwICsx MjUxLDYgQEAgc3RhdGljIGludCBweGExNjhfcnhfcG9sbChzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5h cGksIGludCBidWRnZXQpCiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHBlcC0+ZGV2OwogCWlu dCB3b3JrX2RvbmUgPSAwOwogCi0JaWYgKHVubGlrZWx5KHBlcC0+d29ya190b2RvICYgV09SS19M SU5LKSkgewotCQlwZXAtPndvcmtfdG9kbyAmPSB+KFdPUktfTElOSyk7Ci0JCWhhbmRsZV9saW5r X2V2ZW50KHBlcCk7Ci0JfQogCS8qCiAJICogV2UgY2FsbCB0eHFfcmVjbGFpbSBldmVyeSB0aW1l IHNpbmNlIGluIE5BUEkgaW50ZXJ1cHRzIGFyZSBkaXNhYmxlZAogCSAqIGFuZCBkdWUgdG8gdGhp cyB3ZSBtaXNzIHRoZSBUWF9ET05FIGludGVycnVwdCx3aGljaCBpcyBub3QgdXBkYXRlZCBpbgpA QCAtMTQzMyw3MiArMTM3Myw2IEBAIHN0YXRpYyBpbnQgcHhhMTY4X2V0aF9kb19pb2N0bChzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWZyZXEgKmlmciwKIAlyZXR1cm4gLUVPUE5PVFNV UFA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgcGh5X2RldmljZSAqcGh5X3NjYW4oc3RydWN0IHB4YTE2 OF9ldGhfcHJpdmF0ZSAqcGVwLCBpbnQgcGh5X2FkZHIpCi17Ci0Jc3RydWN0IG1paV9idXMgKmJ1 cyA9IHBlcC0+c21pX2J1czsKLQlzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2OwotCWludCBzdGFy dDsKLQlpbnQgbnVtOwotCWludCBpOwotCi0JaWYgKHBoeV9hZGRyID09IFBYQTE2OF9FVEhfUEhZ X0FERFJfREVGQVVMVCkgewotCQkvKiBTY2FuIGVudGlyZSByYW5nZSAqLwotCQlzdGFydCA9IGV0 aGVybmV0X3BoeV9nZXQocGVwKTsKLQkJbnVtID0gMzI7Ci0JfSBlbHNlIHsKLQkJLyogVXNlIHBo eSBhZGRyIHNwZWNpZmljIHRvIHBsYXRmb3JtICovCi0JCXN0YXJ0ID0gcGh5X2FkZHIgJiAweDFm OwotCQludW0gPSAxOwotCX0KLQlwaHlkZXYgPSBOVUxMOwotCWZvciAoaSA9IDA7IGkgPCBudW07 IGkrKykgewotCQlpbnQgYWRkciA9IChzdGFydCArIGkpICYgMHgxZjsKLQkJaWYgKGJ1cy0+cGh5 X21hcFthZGRyXSA9PSBOVUxMKQotCQkJbWRpb2J1c19zY2FuKGJ1cywgYWRkcik7Ci0KLQkJaWYg KHBoeWRldiA9PSBOVUxMKSB7Ci0JCQlwaHlkZXYgPSBidXMtPnBoeV9tYXBbYWRkcl07Ci0JCQlp ZiAocGh5ZGV2ICE9IE5VTEwpCi0JCQkJZXRoZXJuZXRfcGh5X3NldF9hZGRyKHBlcCwgYWRkcik7 Ci0JCX0KLQl9Ci0KLQlyZXR1cm4gcGh5ZGV2OwotfQotCi1zdGF0aWMgdm9pZCBwaHlfaW5pdChz dHJ1Y3QgcHhhMTY4X2V0aF9wcml2YXRlICpwZXApCi17Ci0Jc3RydWN0IHBoeV9kZXZpY2UgKnBo eSA9IHBlcC0+cGh5OwotCi0JcGh5X2F0dGFjaChwZXAtPmRldiwgZGV2X25hbWUoJnBoeS0+ZGV2 KSwgcGVwLT5waHlfaW50Zik7Ci0KLQlwaHktPnNwZWVkID0gcGVwLT5waHlfc3BlZWQ7Ci0JcGh5 LT5kdXBsZXggPSBwZXAtPnBoeV9kdXBsZXg7Ci0JcGh5LT5hdXRvbmVnID0gQVVUT05FR19FTkFC TEU7Ci0JcGh5LT5zdXBwb3J0ZWQgJj0gUEhZX0JBU0lDX0ZFQVRVUkVTOwotCXBoeS0+YWR2ZXJ0 aXNpbmcgPSBwaHktPnN1cHBvcnRlZCB8IEFEVkVSVElTRURfQXV0b25lZzsKLQotCWlmIChwZXAt PnBoeV9zcGVlZCAhPSAwKSB7Ci0JCXBoeS0+YXV0b25lZyA9IEFVVE9ORUdfRElTQUJMRTsKLQkJ cGh5LT5hZHZlcnRpc2luZyA9IDA7Ci0JfQotCi0JcGh5X3N0YXJ0X2FuZWcocGh5KTsKLX0KLQot c3RhdGljIGludCBldGhlcm5ldF9waHlfc2V0dXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKLXsK LQlzdHJ1Y3QgcHhhMTY4X2V0aF9wcml2YXRlICpwZXAgPSBuZXRkZXZfcHJpdihkZXYpOwotCi0J cGVwLT5waHkgPSBwaHlfc2NhbihwZXAsIHBlcC0+cGh5X2FkZHIgJiAweDFmKTsKLQlpZiAocGVw LT5waHkgIT0gTlVMTCkKLQkJcGh5X2luaXQocGVwKTsKLQotCXVwZGF0ZV9oYXNoX3RhYmxlX21h Y19hZGRyZXNzKHBlcCwgTlVMTCwgZGV2LT5kZXZfYWRkcik7Ci0KLQlyZXR1cm4gMDsKLX0KLQog c3RhdGljIGludCBweGExNjhfZ2V0X3NldHRpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0 cnVjdCBldGh0b29sX2NtZCAqY21kKQogewogCXN0cnVjdCBweGExNjhfZXRoX3ByaXZhdGUgKnBl cCA9IG5ldGRldl9wcml2KGRldik7Ci0tIAoyLjEuMQoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK