Date: Thu, 3 Nov 2011 13:22:13 +0530 From: "Jayachandran C." <jchandra@freebsd.org> To: Rafal Jaworowski <raj@semihalf.com>, Nathan Whitehorn <nwhitehorn@freebsd.org>, freebsd-arm@freebsd.org, freebsd-ppc@freebsd.org, FreeBSD Current <freebsd-current@freebsd.org> Cc: Marcel Moolenaar <marcel@freebsd.org> Subject: [RFC] Fix OF_finddevice return code for FDT Message-ID: <CA%2B7sy7DMHQgo8f%2Byj7oNOkti28Hg8zOtwJwhNCgVUdksMPru1g@mail.gmail.com> In-Reply-To: <CA%2B7sy7DJEHNjSQvL3mySEoN0KQyCbhwQF8odaoysTDkv1AQLRg@mail.gmail.com> References: <CA%2B7sy7DJEHNjSQvL3mySEoN0KQyCbhwQF8odaoysTDkv1AQLRg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--0016e65a0986df04a304b0cfdd47 Content-Type: text/plain; charset=ISO-8859-1 [I had posted this to freebsd-ppc@ and freebsd-arm@, did not see any comments, posting to freebsd-current@ to see if there is any interest or comments] While reviewing the previous FDT patch, nwhitehorn@ noted that the return code of OF_finddevice was not correct in case of FDT. According to the 1275 standard, we should return a phandle value of -1 in case of error, but the ofw_fdt_finddevice implementation now returns 0. The attached patches fixes this in the FDT code, and makes changes in the callers to check the return code correctly. Since most of the callers are in ARM, any testing on ARM would be really appreciated. Thanks, JC. --0016e65a0986df04a304b0cfdd47 Content-Type: application/octet-stream; name="fdt-finddevice-fix.patch" Content-Disposition: attachment; filename="fdt-finddevice-fix.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gtygvap00 Y29tbWl0IDgxMDc2ZThhYTRjYmYyM2M4YWQ4OTBlYzg1MTVmNzkxN2JhZTJhYjgKQXV0aG9yOiBK YXlhY2hhbmRyYW4gQyA8amF5YWNoYW5kcmFuY0BuZXRsb2dpY21pY3JvLmNvbT4KRGF0ZTogICBU dWUgT2N0IDE4IDAwOjU3OjQ2IDIwMTEgKzA1MzAKCiAgICBPRl9maW5kZGV2aWNlIHNob3VsZCBy ZXR1cm4gLTEgb24gZXJyb3IKICAgIAogICAgRml4IHRoZSBpbXBsZW1lbnRhdGlvbiwgYW5kIGZp eHVwIHRoZSBjYWxsZXJzLgoKZGlmZiAtLWdpdCBhL3N5cy9kZXYvZmR0L2ZkdF9jb21tb24uYyBi L3N5cy9kZXYvZmR0L2ZkdF9jb21tb24uYwppbmRleCBkMjU3MTViLi44NzAyZGYyIDEwMDY0NAot LS0gYS9zeXMvZGV2L2ZkdC9mZHRfY29tbW9uLmMKKysrIGIvc3lzL2Rldi9mZHQvZmR0X2NvbW1v bi5jCkBAIC03NCwxMyArNzQsMTMgQEAgZmR0X2ltbXJfYWRkcih2bV9vZmZzZXRfdCBpbW1yX3Zh KQogCS8qCiAJICogVHJ5IHRvIGFjY2VzcyB0aGUgU09DIG5vZGUgZGlyZWN0bHkgaS5lLiB0aHJv dWdoIC9hbGlhc2VzLy4KIAkgKi8KLQlpZiAoKG5vZGUgPSBPRl9maW5kZGV2aWNlKCJzb2MiKSkg IT0gMCkKKwlpZiAoKG5vZGUgPSBPRl9maW5kZGV2aWNlKCJzb2MiKSkgIT0gLTEpCiAJCWlmIChm ZHRfaXNfY29tcGF0aWJsZV9zdHJpY3Qobm9kZSwgInNpbXBsZS1idXMiKSkKIAkJCWdvdG8gbW92 ZW9uOwogCS8qCiAJICogRmluZCB0aGUgbm9kZSB0aGUgbG9uZyB3YXkuCiAJICovCi0JaWYgKChu b2RlID0gT0ZfZmluZGRldmljZSgiLyIpKSA9PSAwKQorCWlmICgobm9kZSA9IE9GX2ZpbmRkZXZp Y2UoIi8iKSkgPT0gLTEpCiAJCXJldHVybiAoRU5YSU8pOwogCiAJaWYgKChub2RlID0gZmR0X2Zp bmRfY29tcGF0aWJsZShub2RlLCAic2ltcGxlLWJ1cyIsIDEpKSA9PSAwKQpAQCAtNTc2LDcgKzU3 Niw3IEBAIGZkdF9nZXRfbWVtX3JlZ2lvbnMoc3RydWN0IG1lbV9yZWdpb24gKm1yLCBpbnQgKm1y Y250LCB1aW50MzJfdCAqbWVtc2l6ZSkKIAogCW1heF9zaXplID0gc2l6ZW9mKHJlZyk7CiAJbWVt b3J5ID0gT0ZfZmluZGRldmljZSgiL21lbW9yeSIpOwotCWlmIChtZW1vcnkgPD0gMCkgeworCWlm IChtZW1vcnkgPT0gLTEpIHsKIAkJcnYgPSBFTlhJTzsKIAkJZ290byBvdXQ7CiAJfQpkaWZmIC0t Z2l0IGEvc3lzL2Rldi9mZHQvZmR0YnVzLmMgYi9zeXMvZGV2L2ZkdC9mZHRidXMuYwppbmRleCBl MjgwOGQxLi5kNTI5NmE5IDEwMDY0NAotLS0gYS9zeXMvZGV2L2ZkdC9mZHRidXMuYworKysgYi9z eXMvZGV2L2ZkdC9mZHRidXMuYwpAQCAtMTc3LDcgKzE3Nyw3IEBAIGZkdGJ1c19hdHRhY2goZGV2 aWNlX3QgZGV2KQogCXVfbG9uZyBzdGFydCwgZW5kOwogCWludCBlcnJvcjsKIAotCWlmICgocm9v dCA9IE9GX3BlZXIoMCkpID09IDApCisJaWYgKChyb290ID0gT0ZfZmluZGRldmljZSgiLyIpKSA9 PSAtMSkKIAkJcGFuaWMoImZkdGJ1c19hdHRhY2g6IG5vIHJvb3Qgbm9kZS4iKTsKIAogCXNjID0g ZGV2aWNlX2dldF9zb2Z0YyhkZXYpOwpkaWZmIC0tZ2l0IGEvc3lzL2Rldi9vZncvb2Z3X2ZkdC5j IGIvc3lzL2Rldi9vZncvb2Z3X2ZkdC5jCmluZGV4IDgwNmYxN2MuLjdiM2IwZTkgMTAwNjQ0Ci0t LSBhL3N5cy9kZXYvb2Z3L29md19mZHQuYworKysgYi9zeXMvZGV2L29mdy9vZndfZmR0LmMKQEAg LTM5Miw2ICszOTIsOCBAQCBvZndfZmR0X2ZpbmRkZXZpY2Uob2Z3X3Qgb2Z3LCBjb25zdCBjaGFy ICpkZXZpY2UpCiAJaW50IG9mZnNldDsKIAogCW9mZnNldCA9IGZkdF9wYXRoX29mZnNldChmZHRw LCBkZXZpY2UpOworCWlmIChvZmZzZXQgPCAwKQorCQlyZXR1cm4gKC0xKTsKIAlyZXR1cm4gKGZk dF9vZmZzZXRfcGhhbmRsZShvZmZzZXQpKTsKIH0KIApAQCAtNDIwLDcgKzQyMiw3IEBAIG9md19m ZHRfZml4dXAob2Z3X3Qgb2Z3KQogCXNzaXplX3QgbGVuOwogCWludCBpOwogCi0JaWYgKChyb290 ID0gb2Z3X2ZkdF9maW5kZGV2aWNlKG9mdywgIi8iKSkgPT0gMCkKKwlpZiAoKHJvb3QgPSBvZndf ZmR0X2ZpbmRkZXZpY2Uob2Z3LCAiLyIpKSA9PSAtMSkKIAkJcmV0dXJuIChFTk9ERVYpOwogCiAJ aWYgKChsZW4gPSBvZndfZmR0X2dldHByb3BsZW4ob2Z3LCByb290LCAibW9kZWwiKSkgPD0gMCkK ZGlmZiAtLWdpdCBhL3N5cy9kZXYvb2Z3L29wZW5maXJtLmMgYi9zeXMvZGV2L29mdy9vcGVuZmly bS5jCmluZGV4IGE4Y2I4ZjcuLmY1NDNkY2UgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYvb2Z3L29wZW5m aXJtLmMKKysrIGIvc3lzL2Rldi9vZncvb3BlbmZpcm0uYwpAQCAtMTMxLDcgKzEzMSw3IEBAIE9G X2luaXQodm9pZCAqY29va2llKQogCiAJcnYgPSBPRldfSU5JVChvZndfb2JqLCBjb29raWUpOwog Ci0JaWYgKChjaG9zZW4gPSBPRl9maW5kZGV2aWNlKCIvY2hvc2VuIikpID4gMCkKKwlpZiAoKGNo b3NlbiA9IE9GX2ZpbmRkZXZpY2UoIi9jaG9zZW4iKSkgIT0gLTEpCiAJCWlmIChPRl9nZXRwcm9w KGNob3NlbiwgInN0ZG91dCIsICZzdGRvdXQsIHNpemVvZihzdGRvdXQpKSA9PSAtMSkKIAkJCXN0 ZG91dCA9IC0xOwogCmRpZmYgLS1naXQgYS9zeXMvZGV2L3VhcnQvdWFydF9idXNfZmR0LmMgYi9z eXMvZGV2L3VhcnQvdWFydF9idXNfZmR0LmMKaW5kZXggNDIwOTg2Ni4uOGJiNjJlYSAxMDA2NDQK LS0tIGEvc3lzL2Rldi91YXJ0L3VhcnRfYnVzX2ZkdC5jCisrKyBiL3N5cy9kZXYvdWFydC91YXJ0 X2J1c19mZHQuYwpAQCAtMTU1LDExICsxNTUsMTEgQEAgdWFydF9jcHVfZ2V0ZGV2KGludCBkZXZ0 eXBlLCBzdHJ1Y3QgdWFydF9kZXZpbmZvICpkaSkKIAkvKgogCSAqIFJldHJpZXZlIC9jaG9zZW4v c3Rke2luLG91dH0uCiAJICovCi0JaWYgKChjaG9zZW4gPSBPRl9maW5kZGV2aWNlKCIvY2hvc2Vu IikpID09IDApCisJaWYgKChjaG9zZW4gPSBPRl9maW5kZGV2aWNlKCIvY2hvc2VuIikpID09IC0x KQogCQlyZXR1cm4gKEVOWElPKTsKIAlpZiAoT0ZfZ2V0cHJvcChjaG9zZW4sICJzdGRpbiIsIGJ1 Ziwgc2l6ZW9mKGJ1ZikpIDw9IDApCiAJCXJldHVybiAoRU5YSU8pOwotCWlmICgobm9kZSA9IE9G X2ZpbmRkZXZpY2UoYnVmKSkgPT0gMCkKKwlpZiAoKG5vZGUgPSBPRl9maW5kZGV2aWNlKGJ1Zikp ID09IC0xKQogCQlyZXR1cm4gKEVOWElPKTsKIAlpZiAoT0ZfZ2V0cHJvcChjaG9zZW4sICJzdGRv dXQiLCBidWYsIHNpemVvZihidWYpKSA8PSAwKQogCQlyZXR1cm4gKEVOWElPKTsK --0016e65a0986df04a304b0cfdd47 Content-Type: application/octet-stream; name="arm-fixes.patch" Content-Disposition: attachment; filename="arm-fixes.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gtygvc7g1 ZGlmZiAtLWdpdCBhL3N5cy9hcm0vbXYvY29tbW9uLmMgYi9zeXMvYXJtL212L2NvbW1vbi5jCmlu ZGV4IDQ1OTZhMjAuLmM3YmVhZTggMTAwNjQ0Ci0tLSBhL3N5cy9hcm0vbXYvY29tbW9uLmMKKysr IGIvc3lzL2FybS9tdi9jb21tb24uYwpAQCAtMTY5Myw3ICsxNjkzLDcgQEAgZmR0X2dldF9yYW5n ZXMoY29uc3QgY2hhciAqbm9kZW5hbWUsIHZvaWQgKmJ1ZiwgaW50IHNpemUsIGludCAqdHVwbGVz LAogCWludCBsZW4sIHR1cGxlX3NpemUsIHR1cGxlc19jb3VudDsKIAogCW5vZGUgPSBPRl9maW5k ZGV2aWNlKG5vZGVuYW1lKTsKLQlpZiAobm9kZSA8PSAwKQorCWlmIChub2RlID09IC0xKQogCQly ZXR1cm4gKEVJTlZBTCk7CiAKIAlpZiAoKGZkdF9hZGRyc2l6ZV9jZWxscyhub2RlLCAmYWRkcl9j ZWxscywgJnNpemVfY2VsbHMpKSAhPSAwKQpAQCAtMTc2MiwxMSArMTc2MiwxMSBAQCB3aW5fY3B1 X2Zyb21fZHQodm9pZCkKIAkvKgogCSAqIFJldHJpZXZlIENFU0EgU1JBTSBkYXRhLgogCSAqLwot CWlmICgobm9kZSA9IE9GX2ZpbmRkZXZpY2UoInNyYW0iKSkgIT0gMCkKKwlpZiAoKG5vZGUgPSBP Rl9maW5kZGV2aWNlKCJzcmFtIikpICE9IC0xKQogCQlpZiAoZmR0X2lzX2NvbXBhdGlibGUobm9k ZSwgIm1ydmwsY2VzYS1zcmFtIikpCiAJCQlnb3RvIG1vdmVvbjsKIAotCWlmICgobm9kZSA9IE9G X2ZpbmRkZXZpY2UoIi8iKSkgPT0gMCkKKwlpZiAoKG5vZGUgPSBPRl9maW5kZGV2aWNlKCIvIikp ICE9IC0xKQogCQlyZXR1cm4gKEVOWElPKTsKIAogCWlmICgobm9kZSA9IGZkdF9maW5kX2NvbXBh dGlibGUobm9kZSwgIm1ydmwsY2VzYS1zcmFtIiwgMCkpID09IDApCkBAIC0xNzk2LDcgKzE3OTYs NyBAQCBmZHRfd2luX3NldHVwKHZvaWQpCiAJaW50IGVyciwgaTsKIAogCW5vZGUgPSBPRl9maW5k ZGV2aWNlKCIvIik7Ci0JaWYgKG5vZGUgPT0gMCkKKwlpZiAobm9kZSA9PSAtMSkKIAkJcGFuaWMo ImZkdF93aW5fc2V0dXA6IG5vIHJvb3Qgbm9kZSIpOwogCiAJbm9kZSA9IGZkdF9maW5kX2NvbXBh dGlibGUobm9kZSwgInNpbXBsZS1idXMiLCAxKTsKZGlmZiAtLWdpdCBhL3N5cy9hcm0vbXYvbXZf bWFjaGRlcC5jIGIvc3lzL2FybS9tdi9tdl9tYWNoZGVwLmMKaW5kZXggZmQxNzY5Mi4uODgzOTc0 MCAxMDA2NDQKLS0tIGEvc3lzL2FybS9tdi9tdl9tYWNoZGVwLmMKKysrIGIvc3lzL2FybS9tdi9t dl9tYWNoZGVwLmMKQEAgLTYxNywxMyArNjE3LDEzIEBAIHBsYXRmb3JtX21wcF9pbml0KHZvaWQp CiAJLyoKIAkgKiBUcnkgdG8gYWNjZXNzIHRoZSBNUFAgbm9kZSBkaXJlY3RseSBpLmUuIHRocm91 Z2ggL2FsaWFzZXMvbXBwLgogCSAqLwotCWlmICgobm9kZSA9IE9GX2ZpbmRkZXZpY2UoIm1wcCIp KSAhPSAwKQorCWlmICgobm9kZSA9IE9GX2ZpbmRkZXZpY2UoIm1wcCIpKSAhPSAtMSkKIAkJaWYg KGZkdF9pc19jb21wYXRpYmxlKG5vZGUsICJtcnZsLG1wcCIpKQogCQkJZ290byBtb3Zlb247CiAJ LyoKIAkgKiBGaW5kIHRoZSBub2RlIHRoZSBsb25nIHdheS4KIAkgKi8KLQlpZiAoKG5vZGUgPSBP Rl9maW5kZGV2aWNlKCIvIikpID09IDApCisJaWYgKChub2RlID0gT0ZfZmluZGRldmljZSgiLyIp KSA9PSAtMSkKIAkJcmV0dXJuIChFTlhJTyk7CiAKIAlpZiAoKG5vZGUgPSBmZHRfZmluZF9jb21w YXRpYmxlKG5vZGUsICJzaW1wbGUtYnVzIiwgMCkpID09IDApCkBAIC03NTIsNyArNzUyLDcgQEAg cGxhdGZvcm1fZGV2bWFwX2luaXQodm9pZCkKIAkvKgogCSAqIFBDSSByYW5nZShzKS4KIAkgKi8K LQlpZiAoKHJvb3QgPSBPRl9maW5kZGV2aWNlKCIvIikpID09IDApCisJaWYgKChyb290ID0gT0Zf ZmluZGRldmljZSgiLyIpKSA9PSAtMSkKIAkJcmV0dXJuIChFTlhJTyk7CiAKIAlmb3IgKGNoaWxk ID0gT0ZfY2hpbGQocm9vdCk7IGNoaWxkICE9IDA7IGNoaWxkID0gT0ZfcGVlcihjaGlsZCkpCkBA IC03NzksNyArNzc5LDcgQEAgcGxhdGZvcm1fZGV2bWFwX2luaXQodm9pZCkKIAkvKgogCSAqIENF U0EgU1JBTSByYW5nZS4KIAkgKi8KLQlpZiAoKGNoaWxkID0gT0ZfZmluZGRldmljZSgic3JhbSIp KSAhPSAwKQorCWlmICgoY2hpbGQgPSBPRl9maW5kZGV2aWNlKCJzcmFtIikpICE9IC0xKQogCQlp ZiAoZmR0X2lzX2NvbXBhdGlibGUoY2hpbGQsICJtcnZsLGNlc2Etc3JhbSIpKQogCQkJZ290byBt b3Zlb247CiAK --0016e65a0986df04a304b0cfdd47 Content-Type: application/octet-stream; name="ppc-fixes.patch" Content-Disposition: attachment; filename="ppc-fixes.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gtygvczc2 ZGlmZiAtLWdpdCBhL3N5cy9kZXYvZmR0L2ZkdF9wb3dlcnBjLmMgYi9zeXMvZGV2L2ZkdC9mZHRf cG93ZXJwYy5jCmluZGV4IGVhNjE0ZGIuLmFjODFjMDggMTAwNjQ0Ci0tLSBhL3N5cy9kZXYvZmR0 L2ZkdF9wb3dlcnBjLmMKKysrIGIvc3lzL2Rldi9mZHQvZmR0X3Bvd2VycGMuYwpAQCAtNjIsNyAr NjIsNyBAQCBmZHRfZml4dXBfYnVzZnJlcShwaGFuZGxlX3Qgcm9vdCkKIAkgKiBUaGlzIGZpeHVw IHVzZXMgL2NwdXMvIGJ1cy1mcmVxdWVuY3kgcHJvcCB2YWx1ZSB0byBzZXQgc2ltcGxlLWJ1cwog CSAqIGJ1cy1mcmVxdWVuY3kgcHJvcGVydHkuCiAJICovCi0JaWYgKChjcHVzID0gT0ZfZmluZGRl dmljZSgiL2NwdXMiKSkgPT0gMCkKKwlpZiAoKGNwdXMgPSBPRl9maW5kZGV2aWNlKCIvY3B1cyIp KSA9PSAtMSkKIAkJcmV0dXJuOwogCiAJaWYgKChjaGlsZCA9IE9GX2NoaWxkKGNwdXMpKSA9PSAw KQpkaWZmIC0tZ2l0IGEvc3lzL3Bvd2VycGMvYm9va2UvcGxhdGZvcm1fYmFyZS5jIGIvc3lzL3Bv d2VycGMvYm9va2UvcGxhdGZvcm1fYmFyZS5jCmluZGV4IGNhM2NmYTIuLmYwNGJmOTYgMTAwNjQ0 Ci0tLSBhL3N5cy9wb3dlcnBjL2Jvb2tlL3BsYXRmb3JtX2JhcmUuYworKysgYi9zeXMvcG93ZXJw Yy9ib29rZS9wbGF0Zm9ybV9iYXJlLmMKQEAgLTE4OSw3ICsxODksNyBAQCBiYXJlX3RpbWViYXNl X2ZyZXEocGxhdGZvcm1fdCBwbGF0LCBzdHJ1Y3QgY3B1cmVmICpjcHVyZWYpCiAJfSBlbHNlCiAJ CXRpY2tzID0gMDsKIAotCWlmICgoY3B1cyA9IE9GX2ZpbmRkZXZpY2UoIi9jcHVzIikpID09IDAp CisJaWYgKChjcHVzID0gT0ZfZmluZGRldmljZSgiL2NwdXMiKSkgPT0gLTEpCiAJCWdvdG8gb3V0 OwogCiAJaWYgKChjaGlsZCA9IE9GX2NoaWxkKGNwdXMpKSA9PSAwKQo= --0016e65a0986df04a304b0cfdd47--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B7sy7DMHQgo8f%2Byj7oNOkti28Hg8zOtwJwhNCgVUdksMPru1g>