From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [RFC,net-next] net: fixed_phy: Move the DT based link GPIO parsing to of_mdio.c From: mdf@kernel.org Message-Id: <20190206205106.11517-1-mdf@kernel.org> Date: Wed, 6 Feb 2019 12:51:06 -0800 To: linux-kernel@vger.kernel.org Cc: linux-usb@vger.kernel.org, netdev@vger.kernel.org, colin.king@canonical.com, linus.walleij@linaro.org, yuehaibing@huawei.com, mcgrof@kernel.org, frowand.list@gmail.com, robh+dt@kernel.org, UNGLinuxDriver@microchip.com, woojung.huh@microchip.com, hkallweit1@gmail.com, davem@davemloft.net, f.fainelli@gmail.com, vivien.didelot@gmail.com, andrew@lunn.ch, moritz@ettus.com, alex.williams@ni.com, Moritz Fischer List-ID: TW92ZSB0aGUgRFQgYmFzZWQgbGluayBHUElPIHBhcnNpbmcgdG8gb2ZfbWRpbyBhbmQgbGV0IHRo ZSBwbGFjZXMKdGhhdCByZWdpc3RlciBhIGZpeGVkX3BoeSBwYXNzIGluIGEgR1BJTyBkZXNjcmlw dG9yIG9yIE5VTEwuCgpUaGlzIGFsbG93cyBmaXhlZF9waHkgb24gbm9uLURUIHBsYXRmb3JtcyB0 byBoYXZlIGxpbmsgR1BJT3MsIHRvby4KClNpZ25lZC1vZmYtYnk6IE1vcml0eiBGaXNjaGVyIDxt ZGZAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL25ldC9kc2EvZHNhX2xvb3AuYyAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iZ21hYy5jICAg ICAgICB8ICAyICstCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWku YyB8ICAyICstCiBkcml2ZXJzL25ldC9waHkvZml4ZWRfcGh5LmMgICAgICAgICAgICAgICAgICB8 IDQ4ICsrLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL29mL29mX21kaW8uYyAgICAgICAgICAgICAg ICAgICAgICAgICB8IDE1ICsrKysrLQogaW5jbHVkZS9saW51eC9waHlfZml4ZWQuaCAgICAgICAg ICAgICAgICAgICAgfCAgMyArLQogNyBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA1 MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvZHNhX2xvb3AuYyBi L2RyaXZlcnMvbmV0L2RzYS9kc2FfbG9vcC5jCmluZGV4IDE3NDgyYWUwOWFhNS4uN2YxMjRjNjIw MDkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvZHNhX2xvb3AuYworKysgYi9kcml2ZXJz L25ldC9kc2EvZHNhX2xvb3AuYwpAQCAtMzQzLDcgKzM0Myw3IEBAIHN0YXRpYyBpbnQgX19pbml0 IGRzYV9sb29wX2luaXQodm9pZCkKIAl1bnNpZ25lZCBpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkg PCBOVU1fRklYRURfUEhZUzsgaSsrKQotCQlwaHlkZXZzW2ldID0gZml4ZWRfcGh5X3JlZ2lzdGVy KFBIWV9QT0xMLCAmc3RhdHVzLCBOVUxMKTsKKwkJcGh5ZGV2c1tpXSA9IGZpeGVkX3BoeV9yZWdp c3RlcihQSFlfUE9MTCwgJnN0YXR1cywgTlVMTCwgTlVMTCk7CiAKIAlyZXR1cm4gbWRpb19kcml2 ZXJfcmVnaXN0ZXIoJmRzYV9sb29wX2Rydik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9icm9hZGNvbS9iZ21hYy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20v YmdtYWMuYwppbmRleCA0NjMyZGQ1ZGJhZDEuLmJjZTY0NGRlYzVjMiAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmdtYWMuYworKysgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9icm9hZGNvbS9iZ21hYy5jCkBAIC0xNDQ2LDcgKzE0NDYsNyBAQCBpbnQgYmdtYWNfcGh5 X2Nvbm5lY3RfZGlyZWN0KHN0cnVjdCBiZ21hYyAqYmdtYWMpCiAJc3RydWN0IHBoeV9kZXZpY2Ug KnBoeV9kZXY7CiAJaW50IGVycjsKIAotCXBoeV9kZXYgPSBmaXhlZF9waHlfcmVnaXN0ZXIoUEhZ X1BPTEwsICZmcGh5X3N0YXR1cywgTlVMTCk7CisJcGh5X2RldiA9IGZpeGVkX3BoeV9yZWdpc3Rl cihQSFlfUE9MTCwgJmZwaHlfc3RhdHVzLCBOVUxMLCBOVUxMKTsKIAlpZiAoIXBoeV9kZXYgfHwg SVNfRVJSKHBoeV9kZXYpKSB7CiAJCWRldl9lcnIoYmdtYWMtPmRldiwgIkZhaWxlZCB0byByZWdp c3RlciBmaXhlZCBQSFkgZGV2aWNlXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWkuYyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L2Jyb2FkY29tL2dlbmV0L2JjbW1paS5jCmluZGV4IDUxODgwZDgzMTMxYS4u N2NiZDczN2FiYTgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9n ZW5ldC9iY21taWkuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9i Y21taWkuYwpAQCAtNTI1LDcgKzUyNSw3IEBAIHN0YXRpYyBpbnQgYmNtZ2VuZXRfbWlpX3BkX2lu aXQoc3RydWN0IGJjbWdlbmV0X3ByaXYgKnByaXYpCiAJCQkuYXN5bV9wYXVzZSA9IDAsCiAJCX07 CiAKLQkJcGh5ZGV2ID0gZml4ZWRfcGh5X3JlZ2lzdGVyKFBIWV9QT0xMLCAmZnBoeV9zdGF0dXMs IE5VTEwpOworCQlwaHlkZXYgPSBmaXhlZF9waHlfcmVnaXN0ZXIoUEhZX1BPTEwsICZmcGh5X3N0 YXR1cywgTlVMTCwgTlVMTCk7CiAJCWlmICghcGh5ZGV2IHx8IElTX0VSUihwaHlkZXYpKSB7CiAJ CQlkZXZfZXJyKGtkZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgZml4ZWQgUEhZIGRldmljZVxuIik7 CiAJCQlyZXR1cm4gLUVOT0RFVjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9maXhlZF9w aHkuYyBiL2RyaXZlcnMvbmV0L3BoeS9maXhlZF9waHkuYwppbmRleCBkODEwZjkxNGFhYTQuLjg0 NWJkN2MyMDY1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L2ZpeGVkX3BoeS5jCisrKyBi L2RyaXZlcnMvbmV0L3BoeS9maXhlZF9waHkuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUg PGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9v Zi5oPgorI2luY2x1ZGUgPGxpbnV4L29mX21kaW8uaD4KICNpbmNsdWRlIDxsaW51eC9ncGlvL2Nv bnN1bWVyLmg+CiAjaW5jbHVkZSA8bGludXgvc2VxbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2lk ci5oPgpAQCAtMTkxLDUwICsxOTIsMTIgQEAgc3RhdGljIHZvaWQgZml4ZWRfcGh5X2RlbChpbnQg cGh5X2FkZHIpCiAJfQogfQogCi0jaWZkZWYgQ09ORklHX09GX0dQSU8KLXN0YXRpYyBzdHJ1Y3Qg Z3Bpb19kZXNjICpmaXhlZF9waHlfZ2V0X2dwaW9kKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCi17 Ci0Jc3RydWN0IGRldmljZV9ub2RlICpmaXhlZF9saW5rX25vZGU7Ci0Jc3RydWN0IGdwaW9fZGVz YyAqZ3Bpb2Q7Ci0KLQlpZiAoIW5wKQotCQlyZXR1cm4gTlVMTDsKLQotCWZpeGVkX2xpbmtfbm9k ZSA9IG9mX2dldF9jaGlsZF9ieV9uYW1lKG5wLCAiZml4ZWQtbGluayIpOwotCWlmICghZml4ZWRf bGlua19ub2RlKQotCQlyZXR1cm4gTlVMTDsKLQotCS8qCi0JICogQXMgdGhlIGZpeGVkIGxpbmsg aXMganVzdCBhIGRldmljZSB0cmVlIG5vZGUgd2l0aG91dCBhbnkKLQkgKiBMaW51eCBkZXZpY2Ug YXNzb2NpYXRlZCB3aXRoIGl0LCB3ZSBzaW1wbHkgaGF2ZSBvYnRhaW4KLQkgKiB0aGUgR1BJTyBk ZXNjcmlwdG9yIGZyb20gdGhlIGRldmljZSB0cmVlIGxpa2UgdGhpcy4KLQkgKi8KLQlncGlvZCA9 IGdwaW9kX2dldF9mcm9tX29mX25vZGUoZml4ZWRfbGlua19ub2RlLCAibGluay1ncGlvcyIsIDAs Ci0JCQkJICAgICAgIEdQSU9EX0lOLCAibWRpbyIpOwotCW9mX25vZGVfcHV0KGZpeGVkX2xpbmtf bm9kZSk7Ci0JaWYgKElTX0VSUihncGlvZCkpIHsKLQkJaWYgKFBUUl9FUlIoZ3Bpb2QpID09IC1F UFJPQkVfREVGRVIpCi0JCQlyZXR1cm4gZ3Bpb2Q7Ci0JCXByX2VycigiZXJyb3IgZ2V0dGluZyBH UElPIGZvciBmaXhlZCBsaW5rICVwT0YsIHByb2NlZWQgd2l0aG91dFxuIiwKLQkJICAgICAgIGZp eGVkX2xpbmtfbm9kZSk7Ci0JCWdwaW9kID0gTlVMTDsKLQl9Ci0KLQlyZXR1cm4gZ3Bpb2Q7Ci19 Ci0jZWxzZQotc3RhdGljIHN0cnVjdCBncGlvX2Rlc2MgKmZpeGVkX3BoeV9nZXRfZ3Bpb2Qoc3Ry dWN0IGRldmljZV9ub2RlICpucCkKLXsKLQlyZXR1cm4gTlVMTDsKLX0KLSNlbmRpZgotCiBzdHJ1 Y3QgcGh5X2RldmljZSAqZml4ZWRfcGh5X3JlZ2lzdGVyKHVuc2lnbmVkIGludCBpcnEsCiAJCQkJ ICAgICAgc3RydWN0IGZpeGVkX3BoeV9zdGF0dXMgKnN0YXR1cywKLQkJCQkgICAgICBzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5wKQorCQkJCSAgICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCisJCQkJ ICAgICAgc3RydWN0IGdwaW9fZGVzYyAqZ3Bpb2QpCiB7CiAJc3RydWN0IGZpeGVkX21kaW9fYnVz ICpmbWIgPSAmcGxhdGZvcm1fZm1iOwotCXN0cnVjdCBncGlvX2Rlc2MgKmdwaW9kID0gTlVMTDsK IAlzdHJ1Y3QgcGh5X2RldmljZSAqcGh5OwogCWludCBwaHlfYWRkcjsKIAlpbnQgcmV0OwpAQCAt MjQyLDExICsyMDUsNiBAQCBzdHJ1Y3QgcGh5X2RldmljZSAqZml4ZWRfcGh5X3JlZ2lzdGVyKHVu c2lnbmVkIGludCBpcnEsCiAJaWYgKCFmbWItPm1paV9idXMgfHwgZm1iLT5taWlfYnVzLT5zdGF0 ZSAhPSBNRElPQlVTX1JFR0lTVEVSRUQpCiAJCXJldHVybiBFUlJfUFRSKC1FUFJPQkVfREVGRVIp OwogCi0JLyogQ2hlY2sgaWYgd2UgaGF2ZSBhIEdQSU8gYXNzb2NpYXRlZCB3aXRoIHRoaXMgZml4 ZWQgcGh5ICovCi0JZ3Bpb2QgPSBmaXhlZF9waHlfZ2V0X2dwaW9kKG5wKTsKLQlpZiAoSVNfRVJS KGdwaW9kKSkKLQkJcmV0dXJuIEVSUl9DQVNUKGdwaW9kKTsKLQogCS8qIEdldCB0aGUgbmV4dCBh dmFpbGFibGUgUEhZIGFkZHJlc3MsIHVwIHRvIFBIWV9NQVhfQUREUiAqLwogCXBoeV9hZGRyID0g aWRhX3NpbXBsZV9nZXQoJnBoeV9maXhlZF9pZGEsIDAsIFBIWV9NQVhfQUREUiwgR0ZQX0tFUk5F TCk7CiAJaWYgKHBoeV9hZGRyIDwgMCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9sYW43 OHh4LmMgYi9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jCmluZGV4IDNkOTJlYTZmY2MwMi4uYmQ4 OGYwYWVmMmZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jCisrKyBiL2Ry aXZlcnMvbmV0L3VzYi9sYW43OHh4LmMKQEAgLTIwNTEsNyArMjA1MSw3IEBAIHN0YXRpYyBzdHJ1 Y3QgcGh5X2RldmljZSAqbGFuNzgwMV9waHlfaW5pdChzdHJ1Y3QgbGFuNzh4eF9uZXQgKmRldikK IAlwaHlkZXYgPSBwaHlfZmluZF9maXJzdChkZXYtPm1kaW9idXMpOwogCWlmICghcGh5ZGV2KSB7 CiAJCW5ldGRldl9kYmcoZGV2LT5uZXQsICJQSFkgTm90IEZvdW5kISEgUmVnaXN0ZXJpbmcgRml4 ZWQgUEhZXG4iKTsKLQkJcGh5ZGV2ID0gZml4ZWRfcGh5X3JlZ2lzdGVyKFBIWV9QT0xMLCAmZnBo eV9zdGF0dXMsIE5VTEwpOworCQlwaHlkZXYgPSBmaXhlZF9waHlfcmVnaXN0ZXIoUEhZX1BPTEws ICZmcGh5X3N0YXR1cywgTlVMTCwgTlVMTCk7CiAJCWlmIChJU19FUlIocGh5ZGV2KSkgewogCQkJ bmV0ZGV2X2VycihkZXYtPm5ldCwgIk5vIFBIWS9maXhlZF9QSFkgZm91bmRcbiIpOwogCQkJcmV0 dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL29mL29mX21kaW8uYyBiL2RyaXZlcnMvb2Yv b2ZfbWRpby5jCmluZGV4IGRlNjE1NzM1N2UyNi4uNmJlMjEyMGI1ZjAzIDEwMDY0NAotLS0gYS9k cml2ZXJzL29mL29mX21kaW8uYworKysgYi9kcml2ZXJzL29mL29mX21kaW8uYwpAQCAtMjAsNiAr MjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L29mX21kaW8uaD4KICNpbmNsdWRlIDxsaW51eC9vZl9u ZXQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvL2Nv bnN1bWVyLmg+CiAKICNkZWZpbmUgREVGQVVMVF9HUElPX1JFU0VUX0RFTEFZCTEwCS8qIGluIG1p Y3Jvc2Vjb25kcyAqLwogCkBAIC00NjAsNiArNDYxLDcgQEAgaW50IG9mX3BoeV9yZWdpc3Rlcl9m aXhlZF9saW5rKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiB7CiAJc3RydWN0IGZpeGVkX3BoeV9z dGF0dXMgc3RhdHVzID0ge307CiAJc3RydWN0IGRldmljZV9ub2RlICpmaXhlZF9saW5rX25vZGU7 CisJc3RydWN0IGdwaW9fZGVzYyAqZ3Bpb2QgPSBOVUxMOwogCXUzMiBmaXhlZF9saW5rX3Byb3Bb NV07CiAJY29uc3QgY2hhciAqbWFuYWdlZDsKIApAQCAtNDgzLDcgKzQ4NSwxNyBAQCBpbnQgb2Zf cGh5X3JlZ2lzdGVyX2ZpeGVkX2xpbmsoc3RydWN0IGRldmljZV9ub2RlICpucCkKIAkJc3RhdHVz LnBhdXNlID0gb2ZfcHJvcGVydHlfcmVhZF9ib29sKGZpeGVkX2xpbmtfbm9kZSwgInBhdXNlIik7 CiAJCXN0YXR1cy5hc3ltX3BhdXNlID0gb2ZfcHJvcGVydHlfcmVhZF9ib29sKGZpeGVkX2xpbmtf bm9kZSwKIAkJCQkJCQkgICJhc3ltLXBhdXNlIik7CisKKwkJZ3Bpb2QgPSBncGlvZF9nZXRfZnJv bV9vZl9ub2RlKGZpeGVkX2xpbmtfbm9kZSwgImxpbmstZ3Bpb3MiLCAwLAorCQkJCSAgICAgICBH UElPRF9JTiwgIm1kaW8iKTsKIAkJb2Zfbm9kZV9wdXQoZml4ZWRfbGlua19ub2RlKTsKKwkJaWYg KElTX0VSUihncGlvZCkpIHsKKwkJCWlmIChQVFJfRVJSKGdwaW9kKSA9PSAtRVBST0JFX0RFRkVS KQorCQkJCXJldHVybiBQVFJfRVJSKGdwaW9kKTsKKwkJCXByX2VycigiZXJyb3IgZ2V0dGluZyBH UElPIGZvciBmaXhlZCBsaW5rICVwT0YsIHByb2NlZWQgd2l0aG91dFxuIiwKKwkJCSAgICAgICBm aXhlZF9saW5rX25vZGUpOworCQkJZ3Bpb2QgPSBOVUxMOworCQl9CiAKIAkJZ290byByZWdpc3Rl cl9waHk7CiAJfQpAQCAtNTAyLDcgKzUxNCw4IEBAIGludCBvZl9waHlfcmVnaXN0ZXJfZml4ZWRf bGluayhzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQogCXJldHVybiAtRU5PREVWOwogCiByZWdpc3Rl cl9waHk6Ci0JcmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhmaXhlZF9waHlfcmVnaXN0ZXIoUEhZX1BP TEwsICZzdGF0dXMsIG5wKSk7CisJcmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhmaXhlZF9waHlfcmVn aXN0ZXIoUEhZX1BPTEwsICZzdGF0dXMsIG5wLAorCQkJICAgICAgIGdwaW9kKSk7CiB9CiBFWFBP UlRfU1lNQk9MKG9mX3BoeV9yZWdpc3Rlcl9maXhlZF9saW5rKTsKIApkaWZmIC0tZ2l0IGEvaW5j bHVkZS9saW51eC9waHlfZml4ZWQuaCBiL2luY2x1ZGUvbGludXgvcGh5X2ZpeGVkLmgKaW5kZXgg Yzc4ZmMyMDNkYjQzLi42OWNhYThjZGE3NjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcGh5 X2ZpeGVkLmgKKysrIGIvaW5jbHVkZS9saW51eC9waHlfZml4ZWQuaApAQCAtMTgsNyArMTgsOCBA QCBleHRlcm4gaW50IGZpeGVkX3BoeV9hZGQodW5zaWduZWQgaW50IGlycSwgaW50IHBoeV9pZCwK IAkJCSBzdHJ1Y3QgZml4ZWRfcGh5X3N0YXR1cyAqc3RhdHVzKTsKIGV4dGVybiBzdHJ1Y3QgcGh5 X2RldmljZSAqZml4ZWRfcGh5X3JlZ2lzdGVyKHVuc2lnbmVkIGludCBpcnEsCiAJCQkJCSAgICAg c3RydWN0IGZpeGVkX3BoeV9zdGF0dXMgKnN0YXR1cywKLQkJCQkJICAgICBzdHJ1Y3QgZGV2aWNl X25vZGUgKm5wKTsKKwkJCQkJICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAorCQkJCQkgICAg IHN0cnVjdCBncGlvX2Rlc2MgKmdwaW9kKTsKIGV4dGVybiB2b2lkIGZpeGVkX3BoeV91bnJlZ2lz dGVyKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYpOwogZXh0ZXJuIGludCBmaXhlZF9waHlfc2V0 X2xpbmtfdXBkYXRlKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYsCiAJCQlpbnQgKCpsaW5rX3Vw ZGF0ZSkoc3RydWN0IG5ldF9kZXZpY2UgKiwK