[PATCH 2/4] jset: Use TCON_WRAP instead of TCON

David Gibson <[email protected]> Sun, 23 Jul 2017 22:29:05 +1000
Newsgroups org.ozlabs.lists.ccan
Message-ID <[email protected]>
VENPTigpIHVzZXMgZmxleGlibGUtYXJyYXkgbWVtYmVycyB3aGljaCBhcmVuJ3QgYWxsb3dlZCBp
biB0aGUgbWlkZGxlCm9mIHN0cnVjdHVyZXMsIGV4Y2VwdCBhcyBhIGdjYyBleHRlbnNpb24uICBU
Q09OX1dSQVAoKSBhdm9pZHMgdGhpcyBhbmQgc28KaXMgbW9yZSBwb3J0YWJsZS4KClRoaXMgZG9l
c24ndCBjaGFuZ2UgdGhlIGpzZXQgaW50ZXJmYWNlLCBvbmx5IGl0cyBpbnRlcm5hbHMuCgpTaWdu
ZWQtb2ZmLWJ5OiBEYXZpZCBHaWJzb24gPGRhdmlkQGdpYnNvbi5kcm9wYmVhci5pZC5hdT4KLS0t
CiBjY2FuL2pzZXQvanNldC5oICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKyst
LS0tLS0tLS0tLS0tLS0tLQogY2Nhbi9qc2V0L3Rlc3QvcnVuLmMgfCAgOSArKysrKy0tLS0KIDIg
ZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvY2Nhbi9qc2V0L2pzZXQuaCBiL2NjYW4vanNldC9qc2V0LmgKaW5kZXggYmE3MmYwOTcu
LjkwNDk4MmQ2IDEwMDY0NAotLS0gYS9jY2FuL2pzZXQvanNldC5oCisrKyBiL2NjYW4vanNldC9q
c2V0LmgKQEAgLTMwLDggKzMwLDcgQEAgc3RydWN0IGpzZXQgewogICoJfTsKICAqLwogI2RlZmlu
ZSBKU0VUX01FTUJFUlModHlwZSkJCQlcCi0Jc3RydWN0IGpzZXQgcmF3OwkJCVwKLQlUQ09OKHR5
cGUgY2FuYXJ5KQorCVRDT05fV1JBUChzdHJ1Y3QganNldCwgdHlwZSBjYW5hcnkpIGpzZXRfCiAK
IC8qKgogICoganNldF9uZXcgLSBjcmVhdGUgYSBuZXcsIGVtcHR5IGpzZXQuCkBAIC00Nyw2ICs0
NiwxNCBAQCBzdHJ1Y3QganNldCB7CiAgKi8KICNkZWZpbmUganNldF9uZXcodHlwZSkgKCh0eXBl
ICopanNldF9uZXdfKHNpemVvZih0eXBlKSkpCiAKKworLyoqCisgKiBqc2V0X3Jhd18gLSB1bndy
YXAgdGhlIHR5cGVkIHNldCAod2l0aG91dCB0eXBlIGNoZWNraW5nKQorICogQHNldDogdGhlIHR5
cGVkIGpzZXQKKyAqLworI2RlZmluZSBqc2V0X3Jhd18oc2V0KQkodGNvbl91bndyYXAoJihzZXQp
LT5qc2V0XykpCisKKwogLyoqCiAgKiBqc2V0X2ZyZWUgLSBkZXN0cm95IGEganNldC4KICAqIEBz
ZXQ6IHRoZSBzZXQgcmV0dXJuZWQgZnJvbSBqc2V0X25ldy4KQEAgLTU0LDcgKzYxLDcgQEAgc3Ry
dWN0IGpzZXQgewogICogRXhhbXBsZToKICAqCWpzZXRfZnJlZShzZXQpOwogICovCi0jZGVmaW5l
IGpzZXRfZnJlZShzZXQpIGpzZXRfZnJlZV8oJihzZXQpLT5yYXcpCisjZGVmaW5lIGpzZXRfZnJl
ZShzZXQpIGpzZXRfZnJlZV8oanNldF9yYXdfKHNldCkpCiAKIC8qKgogICoganNldF9lcnJvciAt
IHRlc3QgZm9yIGFuIGVycm9yIGluIHRoZSBhIHByZXZpb3VzIGpzZXRfIG9wZXJhdGlvbi4KQEAg
LTc0LDggKzgxLDggQEAgc3RydWN0IGpzZXQgewogICoJaWYgKGVycnN0cikKICAqCQllcnJ4KDEs
ICJXb2FoLCBlcnJvciBvbiBuZXdseSBjcmVhdGVkIHNldD8hICVzIiwgZXJyc3RyKTsKICAqLwot
I2RlZmluZSBqc2V0X2Vycm9yKHNldCkgXAotCWpzZXRfZXJyb3JfKCYoc2V0KS0+cmF3KQorI2Rl
ZmluZSBqc2V0X2Vycm9yKHNldCkganNldF9lcnJvcl8oanNldF9yYXdfKHNldCkpCisKIAogLyoq
CiAgKiBqc2V0X3JhdyAtIHVud3JhcCB0aGUgdHlwZWQgc2V0IGFuZCBjaGVjayB0aGUgdHlwZQpA
QCAtODYsNyArOTMsOSBAQCBzdHJ1Y3QganNldCB7CiAgKiB2YXJpYWJsZSBpcyBvZiBhbiB1bmV4
cGVjdGVkIHR5cGUuICBJdCBpcyB1c2VkIGludGVybmFsbHkgd2hlcmUgd2UKICAqIG5lZWQgdG8g
YWNjZXNzIHRoZSByYXcgdW5kZXJseWluZyBqc2V0LgogICovCi0jZGVmaW5lIGpzZXRfcmF3KHNl
dCwgZXhwcikgKCZ0Y29uX2NoZWNrKChzZXQpLCBjYW5hcnksIChleHByKSktPnJhdykKKyNkZWZp
bmUganNldF9yYXcoc2V0LCBleHByKSBcCisJKHRjb25fdW53cmFwKHRjb25fY2hlY2soJihzZXQp
LT5qc2V0XywgY2FuYXJ5LCAoZXhwcikpKSkKKwogCiAvKioKICAqIGpzZXRfdGVzdCAtIHRlc3Qg
YSBiaXQgaW4gdGhlIGJpdHNldC4KQEAgLTEzNyw4ICsxNDYsOCBAQCBzdHJ1Y3QganNldCB7CiAg
KgkvLyBXZSBleHBlY3QgMTAwMCBlbnRyaWVzLgogICoJYXNzZXJ0KGpzZXRfY291bnQoc2V0KSA9
PSAxMDAwKTsKICAqLwotI2RlZmluZSBqc2V0X2NvdW50KHNldCkJCQkJXAotCWpzZXRfcG9wY291
bnRfKCYoc2V0KS0+cmF3LCAwLCAtMVVMKQorI2RlZmluZSBqc2V0X2NvdW50KHNldCkJXAorCWpz
ZXRfcG9wY291bnRfKGpzZXRfcmF3XyhzZXQpLCAwLCAtMVVMKQogCiAvKioKICAqIGpzZXRfcG9w
Y291bnQgLSBnZXQgcG9wdWxhdGlvbiBvZiAoc29tZSBwYXJ0IG9mKSBiaXRzZXQuCkBAIC0xODYs
NyArMTk1LDcgQEAgc3RydWN0IGpzZXQgewogICoJfQogICovCiAjZGVmaW5lIGpzZXRfbnRoKHNl
dCwgbiwgaW52YWxpZCkJCQkJCVwKLQl0Y29uX2Nhc3QoKHNldCksIGNhbmFyeSwJCQkJCVwKKwl0
Y29uX2Nhc3QoJihzZXQpLT5qc2V0XywgY2FuYXJ5LAkJCQlcCiAJCSAganNldF9udGhfKGpzZXRf
cmF3KChzZXQpLCAoaW52YWxpZCkpLAkJCVwKIAkJCSAgICAobiksICh1bnNpZ25lZCBsb25nKShp
bnZhbGlkKSkpCiAKQEAgLTIwNSw3ICsyMTQsNyBAQCBzdHJ1Y3QganNldCB7CiAgKglwcmludGYo
IlxuIik7CiAgKi8KICNkZWZpbmUganNldF9maXJzdChzZXQpCQkJCQkJXAotCXRjb25fY2FzdCgo
c2V0KSwgY2FuYXJ5LCBqc2V0X2ZpcnN0XygmKHNldCktPnJhdykpCisJdGNvbl9jYXN0KCYoc2V0
KS0+anNldF8sIGNhbmFyeSwganNldF9maXJzdF8oanNldF9yYXdfKHNldCkpKQogCiAvKioKICAq
IGpzZXRfbmV4dCAtIHJldHVybiB0aGUgbmV4dCBiaXQgd2hpY2ggaXMgc2V0IChtdXN0IG5vdCBj
b250YWluIDApLgpAQCAtMjE2LDcgKzIyNSw4IEBAIHN0cnVjdCBqc2V0IHsKICAqIGpzZXRfZmly
c3QuCiAgKi8KICNkZWZpbmUganNldF9uZXh0KHNldCwgcHJldikJCQkJCQlcCi0JdGNvbl9jYXN0
KChzZXQpLCBjYW5hcnksIGpzZXRfbmV4dF8oJihzZXQpLT5yYXcsICh1bnNpZ25lZCBsb25nKShw
cmV2KSkpCisJdGNvbl9jYXN0KCYoc2V0KS0+anNldF8sIGNhbmFyeSwJCQkJXAorCQkgIGpzZXRf
bmV4dF8oanNldF9yYXdfKHNldCksICh1bnNpZ25lZCBsb25nKShwcmV2KSkpCiAKIC8qKgogICog
anNldF9sYXN0IC0gcmV0dXJuIHRoZSBsYXN0IGJpdCB3aGljaCBpcyBzZXQgKG11c3Qgbm90IGNv
bnRhaW4gMCkuCkBAIC0yMzAsNyArMjQwLDcgQEAgc3RydWN0IGpzZXQgewogICoJcHJpbnRmKCJc
biIpOwogICovCiAjZGVmaW5lIGpzZXRfbGFzdChzZXQpCQkJCQkJXAotCXRjb25fY2FzdCgoc2V0
KSwgY2FuYXJ5LCBqc2V0X2xhc3RfKCYoc2V0KS0+cmF3KSkKKwl0Y29uX2Nhc3QoJihzZXQpLT5q
c2V0XywgY2FuYXJ5LCBqc2V0X2xhc3RfKGpzZXRfcmF3XyhzZXQpKSkKIAogLyoqCiAgKiBqc2V0
X3ByZXYgLSByZXR1cm4gdGhlIHByZXZpb3VzIGJpdCB3aGljaCBpcyBzZXQgKG11c3Qgbm90IGNv
bnRhaW4gMCkuCkBAIC0yNDEsNyArMjUxLDggQEAgc3RydWN0IGpzZXQgewogICoganNldF9sYXN0
LgogICovCiAjZGVmaW5lIGpzZXRfcHJldihzZXQsIHByZXYpCQkJCQkJXAotCXRjb25fY2FzdCgo
c2V0KSwgY2FuYXJ5LCBqc2V0X3ByZXZfKCYoc2V0KS0+cmF3LCAodW5zaWduZWQgbG9uZykocHJl
dikpKQorCXRjb25fY2FzdCgmKHNldCktPmpzZXRfLCBjYW5hcnksCQkJCVwKKwkJICBqc2V0X3By
ZXZfKGpzZXRfcmF3XyhzZXQpLCAodW5zaWduZWQgbG9uZykocHJldikpKQogCiAvKioKICAqIGpz
ZXRfZmlyc3RfY2xlYXIgLSByZXR1cm4gdGhlIGZpcnN0IGJpdCB3aGljaCBpcyB1bnNldApAQCAt
MjUxLDE3ICsyNjIsMTcgQEAgc3RydWN0IGpzZXQgewogICogc2V0IGlzIGZ1bGwuCiAgKi8KICNk
ZWZpbmUganNldF9maXJzdF9jbGVhcihzZXQpCQkJCQkJXAotCXRjb25fY2FzdCgoc2V0KSwgY2Fu
YXJ5LCBqc2V0X25leHRfY2xlYXJfKCYoc2V0KS0+cmF3LCAwKSkKKwl0Y29uX2Nhc3QoJihzZXQp
LT5qc2V0XywgY2FuYXJ5LCBqc2V0X25leHRfY2xlYXJfKGpzZXRfcmF3XyhzZXQpLCAwKSkKIAog
I2RlZmluZSBqc2V0X25leHRfY2xlYXIoc2V0LCBwcmV2KQkJCQkJXAotCXRjb25fY2FzdCgoc2V0
KSwgY2FuYXJ5LCBqc2V0X25leHRfY2xlYXJfKCYoc2V0KS0+cmF3LAkJXAorCXRjb25fY2FzdCgm
KHNldCktPmpzZXRfLCBjYW5hcnksIGpzZXRfbmV4dF9jbGVhcl8oanNldF9yYXdfKHNldCksIFwK
IAkJCQkJCSAgKHVuc2lnbmVkIGxvbmcpKHByZXYpKSkKIAogI2RlZmluZSBqc2V0X2xhc3RfY2xl
YXIoc2V0KQkJCQkJXAotCXRjb25fY2FzdCgoc2V0KSwgY2FuYXJ5LCBqc2V0X2xhc3RfY2xlYXJf
KCYoc2V0KS0+cmF3KSkKKwl0Y29uX2Nhc3QoJihzZXQpLT5qc2V0XywgY2FuYXJ5LCBqc2V0X2xh
c3RfY2xlYXJfKGpzZXRfcmF3XyhzZXQpKSkKIAogI2RlZmluZSBqc2V0X3ByZXZfY2xlYXIoc2V0
LCBwcmV2KQkJCQkJXAotCXRjb25fY2FzdCgoc2V0KSwgY2FuYXJ5LCBqc2V0X3ByZXZfY2xlYXJf
KCYoc2V0KS0+cmF3LAkJXAorCXRjb25fY2FzdCgmKHNldCktPmpzZXRfLCBjYW5hcnksIGpzZXRf
cHJldl9jbGVhcl8oanNldF9yYXdfKHNldCksIFwKIAkJCQkJCSAgKHVuc2lnbmVkIGxvbmcpKHBy
ZXYpKSkKIAogLyogUmF3IGZ1bmN0aW9ucyAqLwpkaWZmIC0tZ2l0IGEvY2Nhbi9qc2V0L3Rlc3Qv
cnVuLmMgYi9jY2FuL2pzZXQvdGVzdC9ydW4uYwppbmRleCBhMGZiOGE4Yy4uNDI1NTQ2ZmQgMTAw
NjQ0Ci0tLSBhL2NjYW4vanNldC90ZXN0L3J1bi5jCisrKyBiL2NjYW4vanNldC90ZXN0L3J1bi5j
CkBAIC0zNCw3ICszNCw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCWpz
ZXRfc2V0KHNldCwgMSArIChpIDw8IDQpKTsKIAogCS8qIFRoaXMgb25seSB0YWtlIDEuN01CIG9u
IG15IDMyLWJpdCBzeXN0ZW0uICovCi0JZGlhZygiJXUgYnl0ZXMgbWVtb3J5IHVzZWRcbiIsICh1
bnNpZ25lZClKdWR5MU1lbVVzZWQoc2V0LT5yYXcuanVkeSkpOworCWRpYWcoIiV1IGJ5dGVzIG1l
bW9yeSB1c2VkXG4iLAorCSAgICAgKHVuc2lnbmVkKUp1ZHkxTWVtVXNlZChqc2V0X3Jhd18oc2V0
KS0+anVkeSkpOwogCiAJb2sxKGpzZXRfcG9wY291bnQoc2V0LCAwLCAtMSkgPT0gMTAwMDAwMCk7
CiAJb2sxKGpzZXRfbnRoKHNldCwgMCwgLTEpID09IDEpOwpAQCAtNTMsMTMgKzU0LDEzIEBAIGlu
dCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJb2sxKGpzZXRfZXJyb3Ioc2V0KSA9PSBO
VUxMKTsKIAogCS8qIFRlc3QgZXJyb3IgaGFuZGxpbmcgKi8KLQlKVV9FUlJOTygmc2V0LT5yYXcu
ZXJyKSA9IDEwMDsKLQlKVV9FUlJJRCgmc2V0LT5yYXcuZXJyKSA9IDk5MTsKKwlKVV9FUlJOTygm
anNldF9yYXdfKHNldCktPmVycikgPSAxMDA7CisJSlVfRVJSSUQoJmpzZXRfcmF3XyhzZXQpLT5l
cnIpID0gOTkxOwogCWVyciA9IGpzZXRfZXJyb3Ioc2V0KTsKIAlvazEoZXJyKTsKIAlvazEoc3Ry
c3RyKGVyciwgIjEwMCIpKTsKIAlvazEoc3Ryc3RyKGVyciwgIjk5MSIpKTsKLQlvazEoZXJyID09
IHNldC0+cmF3LmVycnN0cik7CisJb2sxKGVyciA9PSBqc2V0X3Jhd18oc2V0KS0+ZXJyc3RyKTsK
IAlqc2V0X2ZyZWUoc2V0KTsKIAogCXJldHVybiBleGl0X3N0YXR1cygpOwotLSAKMi4xMy4zCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpjY2FuIG1haWxp
bmcgbGlzdApjY2FuQGxpc3RzLm96bGFicy5vcmcKaHR0cHM6Ly9saXN0cy5vemxhYnMub3JnL2xp
c3RpbmZvL2NjYW4K