linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 5/6] lightnvm: expose device geometry through sysfs
@ 2016-06-10 12:22 Matias Bjørling
  0 siblings, 0 replies; 4+ messages in thread
From: Matias Bjørling @ 2016-06-10 12:22 UTC (permalink / raw)
  To: linux-block, linux-kernel, axboe, keith.busch, linux-nvme
  Cc: Simon A. F. Lund, Matias Bjørling

RnJvbTogIlNpbW9uIEEuIEYuIEx1bmQiIDxzbHVuZEBjbmV4bGFicy5jb20+CgpGb3IgYSBob3N0
IHRvIGFjY2VzcyBhbiBPcGVuLUNoYW5uZWwgU1NELCBpdCBoYXMgdG8ga25vdyBpdHMgZ2VvbWV0
cnksCnNvIHRoYXQgaXQgd3JpdGVzIGFuZCByZWFkcyBhdCB0aGUgYXBwcm9wcmlhdGUgZGV2aWNl
IGJvdW5kcy4KCkN1cnJlbnRseSwgdGhlIGdlb21ldHJ5IGluZm9ybWF0aW9uIGlzIGtlcHQgd2l0
aGluIHRoZSBrZXJuZWwsIGFuZCBub3QKZXhwb3J0ZWQgdG8gdXNlci1zcGFjZSBmb3IgY29uc3Vt
cHRpb24uIFRoaXMgcGF0Y2ggZXhwb3NlcyB0aGUKY29uZmlndXJhdGlvbiB0aHJvdWdoIHN5c2Zz
IGFuZCBlbmFibGVzIHVzZXItc3BhY2UgbGlicmFyaWVzLCBzdWNoIGFzCmxpYmxpZ2h0bnZtLCB0
byB1c2UgdGhlIHN5c2ZzIGltcGxlbWVudGF0aW9uIHRvIGdldCB0aGUgZ2VvbWV0cnkgb2YgYW4K
T3Blbi1DaGFubmVsIFNTRC4KClRoZSBzeXNmcyBlbnRyaWVzIGFyZSBzdG9yZWQgd2l0aGluIHRo
ZSBkZXZpY2UgaGllcmFyY2h5LCBhbmQgY2FuIGJlCmZvdW5kIHVzaW5nIHRoZSAibGlnaHRudm0i
IGRldmljZSB0eXBlLgoKQW4gZXhhbXBsZSBjb25maWd1cmF0aW9uIGxvb2tzIGxpa2UgdGhpczoK
Ci9zeXMvY2xhc3MvbnZtZS8K4pSU4pSA4pSAIG52bWUwbjEKICAg4pSc4pSA4pSAIGNhcGFiaWxp
dGllczogMwogICDilJzilIDilIAgZGV2aWNlX21vZGU6IDEKICAg4pSc4pSA4pSAIGNoYW5uZWxf
cGFyYWxsZWxpc206IDAKICAg4pSc4pSA4pSAIGVyYXNlX21heDogMTAwMDAwMAogICDilJzilIDi
lIAgZXJhc2VfdHlwOiAxMDAwMDAwCiAgIOKUnOKUgOKUgCBmbGFzaF9tZWRpYV90eXBlOiAwCiAg
IOKUnOKUgOKUgCBtZWRpYV9jYXBhYmlsaXRpZXM6IDB4MDAwMDAwMDEKICAg4pSc4pSA4pSAIG1l
ZGlhX3R5cGU6IDAKICAg4pSc4pSA4pSAIG11bHRpcGxhbmU6IDB4MDAwMTAxMDEKICAg4pSc4pSA
4pSAIG51bV9ibG9ja3M6IDEwMjIKICAg4pSc4pSA4pSAIG51bV9jaGFubmVsczogMQogICDilJzi
lIDilIAgbnVtX2x1bnM6IDQKICAg4pSc4pSA4pSAIG51bV9wYWdlczogNjQKICAg4pSc4pSA4pSA
IG51bV9wbGFuZXM6IDEKICAg4pSc4pSA4pSAIHBhZ2Vfc2l6ZTogNDA5NgogICDilJzilIDilIAg
cHJvZ19tYXg6IDEwMDAwMAogICDilJzilIDilIAgcHJvZ190eXA6IDEwMDAwMAogICDilJzilIDi
lIAgcmVhZF9tYXg6IDEwMDAwCiAgIOKUnOKUgOKUgCByZWFkX3R5cDogMTAwMDAKICAg4pSc4pSA
4pSAIHNlY3Rvcl9vb2Jfc2l6ZTogMAogICDilJzilIDilIAgc2VjdG9yX3NpemU6IDQwOTYKICAg
4pSc4pSA4pSAIG1lZGlhX21hbmFnZXI6IGdlbm52bQogICDilJzilIDilIAgcHBhX2Zvcm1hdDog
MHgzODA4MzAwODI4MDgwMDEwMTAxMDIwMDgKICAg4pSc4pSA4pSAIHZlbmRvcl9vcGNvZGU6IDAK
ICAg4pSU4pSA4pSAIHZlcnNpb246IDEKClNpZ25lZC1vZmYtYnk6IFNpbW9uIEEuIEYuIEx1bmQg
PHNsdW5kQGNuZXhsYWJzLmNvbT4KU2lnbmVkLW9mZi1ieTogTWF0aWFzIEJqw7hybGluZyA8bUBi
am9ybGluZy5tZT4KLS0tCiBkcml2ZXJzL2xpZ2h0bnZtL01ha2VmaWxlICAgIHwgICAyICstCiBk
cml2ZXJzL2xpZ2h0bnZtL2NvcmUuYyAgICAgIHwgIDIwICsrKy0tCiBkcml2ZXJzL2xpZ2h0bnZt
L2xpZ2h0bnZtLmggIHwgIDM1ICsrKysrKysrCiBkcml2ZXJzL2xpZ2h0bnZtL3N5c2ZzLmMgICAg
IHwgMTk1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZl
cnMvbnZtZS9ob3N0L2NvcmUuYyAgICAgfCAgMTMgKy0tCiBkcml2ZXJzL252bWUvaG9zdC9saWdo
dG52bS5jIHwgIDEyICsrLQogZHJpdmVycy9udm1lL2hvc3QvbnZtZS5oICAgICB8ICAyMCArKysr
LQogaW5jbHVkZS9saW51eC9saWdodG52bS5oICAgICB8ICAgMyArCiA4IGZpbGVzIGNoYW5nZWQs
IDI4MiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBk
cml2ZXJzL2xpZ2h0bnZtL2xpZ2h0bnZtLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2xp
Z2h0bnZtL3N5c2ZzLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2xpZ2h0bnZtL01ha2VmaWxlIGIv
ZHJpdmVycy9saWdodG52bS9NYWtlZmlsZQppbmRleCBhN2EwYTIyLi4xZjZiNjUyIDEwMDY0NAot
LS0gYS9kcml2ZXJzL2xpZ2h0bnZtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvbGlnaHRudm0vTWFr
ZWZpbGUKQEAgLTIsNiArMiw2IEBACiAjIE1ha2VmaWxlIGZvciBPcGVuLUNoYW5uZWwgU1NEcy4K
ICMKIAotb2JqLSQoQ09ORklHX05WTSkJCTo9IGNvcmUubyBzeXNibGsubworb2JqLSQoQ09ORklH
X05WTSkJCTo9IGNvcmUubyBzeXNibGsubyBzeXNmcy5vCiBvYmotJChDT05GSUdfTlZNX0dFTk5W
TSkgCSs9IGdlbm52bS5vCiBvYmotJChDT05GSUdfTlZNX1JSUEMpCQkrPSBycnBjLm8KZGlmZiAt
LWdpdCBhL2RyaXZlcnMvbGlnaHRudm0vY29yZS5jIGIvZHJpdmVycy9saWdodG52bS9jb3JlLmMK
aW5kZXggYWQyNzc2OC4uNjYxYzFiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9saWdodG52bS9jb3Jl
LmMKKysrIGIvZHJpdmVycy9saWdodG52bS9jb3JlLmMKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNs
dWRlIDxsaW51eC9saWdodG52bS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkL3N5c2N0bC5oPgog
CisjaW5jbHVkZSAibGlnaHRudm0uaCIKKwogc3RhdGljIExJU1RfSEVBRChudm1fdGd0X3R5cGVz
KTsKIHN0YXRpYyBERUNMQVJFX1JXU0VNKG52bV90Z3R0X2xvY2spOwogc3RhdGljIExJU1RfSEVB
RChudm1fbWdycyk7CkBAIC01OTMsMTUgKzU5NSwxOSBAQCBzdGF0aWMgdm9pZCBudm1fZnJlZV9t
Z3Ioc3RydWN0IG52bV9kZXYgKmRldikKIAlkZXYtPm10ID0gTlVMTDsKIH0KIAotc3RhdGljIHZv
aWQgbnZtX2ZyZWUoc3RydWN0IG52bV9kZXYgKmRldikKK3ZvaWQgbnZtX2ZyZWUoc3RydWN0IG52
bV9kZXYgKmRldikKIHsKIAlpZiAoIWRldikKIAkJcmV0dXJuOwogCiAJbnZtX2ZyZWVfbWdyKGRl
dik7CiAKKwlpZiAoZGV2LT5kbWFfcG9vbCkKKwkJZGV2LT5vcHMtPmRlc3Ryb3lfZG1hX3Bvb2wo
ZGV2LT5kbWFfcG9vbCk7CisKIAlrZnJlZShkZXYtPmxwdGJsKTsKIAlrZnJlZShkZXYtPmx1bl9t
YXApOworCWtmcmVlKGRldik7CiB9CiAKIHN0YXRpYyBpbnQgbnZtX2luaXQoc3RydWN0IG52bV9k
ZXYgKmRldikKQEAgLTY0OCwxMSArNjU0LDcgQEAgZXJyOgogCiBzdGF0aWMgdm9pZCBudm1fZXhp
dChzdHJ1Y3QgbnZtX2RldiAqZGV2KQogewotCWlmIChkZXYtPmRtYV9wb29sKQotCQlkZXYtPm9w
cy0+ZGVzdHJveV9kbWFfcG9vbChkZXYtPmRtYV9wb29sKTsKLQludm1fZnJlZShkZXYpOwotCi0J
cHJfaW5mbygibnZtOiBzdWNjZXNzZnVsbHkgdW5sb2FkZWRcbiIpOworCW52bV9zeXNmc191bnJl
Z2lzdGVyX2RldihkZXYpOwogfQogCiBzdHJ1Y3QgbnZtX2RldiAqbnZtX2FsbG9jX2RldihpbnQg
bm9kZSkKQEAgLTY4Myw2ICs2ODUsMTAgQEAgaW50IG52bV9yZWdpc3RlcihzdHJ1Y3QgbnZtX2Rl
diAqZGV2KQogCQl9CiAJfQogCisJcmV0ID0gbnZtX3N5c2ZzX3JlZ2lzdGVyX2RldihkZXYpOwor
CWlmIChyZXQpCisJCWdvdG8gZXJyX3BwYWxpc3Q7CisKIAlpZiAoZGV2LT5pZGVudGl0eS5jYXAg
JiBOVk1fSURfRENBUF9CQkxLTUdNVCkgewogCQlyZXQgPSBudm1fZ2V0X3N5c2Jsb2NrKGRldiwg
JmRldi0+c2IpOwogCQlpZiAoIXJldCkKQEAgLTY5OSw2ICs3MDUsOCBAQCBpbnQgbnZtX3JlZ2lz
dGVyKHN0cnVjdCBudm1fZGV2ICpkZXYpCiAJdXBfd3JpdGUoJm52bV9sb2NrKTsKIAogCXJldHVy
biAwOworZXJyX3BwYWxpc3Q6CisJZGV2LT5vcHMtPmRlc3Ryb3lfZG1hX3Bvb2woZGV2LT5kbWFf
cG9vbCk7CiBlcnJfaW5pdDoKIAlrZnJlZShkZXYtPmx1bl9tYXApOwogCXJldHVybiByZXQ7CmRp
ZmYgLS1naXQgYS9kcml2ZXJzL2xpZ2h0bnZtL2xpZ2h0bnZtLmggYi9kcml2ZXJzL2xpZ2h0bnZt
L2xpZ2h0bnZtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNmMWFhYwot
LS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvbGlnaHRudm0vbGlnaHRudm0uaApAQCAtMCwwICsx
LDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IENORVggTGFicy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIEluaXRpYWwgcmVsZWFzZTogTWF0aWFzIEJqb3JsaW5nIDxtYXRpYXNAY25l
eGxhYnMuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24KKyAqIDIgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICog
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LAorICogVVNBLgorICoK
KyAqLworCisjaWZuZGVmIExJR0hUTlZNX0gKKyNkZWZpbmUgTElHSFROVk1fSAorCisjaW5jbHVk
ZSA8bGludXgvbGlnaHRudm0uaD4KKworLyogY29yZSAtPiBzeXNmcy5jICovCitpbnQgbnZtX3N5
c2ZzX3JlZ2lzdGVyX2RldihzdHJ1Y3QgbnZtX2RldiAqKTsKK3ZvaWQgbnZtX3N5c2ZzX3VucmVn
aXN0ZXJfZGV2KHN0cnVjdCBudm1fZGV2ICopOworaW50IG52bV9zeXNmc19yZWdpc3Rlcih2b2lk
KTsKK3ZvaWQgbnZtX3N5c2ZzX3VucmVnaXN0ZXIodm9pZCk7CisKKy8qIHN5c2ZzID4gY29yZSAq
Lwordm9pZCBudm1fZnJlZShzdHJ1Y3QgbnZtX2RldiAqKTsKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9kcml2ZXJzL2xpZ2h0bnZtL3N5c2ZzLmMgYi9kcml2ZXJzL2xpZ2h0bnZtL3N5c2ZzLmMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcxNDE3MgotLS0gL2Rldi9udWxsCisr
KyBiL2RyaXZlcnMvbGlnaHRudm0vc3lzZnMuYwpAQCAtMCwwICsxLDE5NSBAQAorI2luY2x1ZGUg
PGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpZ2h0bnZtLmg+CisjaW5jbHVkZSA8
bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KKyNpbmNsdWRl
IDxsaW51eC9ibGstbXEuaD4KKworI2luY2x1ZGUgImxpZ2h0bnZtLmgiCisKK3N0YXRpYyBzc2l6
ZV90IG52bV9kZXZfYXR0cl9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgc3RydWN0IGRl
dmljZV9hdHRyaWJ1dGUgKmRhdHRyLCBjaGFyICpwYWdlKQoreworCXN0cnVjdCBudm1fZGV2ICpu
ZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IG52bV9kZXYsIGRldik7CisJc3RydWN0IG52
bV9pZCAqaWQgPSAmbmRldi0+aWRlbnRpdHk7CisJc3RydWN0IG52bV9pZF9ncm91cCAqZ3JwID0g
JmlkLT5ncm91cHNbMF07CisJc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciA9ICZkYXR0ci0+YXR0cjsK
KworCWlmIChzdHJjbXAoYXR0ci0+bmFtZSwgInZlcnNpb24iKSA9PSAwKSB7CisJCXJldHVybiBz
Y25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXVcbiIsIGlkLT52ZXJfaWQpOworCX0gZWxzZSBp
ZiAoc3RyY21wKGF0dHItPm5hbWUsICJ2ZW5kb3Jfb3Bjb2RlIikgPT0gMCkgeworCQlyZXR1cm4g
c2NucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiV1XG4iLCBpZC0+dm1udCk7CisJfSBlbHNlIGlm
IChzdHJjbXAoYXR0ci0+bmFtZSwgImNhcGFiaWxpdGllcyIpID09IDApIHsKKwkJcmV0dXJuIHNj
bnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIldVxuIiwgaWQtPmNhcCk7CisJfSBlbHNlIGlmIChz
dHJjbXAoYXR0ci0+bmFtZSwgImRldmljZV9tb2RlIikgPT0gMCkgeworCQlyZXR1cm4gc2NucHJp
bnRmKHBhZ2UsIFBBR0VfU0laRSwgIiV1XG4iLCBpZC0+ZG9tKTsKKwl9IGVsc2UgaWYgKHN0cmNt
cChhdHRyLT5uYW1lLCAibWVkaWFfbWFuYWdlciIpID09IDApIHsKKwkJaWYgKCFuZGV2LT5tdCkK
KwkJCXJldHVybiBzY25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsICJub25lIik7CisJ
CXJldHVybiBzY25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsIG5kZXYtPm10LT5uYW1l
KTsKKwl9IGVsc2UgaWYgKHN0cmNtcChhdHRyLT5uYW1lLCAicHBhX2Zvcm1hdCIpID09IDApIHsK
KwkJcmV0dXJuIHNjbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsCisJCQkiMHglMDJ4JTAyeCUwMngl
MDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnhcbiIsCisJCQlpZC0+cHBhZi5jaF9v
ZmZzZXQsIGlkLT5wcGFmLmNoX2xlbiwKKwkJCWlkLT5wcGFmLmx1bl9vZmZzZXQsIGlkLT5wcGFm
Lmx1bl9sZW4sCisJCQlpZC0+cHBhZi5wbG5fb2Zmc2V0LCBpZC0+cHBhZi5wbG5fbGVuLAorCQkJ
aWQtPnBwYWYuYmxrX29mZnNldCwgaWQtPnBwYWYuYmxrX2xlbiwKKwkJCWlkLT5wcGFmLnBnX29m
ZnNldCwgaWQtPnBwYWYucGdfbGVuLAorCQkJaWQtPnBwYWYuc2VjdF9vZmZzZXQsIGlkLT5wcGFm
LnNlY3RfbGVuKTsKKwl9IGVsc2UgaWYgKHN0cmNtcChhdHRyLT5uYW1lLCAibWVkaWFfdHlwZSIp
ID09IDApIHsJLyogdTggKi8KKwkJcmV0dXJuIHNjbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIl
dVxuIiwgZ3JwLT5tdHlwZSk7CisJfSBlbHNlIGlmIChzdHJjbXAoYXR0ci0+bmFtZSwgImZsYXNo
X21lZGlhX3R5cGUiKSA9PSAwKSB7CisJCXJldHVybiBzY25wcmludGYocGFnZSwgUEFHRV9TSVpF
LCAiJXVcbiIsIGdycC0+Zm10eXBlKTsKKwl9IGVsc2UgaWYgKHN0cmNtcChhdHRyLT5uYW1lLCAi
bnVtX2NoYW5uZWxzIikgPT0gMCkgeworCQlyZXR1cm4gc2NucHJpbnRmKHBhZ2UsIFBBR0VfU0la
RSwgIiV1XG4iLCBncnAtPm51bV9jaCk7CisJfSBlbHNlIGlmIChzdHJjbXAoYXR0ci0+bmFtZSwg
Im51bV9sdW5zIikgPT0gMCkgeworCQlyZXR1cm4gc2NucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwg
IiV1XG4iLCBncnAtPm51bV9sdW4pOworCX0gZWxzZSBpZiAoc3RyY21wKGF0dHItPm5hbWUsICJu
dW1fcGxhbmVzIikgPT0gMCkgeworCQlyZXR1cm4gc2NucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwg
IiV1XG4iLCBncnAtPm51bV9wbG4pOworCX0gZWxzZSBpZiAoc3RyY21wKGF0dHItPm5hbWUsICJu
dW1fYmxvY2tzIikgPT0gMCkgewkvKiB1MTYgKi8KKwkJcmV0dXJuIHNjbnByaW50ZihwYWdlLCBQ
QUdFX1NJWkUsICIldVxuIiwgZ3JwLT5udW1fYmxrKTsKKwl9IGVsc2UgaWYgKHN0cmNtcChhdHRy
LT5uYW1lLCAibnVtX3BhZ2VzIikgPT0gMCkgeworCQlyZXR1cm4gc2NucHJpbnRmKHBhZ2UsIFBB
R0VfU0laRSwgIiV1XG4iLCBncnAtPm51bV9wZyk7CisJfSBlbHNlIGlmIChzdHJjbXAoYXR0ci0+
bmFtZSwgInBhZ2Vfc2l6ZSIpID09IDApIHsKKwkJcmV0dXJuIHNjbnByaW50ZihwYWdlLCBQQUdF
X1NJWkUsICIldVxuIiwgZ3JwLT5mcGdfc3opOworCX0gZWxzZSBpZiAoc3RyY21wKGF0dHItPm5h
bWUsICJod19zZWN0b3Jfc2l6ZSIpID09IDApIHsKKwkJcmV0dXJuIHNjbnByaW50ZihwYWdlLCBQ
QUdFX1NJWkUsICIldVxuIiwgZ3JwLT5jc2Vjcyk7CisJfSBlbHNlIGlmIChzdHJjbXAoYXR0ci0+
bmFtZSwgIm9vYl9zZWN0b3Jfc2l6ZSIpID09IDApIHsvKiB1MzIgKi8KKwkJcmV0dXJuIHNjbnBy
aW50ZihwYWdlLCBQQUdFX1NJWkUsICIldVxuIiwgZ3JwLT5zb3MpOworCX0gZWxzZSBpZiAoc3Ry
Y21wKGF0dHItPm5hbWUsICJyZWFkX3R5cCIpID09IDApIHsKKwkJcmV0dXJuIHNjbnByaW50Zihw
YWdlLCBQQUdFX1NJWkUsICIldVxuIiwgZ3JwLT50cmR0KTsKKwl9IGVsc2UgaWYgKHN0cmNtcChh
dHRyLT5uYW1lLCAicmVhZF9tYXgiKSA9PSAwKSB7CisJCXJldHVybiBzY25wcmludGYocGFnZSwg
UEFHRV9TSVpFLCAiJXVcbiIsIGdycC0+dHJkbSk7CisJfSBlbHNlIGlmIChzdHJjbXAoYXR0ci0+
bmFtZSwgInByb2dfdHlwIikgPT0gMCkgeworCQlyZXR1cm4gc2NucHJpbnRmKHBhZ2UsIFBBR0Vf
U0laRSwgIiV1XG4iLCBncnAtPnRwcnQpOworCX0gZWxzZSBpZiAoc3RyY21wKGF0dHItPm5hbWUs
ICJwcm9nX21heCIpID09IDApIHsKKwkJcmV0dXJuIHNjbnByaW50ZihwYWdlLCBQQUdFX1NJWkUs
ICIldVxuIiwgZ3JwLT50cHJtKTsKKwl9IGVsc2UgaWYgKHN0cmNtcChhdHRyLT5uYW1lLCAiZXJh
c2VfdHlwIikgPT0gMCkgeworCQlyZXR1cm4gc2NucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiV1
XG4iLCBncnAtPnRiZXQpOworCX0gZWxzZSBpZiAoc3RyY21wKGF0dHItPm5hbWUsICJlcmFzZV9t
YXgiKSA9PSAwKSB7CisJCXJldHVybiBzY25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXVcbiIs
IGdycC0+dGJlbSk7CisJfSBlbHNlIGlmIChzdHJjbXAoYXR0ci0+bmFtZSwgIm11bHRpcGxhbmVf
bW9kZXMiKSA9PSAwKSB7CisJCXJldHVybiBzY25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiMHgl
MDh4XG4iLCBncnAtPm1wb3MpOworCX0gZWxzZSBpZiAoc3RyY21wKGF0dHItPm5hbWUsICJtZWRp
YV9jYXBhYmlsaXRpZXMiKSA9PSAwKSB7CisJCXJldHVybiBzY25wcmludGYocGFnZSwgUEFHRV9T
SVpFLCAiMHglMDh4XG4iLCBncnAtPm1jY2FwKTsKKwl9IGVsc2UgaWYgKHN0cmNtcChhdHRyLT5u
YW1lLCAiY2hhbm5lbF9wYXJhbGxlbGlzbSIpID09IDApIHsvKiB1MTYgKi8KKwkJcmV0dXJuIHNj
bnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIldVxuIiwgZ3JwLT5jcGFyKTsKKwl9IGVsc2Ugewor
CQlyZXR1cm4gc2NucHJpbnRmKHBhZ2UsCisJCQkJIFBBR0VfU0laRSwKKwkJCQkgIlVuaGFuZGxl
ZCBhdHRyKCVzKSBpbiBgbnZtX2Rldl9hdHRyX3Nob3dgXG4iLAorCQkJCSBhdHRyLT5uYW1lKTsK
Kwl9Cit9CisKKyNkZWZpbmUgTlZNX0RFVl9BVFRSX1JPKF9uYW1lKQkJCQkJCVwKKwlERVZJQ0Vf
QVRUUihfbmFtZSwgU19JUlVHTywgbnZtX2Rldl9hdHRyX3Nob3csIE5VTEwpCisKK3N0YXRpYyBO
Vk1fREVWX0FUVFJfUk8odmVyc2lvbik7CitzdGF0aWMgTlZNX0RFVl9BVFRSX1JPKHZlbmRvcl9v
cGNvZGUpOworc3RhdGljIE5WTV9ERVZfQVRUUl9STyhjYXBhYmlsaXRpZXMpOworc3RhdGljIE5W
TV9ERVZfQVRUUl9STyhkZXZpY2VfbW9kZSk7CitzdGF0aWMgTlZNX0RFVl9BVFRSX1JPKHBwYV9m
b3JtYXQpOworc3RhdGljIE5WTV9ERVZfQVRUUl9STyhtZWRpYV9tYW5hZ2VyKTsKKworc3RhdGlj
IE5WTV9ERVZfQVRUUl9STyhtZWRpYV90eXBlKTsKK3N0YXRpYyBOVk1fREVWX0FUVFJfUk8oZmxh
c2hfbWVkaWFfdHlwZSk7CitzdGF0aWMgTlZNX0RFVl9BVFRSX1JPKG51bV9jaGFubmVscyk7Citz
dGF0aWMgTlZNX0RFVl9BVFRSX1JPKG51bV9sdW5zKTsKK3N0YXRpYyBOVk1fREVWX0FUVFJfUk8o
bnVtX3BsYW5lcyk7CitzdGF0aWMgTlZNX0RFVl9BVFRSX1JPKG51bV9ibG9ja3MpOworc3RhdGlj
IE5WTV9ERVZfQVRUUl9STyhudW1fcGFnZXMpOworc3RhdGljIE5WTV9ERVZfQVRUUl9STyhwYWdl
X3NpemUpOworc3RhdGljIE5WTV9ERVZfQVRUUl9STyhod19zZWN0b3Jfc2l6ZSk7CitzdGF0aWMg
TlZNX0RFVl9BVFRSX1JPKG9vYl9zZWN0b3Jfc2l6ZSk7CitzdGF0aWMgTlZNX0RFVl9BVFRSX1JP
KHJlYWRfdHlwKTsKK3N0YXRpYyBOVk1fREVWX0FUVFJfUk8ocmVhZF9tYXgpOworc3RhdGljIE5W
TV9ERVZfQVRUUl9STyhwcm9nX3R5cCk7CitzdGF0aWMgTlZNX0RFVl9BVFRSX1JPKHByb2dfbWF4
KTsKK3N0YXRpYyBOVk1fREVWX0FUVFJfUk8oZXJhc2VfdHlwKTsKK3N0YXRpYyBOVk1fREVWX0FU
VFJfUk8oZXJhc2VfbWF4KTsKK3N0YXRpYyBOVk1fREVWX0FUVFJfUk8obXVsdGlwbGFuZV9tb2Rl
cyk7CitzdGF0aWMgTlZNX0RFVl9BVFRSX1JPKG1lZGlhX2NhcGFiaWxpdGllcyk7CitzdGF0aWMg
TlZNX0RFVl9BVFRSX1JPKGNoYW5uZWxfcGFyYWxsZWxpc20pOworCisjZGVmaW5lIE5WTV9ERVZf
QVRUUihfbmFtZSkgKGRldl9hdHRyXyMjX25hbWUjIykKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1
dGUgKm52bV9kZXZfYXR0cnNbXSA9IHsKKwkmZGV2X2F0dHJfdmVyc2lvbi5hdHRyLAorCSZkZXZf
YXR0cl92ZW5kb3Jfb3Bjb2RlLmF0dHIsCisJJmRldl9hdHRyX2NhcGFiaWxpdGllcy5hdHRyLAor
CSZkZXZfYXR0cl9kZXZpY2VfbW9kZS5hdHRyLAorCSZkZXZfYXR0cl9tZWRpYV9tYW5hZ2VyLmF0
dHIsCisKKwkmZGV2X2F0dHJfcHBhX2Zvcm1hdC5hdHRyLAorCSZkZXZfYXR0cl9tZWRpYV90eXBl
LmF0dHIsCisJJmRldl9hdHRyX2ZsYXNoX21lZGlhX3R5cGUuYXR0ciwKKwkmZGV2X2F0dHJfbnVt
X2NoYW5uZWxzLmF0dHIsCisJJmRldl9hdHRyX251bV9sdW5zLmF0dHIsCisJJmRldl9hdHRyX251
bV9wbGFuZXMuYXR0ciwKKwkmZGV2X2F0dHJfbnVtX2Jsb2Nrcy5hdHRyLAorCSZkZXZfYXR0cl9u
dW1fcGFnZXMuYXR0ciwKKwkmZGV2X2F0dHJfcGFnZV9zaXplLmF0dHIsCisJJmRldl9hdHRyX2h3
X3NlY3Rvcl9zaXplLmF0dHIsCisJJmRldl9hdHRyX29vYl9zZWN0b3Jfc2l6ZS5hdHRyLAorCSZk
ZXZfYXR0cl9yZWFkX3R5cC5hdHRyLAorCSZkZXZfYXR0cl9yZWFkX21heC5hdHRyLAorCSZkZXZf
YXR0cl9wcm9nX3R5cC5hdHRyLAorCSZkZXZfYXR0cl9wcm9nX21heC5hdHRyLAorCSZkZXZfYXR0
cl9lcmFzZV90eXAuYXR0ciwKKwkmZGV2X2F0dHJfZXJhc2VfbWF4LmF0dHIsCisJJmRldl9hdHRy
X211bHRpcGxhbmVfbW9kZXMuYXR0ciwKKwkmZGV2X2F0dHJfbWVkaWFfY2FwYWJpbGl0aWVzLmF0
dHIsCisJJmRldl9hdHRyX2NoYW5uZWxfcGFyYWxsZWxpc20uYXR0ciwKKwlOVUxMLAorfTsKKwor
c3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgbnZtX2Rldl9hdHRyX2dyb3VwID0geworCS5u
YW1lID0gImxpZ2h0bnZtIiwKKwkuYXR0cnMgPSBudm1fZGV2X2F0dHJzLAorfTsKKworc3RhdGlj
IGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKm52bV9kZXZfYXR0cl9ncm91cHNbXSA9IHsK
KwkmbnZtX2Rldl9hdHRyX2dyb3VwLAorCU5VTEwsCit9OworCitzdGF0aWMgdm9pZCBudm1fZGV2
X3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2aWNlKQoreworCXN0cnVjdCBudm1fZGV2ICpkZXYg
PSBjb250YWluZXJfb2YoZGV2aWNlLCBzdHJ1Y3QgbnZtX2RldiwgZGV2KTsKKwlzdHJ1Y3QgcmVx
dWVzdF9xdWV1ZSAqcSA9IGRldi0+cTsKKworCXByX2RlYnVnKCJudm0vc3lzZnM6IGBudm1fZGV2
X3JlbGVhc2VgXG4iKTsKKworCWJsa19tcV91bnJlZ2lzdGVyX2RldihkZXZpY2UsIHEpOworCisJ
bnZtX2ZyZWUoZGV2KTsKK30KKworc3RhdGljIHN0cnVjdCBkZXZpY2VfdHlwZSBudm1fdHlwZSA9
IHsKKwkubmFtZQkJPSAibGlnaHRudm0iLAorCS5ncm91cHMJCT0gbnZtX2Rldl9hdHRyX2dyb3Vw
cywKKwkucmVsZWFzZQk9IG52bV9kZXZfcmVsZWFzZSwKK307CisKK2ludCBudm1fc3lzZnNfcmVn
aXN0ZXJfZGV2KHN0cnVjdCBudm1fZGV2ICpkZXYpCit7CisJaWYgKCFkZXYtPnBhcmVudF9kZXYp
CisJCXJldHVybiAwOworCisJZGV2LT5kZXYucGFyZW50ID0gZGV2LT5wYXJlbnRfZGV2OworCWRl
dl9zZXRfbmFtZSgmZGV2LT5kZXYsICIlcyIsIGRldi0+bmFtZSk7CisJZGV2LT5kZXYuY2xhc3Mg
PSBkZXYtPnBhcmVudF9kZXYtPmNsYXNzOworCWRldi0+ZGV2LnR5cGUgPSAmbnZtX3R5cGU7CisJ
ZGV2aWNlX2luaXRpYWxpemUoJmRldi0+ZGV2KTsKKwlkZXZpY2VfYWRkKCZkZXYtPmRldik7CisK
KwlibGtfbXFfcmVnaXN0ZXJfZGV2KCZkZXYtPmRldiwgZGV2LT5xKTsKKworCXJldHVybiAwOwor
fQorCit2b2lkIG52bV9zeXNmc191bnJlZ2lzdGVyX2RldihzdHJ1Y3QgbnZtX2RldiAqZGV2KQor
eworCWlmIChkZXYgJiYgZGV2LT5wYXJlbnRfZGV2KQorCQlrb2JqZWN0X3B1dCgmZGV2LT5kZXYu
a29iaik7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL252bWUvaG9zdC9jb3JlLmMgYi9kcml2ZXJz
L252bWUvaG9zdC9jb3JlLmMKaW5kZXggZmUxMzVkOS4uMWM1ODY5MiAxMDA2NDQKLS0tIGEvZHJp
dmVycy9udm1lL2hvc3QvY29yZS5jCisrKyBiL2RyaXZlcnMvbnZtZS9ob3N0L2NvcmUuYwpAQCAt
MTI5Niw3ICsxMjk2LDcgQEAgc3RhdGljIERFVklDRV9BVFRSKHJlc2Nhbl9jb250cm9sbGVyLCBT
X0lXVVNSLCBOVUxMLCBudm1lX3N5c2ZzX3Jlc2Nhbik7CiBzdGF0aWMgc3NpemVfdCB3d2lkX3No
b3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKIAkJ
CQkJCQkJY2hhciAqYnVmKQogewotCXN0cnVjdCBudm1lX25zICpucyA9IGRldl90b19kaXNrKGRl
diktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgbnZtZV9ucyAqbnMgPSBudm1lX2dldF9uc19mcm9t
X2RldihkZXYpOwogCXN0cnVjdCBudm1lX2N0cmwgKmN0cmwgPSBucy0+Y3RybDsKIAlpbnQgc2Vy
aWFsX2xlbiA9IHNpemVvZihjdHJsLT5zZXJpYWwpOwogCWludCBtb2RlbF9sZW4gPSBzaXplb2Yo
Y3RybC0+bW9kZWwpOwpAQCAtMTMyMCw3ICsxMzIwLDcgQEAgc3RhdGljIERFVklDRV9BVFRSKHd3
aWQsIFNfSVJVR08sIHd3aWRfc2hvdywgTlVMTCk7CiBzdGF0aWMgc3NpemVfdCB1dWlkX3Nob3co
c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKIAkJCQkJ
CQkJY2hhciAqYnVmKQogewotCXN0cnVjdCBudm1lX25zICpucyA9IGRldl90b19kaXNrKGRldikt
PnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgbnZtZV9ucyAqbnMgPSBudm1lX2dldF9uc19mcm9tX2Rl
dihkZXYpOwogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVwVVxuIiwgbnMtPnV1aWQpOwogfQogc3Rh
dGljIERFVklDRV9BVFRSKHV1aWQsIFNfSVJVR08sIHV1aWRfc2hvdywgTlVMTCk7CkBAIC0xMzI4
LDcgKzEzMjgsNyBAQCBzdGF0aWMgREVWSUNFX0FUVFIodXVpZCwgU19JUlVHTywgdXVpZF9zaG93
LCBOVUxMKTsKIHN0YXRpYyBzc2l6ZV90IGV1aV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3Ry
dWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJCQkJCQkJCWNoYXIgKmJ1ZikKIHsKLQlzdHJ1
Y3QgbnZtZV9ucyAqbnMgPSBkZXZfdG9fZGlzayhkZXYpLT5wcml2YXRlX2RhdGE7CisJc3RydWN0
IG52bWVfbnMgKm5zID0gbnZtZV9nZXRfbnNfZnJvbV9kZXYoZGV2KTsKIAlyZXR1cm4gc3ByaW50
ZihidWYsICIlOHBoZFxuIiwgbnMtPmV1aSk7CiB9CiBzdGF0aWMgREVWSUNFX0FUVFIoZXVpLCBT
X0lSVUdPLCBldWlfc2hvdywgTlVMTCk7CkBAIC0xMzM2LDcgKzEzMzYsNyBAQCBzdGF0aWMgREVW
SUNFX0FUVFIoZXVpLCBTX0lSVUdPLCBldWlfc2hvdywgTlVMTCk7CiBzdGF0aWMgc3NpemVfdCBu
c2lkX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0
ciwKIAkJCQkJCQkJY2hhciAqYnVmKQogewotCXN0cnVjdCBudm1lX25zICpucyA9IGRldl90b19k
aXNrKGRldiktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgbnZtZV9ucyAqbnMgPSBudm1lX2dldF9u
c19mcm9tX2RldihkZXYpOwogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBucy0+bnNfaWQp
OwogfQogc3RhdGljIERFVklDRV9BVFRSKG5zaWQsIFNfSVJVR08sIG5zaWRfc2hvdywgTlVMTCk7
CkBAIC0xMzUzLDcgKzEzNTMsNyBAQCBzdGF0aWMgdW1vZGVfdCBudm1lX2F0dHJzX2FyZV92aXNp
YmxlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCQlzdHJ1Y3QgYXR0cmlidXRlICphLCBpbnQgbikK
IHsKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGRldmlj
ZSwga29iaik7Ci0Jc3RydWN0IG52bWVfbnMgKm5zID0gZGV2X3RvX2Rpc2soZGV2KS0+cHJpdmF0
ZV9kYXRhOworCXN0cnVjdCBudm1lX25zICpucyA9IG52bWVfZ2V0X25zX2Zyb21fZGV2KGRldik7
CiAKIAlpZiAoYSA9PSAmZGV2X2F0dHJfdXVpZC5hdHRyKSB7CiAJCWlmICghbWVtY2hyX2ludihu
cy0+dXVpZCwgMCwgc2l6ZW9mKG5zLT51dWlkKSkpCkBAIC0xNDc0LDcgKzE0NzQsOCBAQCBzdGF0
aWMgdm9pZCBudm1lX2FsbG9jX25zKHN0cnVjdCBudm1lX2N0cmwgKmN0cmwsIHVuc2lnbmVkIG5z
aWQpCiAJc3ByaW50ZihkaXNrX25hbWUsICJudm1lJWRuJWQiLCBjdHJsLT5pbnN0YW5jZSwgbnMt
Pmluc3RhbmNlKTsKIAogCWlmIChudm1lX252bV9uc19zdXBwb3J0ZWQobnMsIGlkKSkgewotCQlp
ZiAobnZtZV9udm1fcmVnaXN0ZXIobnMsIGRpc2tfbmFtZSwgbm9kZSkpIHsKKwkJaWYgKG52bWVf
bnZtX3JlZ2lzdGVyKG5zLCBkaXNrX25hbWUsIG5vZGUsCisJCQkJCQkJJm52bWVfbnNfYXR0cl9n
cm91cCkpIHsKIAkJCWRldl93YXJuKGN0cmwtPmRldiwgIiVzOiBMaWdodE5WTSBpbml0IGZhaWx1
cmVcbiIsCiAJCQkJCQkJCV9fZnVuY19fKTsKIAkJCWdvdG8gb3V0X2ZyZWVfaWQ7CmRpZmYgLS1n
aXQgYS9kcml2ZXJzL252bWUvaG9zdC9saWdodG52bS5jIGIvZHJpdmVycy9udm1lL2hvc3QvbGln
aHRudm0uYwppbmRleCAwOTVlNThlLi4zNGJlYTg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL252bWUv
aG9zdC9saWdodG52bS5jCisrKyBiL2RyaXZlcnMvbnZtZS9ob3N0L2xpZ2h0bnZtLmMKQEAgLTU5
MiwxMCArNTkyLDEyIEBAIHN0YXRpYyBzdHJ1Y3QgbnZtX2Rldl9vcHMgbnZtZV9udm1fZGV2X29w
cyA9IHsKIAkubWF4X3BoeXNfc2VjdAkJPSA2NCwKIH07CiAKLWludCBudm1lX252bV9yZWdpc3Rl
cihzdHJ1Y3QgbnZtZV9ucyAqbnMsIGNoYXIgKmRpc2tfbmFtZSwgaW50IG5vZGUpCitpbnQgbnZt
ZV9udm1fcmVnaXN0ZXIoc3RydWN0IG52bWVfbnMgKm5zLCBjaGFyICpkaXNrX25hbWUsIGludCBu
b2RlLAorCQkgICAgICBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICphdHRycykKIHsKIAlz
dHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IG5zLT5xdWV1ZTsKIAlzdHJ1Y3QgbnZtX2RldiAqZGV2
OworCWludCByZXQ7CiAKIAlkZXYgPSBudm1fYWxsb2NfZGV2KG5vZGUpOwogCWlmICghZGV2KQpA
QCAtNjA0LDkgKzYwNiwxNSBAQCBpbnQgbnZtZV9udm1fcmVnaXN0ZXIoc3RydWN0IG52bWVfbnMg
Km5zLCBjaGFyICpkaXNrX25hbWUsIGludCBub2RlKQogCWRldi0+cSA9IHE7CiAJbWVtY3B5KGRl
di0+bmFtZSwgZGlza19uYW1lLCBESVNLX05BTUVfTEVOKTsKIAlkZXYtPm9wcyA9ICZudm1lX252
bV9kZXZfb3BzOworCWRldi0+cGFyZW50X2RldiA9IG5zLT5jdHJsLT5kZXZpY2U7CisJZGV2LT5w
cml2YXRlX2RhdGEgPSBuczsKIAlucy0+bmRldiA9IGRldjsKIAotCXJldHVybiBudm1fcmVnaXN0
ZXIoZGV2KTsKKwlyZXQgPSBudm1fcmVnaXN0ZXIoZGV2KTsKKwlpZiAoc3lzZnNfY3JlYXRlX2dy
b3VwKCZkZXYtPmRldi5rb2JqLCBhdHRycykpCisJCXByX3dhcm4oIiVzOiBmYWlsZWQgdG8gY3Jl
YXRlIHN5c2ZzIGdyb3VwIGZvciBpZGVudGlmaWNhdGlvblxuIiwKKwkJCW5zLT5kaXNrLT5kaXNr
X25hbWUpOworCXJldHVybiByZXQ7CiB9CiAKIHZvaWQgbnZtZV9udm1fdW5yZWdpc3RlcihzdHJ1
Y3QgbnZtZV9ucyAqbnMpCmRpZmYgLS1naXQgYS9kcml2ZXJzL252bWUvaG9zdC9udm1lLmggYi9k
cml2ZXJzL252bWUvaG9zdC9udm1lLmgKaW5kZXggN2I0OWI0NS4uNDNhNmU5MyAxMDA2NDQKLS0t
IGEvZHJpdmVycy9udm1lL2hvc3QvbnZtZS5oCisrKyBiL2RyaXZlcnMvbnZtZS9ob3N0L252bWUu
aApAQCAtMjY3LDExICsyNjcsMjEgQEAgaW50IG52bWVfc2dfZ2V0X3ZlcnNpb25fbnVtKGludCBf
X3VzZXIgKmlwKTsKIAogI2lmZGVmIENPTkZJR19OVk0KIGludCBudm1lX252bV9uc19zdXBwb3J0
ZWQoc3RydWN0IG52bWVfbnMgKm5zLCBzdHJ1Y3QgbnZtZV9pZF9ucyAqaWQpOwotaW50IG52bWVf
bnZtX3JlZ2lzdGVyKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBjaGFyICpkaXNrX25hbWUpOwot
dm9pZCBudm1lX252bV91bnJlZ2lzdGVyKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBjaGFyICpk
aXNrX25hbWUpOworaW50IG52bWVfbnZtX3JlZ2lzdGVyKHN0cnVjdCBudm1lX25zICpucywgY2hh
ciAqZGlza19uYW1lLCBpbnQgbm9kZSwKKwkJICAgICAgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9n
cm91cCAqYXR0cnMpOwordm9pZCBudm1lX252bV91bnJlZ2lzdGVyKHN0cnVjdCBudm1lX25zICpu
cyk7CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IG52bWVfbnMgKm52bWVfZ2V0X25zX2Zyb21fZGV2
KHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlpZiAoZGV2LT50eXBlLT5kZXZub2RlKQorCQlyZXR1
cm4gZGV2X3RvX2Rpc2soZGV2KS0+cHJpdmF0ZV9kYXRhOworCisJcmV0dXJuIChjb250YWluZXJf
b2YoZGV2LCBzdHJ1Y3QgbnZtX2RldiwgZGV2KSktPnByaXZhdGVfZGF0YTsKK30KICNlbHNlCiBz
dGF0aWMgaW5saW5lIGludCBudm1lX252bV9yZWdpc3RlcihzdHJ1Y3QgbnZtZV9ucyAqbnMsIGNo
YXIgKmRpc2tfbmFtZSwKLQkJCQkJCQkJaW50IG5vZGUpCisJCQkJICAgIGludCBub2RlLAorCQkJ
CSAgICBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICphdHRycykKIHsKIAlyZXR1cm4gMDsK
IH0KQEAgLTI4Miw2ICsyOTIsMTAgQEAgc3RhdGljIGlubGluZSBpbnQgbnZtZV9udm1fbnNfc3Vw
cG9ydGVkKHN0cnVjdCBudm1lX25zICpucywgc3RydWN0IG52bWVfaWRfbnMgKmkKIHsKIAlyZXR1
cm4gMDsKIH0KK3N0YXRpYyBpbmxpbmUgc3RydWN0IG52bWVfbnMgKm52bWVfZ2V0X25zX2Zyb21f
ZGV2KHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlyZXR1cm4gZGV2X3RvX2Rpc2soZGV2KS0+cHJp
dmF0ZV9kYXRhOworfQogI2VuZGlmIC8qIENPTkZJR19OVk0gKi8KIAogaW50IF9faW5pdCBudm1l
X2NvcmVfaW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbGlnaHRudm0uaCBi
L2luY2x1ZGUvbGludXgvbGlnaHRudm0uaAppbmRleCA1YWZjMjYzLi5kMTkwNzg2IDEwMDY0NAot
LS0gYS9pbmNsdWRlL2xpbnV4L2xpZ2h0bnZtLmgKKysrIGIvaW5jbHVkZS9saW51eC9saWdodG52
bS5oCkBAIC0zNTIsNyArMzUyLDEwIEBAIHN0cnVjdCBudm1fZGV2IHsKIAogCS8qIEJhY2tlbmQg
ZGV2aWNlICovCiAJc3RydWN0IHJlcXVlc3RfcXVldWUgKnE7CisJc3RydWN0IGRldmljZSBkZXY7
CisJc3RydWN0IGRldmljZSAqcGFyZW50X2RldjsKIAljaGFyIG5hbWVbRElTS19OQU1FX0xFTl07
CisJdm9pZCAqcHJpdmF0ZV9kYXRhOwogCiAJc3RydWN0IG11dGV4IG1sb2NrOwogCXNwaW5sb2Nr
X3QgbG9jazsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTGludXgtbnZtZSBtYWlsaW5nIGxpc3QKTGludXgtbnZtZUBsaXN0cy5pbmZy
YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu
dXgtbnZtZQo=

^ permalink raw reply	[flat|nested] 4+ messages in thread
* [PATCH 0/6] enable sysfs for lightnvm
@ 2016-06-29 14:51 Matias Bjørling
  2016-06-29 14:51 ` [PATCH 5/6] lightnvm: expose device geometry through sysfs Matias Bjørling
  0 siblings, 1 reply; 4+ messages in thread
From: Matias Bjørling @ 2016-06-29 14:51 UTC (permalink / raw)
  To: linux-block, linux-kernel, axboe, keith.busch, linux-nvme,
	dm-devel
  Cc: Matias Bjørling

VGhlIGNvbW1vbiB3YXkgdG8gZXhwb3NlIGEgc3RvcmFnZSBkZXZpY2UgaXMgdG8gZXhwb3J0IGl0
IHRocm91Z2ggdGhlCmdlbmRpc2sgc3RydWN0dXJlLCB3aGljaCB0YWtlcyBjYXJlIG9mIGhhbmRs
aW5nIHRoZSB2aXNpYmlsaXR5IGxpZmV0aW1lCm9mIHRoZSBkZXZpY2UgdG8gdXNlci1zcGFjZSBh
bmQgY2FycmllcyBkZXZpY2UgZHJpdmVyIGFuZCBibG9jayBsYXllcgpzcGVjaWZpYyBzeXNmcyBl
bnRyaWVzLgoKRm9yIExpZ2h0TlZNLCBubyBnZW5kaXNrIGlzIGV4cG9zZWQsIHdoaWNoIGhpZGVz
IHRoZXNlIGVudHJpZXMuCgpUaGlzIHBhdGNoc2V0IGVuYWJsZXMgTGlnaHROVk0gdG8gZXhwb3Nl
IGEgc3Vic2V0IG9mIHRoZSBnZW5kaXNrIGVudHJpZXMKYnkgaW1wbGVtZW50aW5nIGEgbmV3IG5v
bi1nZW5kaXNrIGRldmljZSB0aGF0IG9ubHkgZXhwb3NlcyB0aGUgc3lzZnMKZW50cmllcyB0aGF0
IGFyZSByZWxldmFudCB0byB0aGUgZGV2aWNlIGRyaXZlciBhbmQgTGlnaHROVk0uIEZvciBleGFt
cGxlCi9tcSBhbmQgdGhlIE5WTWUgc3lzZnMgZW50cmllcy4KClRoZSBuZXcgbm9uLWdlbmRpc2sg
ZXhwb3NlcyBpdHNlbGYgaW4gcGxhY2Ugb2YgdGhlIG9yaWdpbmFsIGdlbmRpc2suClRodXMsIGEg
Z2VuZGlzayBkZXZpY2UgZXhwb3NlZCB0aHJvdWdoIC9zeXMvY2xhc3MvbnZtZS9udm1lMG4xLCB3
aWxsCnN0aWxsIGJlIGV4cG9zZWQgdGhyb3VnaCB0aGUgc2FtZSBkaXJlY3RvcnksIGFsdGhvdWdo
IG9ubHkgd2l0aCB0aGUgL21xLApsaWdodG52bSwgYW5kIG52bWUgc3BlY2lmaWMgZW50cmllcy4K
ClRoZSBMaWdodE5WTSBzdG9yYWdlIGRldmljZSBjYW4gYmUgZm91bmQgdGhyb3VnaCBzeXNmcyBi
eSBzZWFyY2hpbmcKZm9yIGRldmljZXMgdGhhdCBoYXMgdGhlICJsaWdodG52bSIgZGV2IHR5cGUu
CgpUaGUgcGF0Y2hlcyByZXF1aXJlIHRoZSBqdXN0IHBvc3RlZCBwYXRjaGVzIGJlZm9yZSB0aGV5
IGNhbiBiZSBhcHBsaWVkLgpUaGV5IGNhbiBhbHNvIGJlIGZvdW5kIGluIHRoZSBmb3ItNC44L3N5
c2ZzIGJyYW5jaCBhdDoKCiAgaHR0cHM6Ly9naXRodWIuY29tL09wZW5DaGFubmVsU1NEL2xpbnV4
LmdpdAoKdjM6CiAtIEZpeGVkIG1pc3NpbmcgZGl2aXNpbmcgYnkgbnZtZSBibG9jayBuci4KdjI6
CiAtIFVwZGF0ZWQgImV4cG9zZSBnZW5udm0gdGFyZ2V0IHR5cGUiIHRvIGV4cG9zZSBpdHMgb3du
IGtvYmplY3QsIHdoaWNoCiAgIHBibGsgYW5kIG90aGVycyBjYW4gaG9vayBpbnRvLgogLSBGaXhl
ZCBtaXNzaW5nIGRpc2tfbmFtZSBpbiBudWxsX2JsayBwYXRjaCBvbiBsaWdodG52bSBkZXZpY2UK
Ck1hdGlhcyBCasO4cmxpbmcgKDQpOgogIG52bWU6IHJlZmFjdG9yIG5hbWVzcGFjZXMgdG8gc3Vw
cG9ydCBub24tZ2VuZGlzayBkZXZpY2VzCiAgbnVsbF9ibGs6IHJlZmFjdG9yIHRvIHN1cHBvcnQg
bm9uLWdlbmRpc2sgZGV2aWNlcwogIGJsay1tcTogcmVnaXN0ZXIgZGV2aWNlIGluc3RlYWQgb2Yg
ZGlzawogIGxpZ2h0bnZtOiBsZXQgZHJpdmVycyBjb250cm9sIHRoZSBsaWZldGltZSBvZiBudm1f
ZGV2CgpTaW1vbiBBLiBGLiBMdW5kICgyKToKICBsaWdodG52bTogZXhwb3NlIGRldmljZSBnZW9t
ZXRyeSB0aHJvdWdoIHN5c2ZzCiAgbGlnaHRudm06IGV4cG9zZSBnZW5udm0gdGFyZ2V0IHR5cGUg
dGhyb3VnaCBzeXNmcwoKIGJsb2NrL2Jsay1tcS1zeXNmcy5jICAgICAgICAgfCAgMTMgKystCiBi
bG9jay9ibGstc3lzZnMuYyAgICAgICAgICAgIHwgICA0ICstCiBkcml2ZXJzL2Jsb2NrL251bGxf
YmxrLmMgICAgIHwgMTI4ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvbGln
aHRudm0vTWFrZWZpbGUgICAgfCAgIDIgKy0KIGRyaXZlcnMvbGlnaHRudm0vY29yZS5jICAgICAg
fCAgNTQgKysrKystLS0tLS0tCiBkcml2ZXJzL2xpZ2h0bnZtL2dlbm52bS5jICAgIHwgMTEyICsr
KysrKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvbGlnaHRudm0vbGlnaHRudm0uaCAgfCAg
MzUgKysrKysrKysKIGRyaXZlcnMvbGlnaHRudm0vc3lzZnMuYyAgICAgfCAxOTUgKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9tZC9kbS5jICAgICAg
ICAgICAgICB8ICAgMiArLQogZHJpdmVycy9udm1lL2hvc3QvY29yZS5jICAgICB8IDE2NSArKysr
KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvbnZtZS9ob3N0L2xpZ2h0
bnZtLmMgfCAgMzQgKysrKysrLS0KIGRyaXZlcnMvbnZtZS9ob3N0L252bWUuaCAgICAgfCAgMjYg
KysrKy0tCiBpbmNsdWRlL2xpbnV4L2Jsay1tcS5oICAgICAgIHwgICA0ICstCiBpbmNsdWRlL2xp
bnV4L2xpZ2h0bnZtLmggICAgIHwgIDI4ICsrKysrLS0KIDE0IGZpbGVzIGNoYW5nZWQsIDYwMyBp
bnNlcnRpb25zKCspLCAxOTkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy
cy9saWdodG52bS9saWdodG52bS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9saWdodG52
bS9zeXNmcy5jCgotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpMaW51eC1udm1lIG1haWxpbmcgbGlzdApMaW51eC1udm1lQGxpc3RzLmlu
ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s
aW51eC1udm1lCg==

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-07-01  7:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-10 12:22 [PATCH 5/6] lightnvm: expose device geometry through sysfs Matias Bjørling
  -- strict thread matches above, loose matches on Subject: below --
2016-06-29 14:51 [PATCH 0/6] enable sysfs for lightnvm Matias Bjørling
2016-06-29 14:51 ` [PATCH 5/6] lightnvm: expose device geometry through sysfs Matias Bjørling
2016-06-30 20:01   ` J Freyensee
2016-07-01  7:20     ` Matias Bjørling

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).