From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 664E221A1348D for ; Fri, 5 May 2017 14:40:28 -0700 (PDT) From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm for 4.12 Date: Fri, 5 May 2017 21:40:03 +0000 Message-ID: <1494020401.23326.15.camel@intel.com> Content-Language: en-US Content-ID: <6C702CEA4A652845802D4612BB104A1E@intel.com> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-7" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: "torvalds@linux-foundation.org" Cc: "linux-block@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" List-ID: SGkgTGludXMsIHBsZWFzZSBwdWxsIGZyb206CgogIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9z Y20vbGludXgva2VybmVsL2dpdC9udmRpbW0vbnZkaW1tIHRhZ3MvbGlibnZkaW1tLWZvci00LjEy CgouLi50byByZWNlaXZlIHRoZSBsaWJudmRpbW0gdXBkYXRlIGZvciA0LjEyLiBUaGUgYnVsayBv ZiB0aGlzIGhhcyBiZWVuCmluIG11bHRpcGxlIC1uZXh0IHJlbGVhc2VzLiBUaGVyZSB3ZXJlIGEg ZmV3IGxhdGUgYnJlYWtpbmcgZml4ZXMgYW5kCnNtYWxsIGZlYXR1cmVzIHRoYXQgZ290IGFkZGVk IGluIHRoZSBsYXN0IGNvdXBsZSBkYXlzLCBidXQgdGhlIHdob2xlCnNldCBoYXMgcmVjZWl2ZWQg YSBidWlsZCBzdWNjZXNzIG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBrYnVpbGQgcm9ib3QuK0FLQQoK QW5vdGhlciBsYXRlIGNoYW5nZSB0aGF0IHdhcyBtZXJnZWQgdGhyb3VnaCB0aGUgeDg2L21tIHRy ZWUgY2F1c2VzIGEKY29uZmxpY3Qgd2l0aCB0aGlzIGJyYW5jaC4gVGhlIHByb3Bvc2VkIG1lcmdl IHJlc29sdXRpb24gYmVsb3cgbWF0Y2hlcwp3aGF0IFN0ZXBoZW4gUm90aHdlbGwgY2FtZSB1cCB3 aXRoIGFzIHdlbGwuCgpMYXN0bHkgdGhlIGRlZmF1bHQgZGlmZnN0YXQgZnJvbSBnaXQgcmVxdWVz dC1wdWxsIHNob3dzIHNvbWUgY2hhbmdlcwpmcm9tIEdyZWcncyBjaGFyLW1pc2MgdHJlZSBiZWNh dXNlIEkgYmFzZWQgdGhlIGZvci00LjEyL2RheCB3b3JrIG9uIHRoZQpuZXcgY2Rldl9kZXZpY2Vf YWRkKCkgaGVscGVyIGFuZCByZWxhdGVkIGZhbGxvdXQgaW4gZHJpdmVycy9kYXgvLiBBCmNsZWFu ZXIgZGlmZnN0YXQgaXMgYWxzbyBpbmNsdWRlZCBiZWxvdyBzdGFydGluZyBmcm9tIGNvbW1pdApi ZmNhOWFjZjFhNWQgIk1lcmdlIGJyYW5jaCAnZm9yLTQuMTEvbGlibnZkaW1tJyBpbnRvIGZvci00 LjEyL2RheCIuCgpQbGVhc2UgcHVsbCwgdGhhbmtzIQoKZGlmZiAtLWNjIGRyaXZlcnMvbnZkaW1t L3BtZW0uYwppbmRleCBmYmM2NDBiZjA2YjAsNThkYjgxM2U3YjdiLi5jNTQ0ZDQ2NmVhNTEKLS0t IGEvZHJpdmVycy9udmRpbW0vcG1lbS5jCistKy0rLSBiL2RyaXZlcnMvbnZkaW1tL3BtZW0uYwpA QEAgLTIzMiwxNSAtMjQzLDE0ICstMjQ0LDE5IEBAQCBzdGF0aWMgdm9pZCBwbWVtX3JlbGVhc2Vf cXVldWUodm9pZCAqcQogIAlibGtfY2xlYW51cF9xdWV1ZShxKTsKICB9CiAgCiArLXN0YXRpYyB2 b2lkIHBtZW1fZnJlZXplX3F1ZXVlKHZvaWQgKnEpCiArLXsKICstCWJsa19mcmVlemVfcXVldWVf c3RhcnQocSk7CiArLX0KICstCi0gc3RhdGljIHZvaWQgcG1lbV9yZWxlYXNlX2Rpc2sodm9pZCAq ZGlzaykKKy0gc3RhdGljIHZvaWQgcG1lbV9yZWxlYXNlX2Rpc2sodm9pZCAqX19wbWVtKQogIHsK LSAJZGVsX2dlbmRpc2soZGlzayk7Ci0gCXB1dF9kaXNrKGRpc2spOworLSAJc3RydWN0IHBtZW1f ZGV2aWNlICpwbWVtID0gX19wbWVtOworLSAKKy0gCWtpbGxfZGF4KHBtZW0tPmRheF9kZXYpOwor LSAJcHV0X2RheChwbWVtLT5kYXhfZGV2KTsKKy0gCWRlbF9nZW5kaXNrKHBtZW0tPmRpc2spOwor LSAJcHV0X2Rpc2socG1lbS0+ZGlzayk7CiAgfQogIAogIHN0YXRpYyBpbnQgcG1lbV9hdHRhY2hf ZGlzayhzdHJ1Y3QgZGV2aWNlICpkZXYsCmRpZmYgLS1jYyBmcy9kYXguYwppbmRleCA2NDMzNjUw YmU4MzMsY2U5ZGM5YzNlODI5Li40M2JiZDZkMTAzN2QKLS0tIGEvZnMvZGF4LmMKKy0rLSstIGIv ZnMvZGF4LmMKQEBAIC05NzksMjQgLTk1NiwzNCArLTk2NSwzNCBAQEAgc3RhdGljIGJvb2wgZGF4 X3JhbmdlX2lzX2FsaWduZWQoc3RydWMKICAJcmV0dXJuIHRydWU7CiAgfQogIAotIGludCBfX2Rh eF96ZXJvX3BhZ2VfcmFuZ2Uoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwgc2VjdG9yX3Qgc2Vj dG9yLAotIAkJdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IGxlbmd0aCkKKy0gaW50 IF9fZGF4X3plcm9fcGFnZV9yYW5nZShzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LAorLSAJCXN0 cnVjdCBkYXhfZGV2aWNlICpkYXhfZGV2LCBzZWN0b3JfdCBzZWN0b3IsCistIAkJdW5zaWduZWQg aW50IG9mZnNldCwgdW5zaWduZWQgaW50IHNpemUpCiAgewotIAlzdHJ1Y3QgYmxrX2RheF9jdGwg ZGF4ID0gewotIAkJLnNlY3RvcgkJPSBzZWN0b3IsCi0gCQkuc2l6ZQkJPSBQQUdFX1NJWkUsCi0g CX07Ci0gCi0gCWlmIChkYXhfcmFuZ2VfaXNfYWxpZ25lZChiZGV2LCBvZmZzZXQsIGxlbmd0aCkp IHsKLSAJCXNlY3Rvcl90IHN0YXJ0X3NlY3RvciA9IGRheC5zZWN0b3IgKy0gKG9mZnNldCA+PiA5 KTsKKy0gCWlmIChkYXhfcmFuZ2VfaXNfYWxpZ25lZChiZGV2LCBvZmZzZXQsIHNpemUpKSB7Cist IAkJc2VjdG9yX3Qgc3RhcnRfc2VjdG9yID0gc2VjdG9yICstIChvZmZzZXQgPj4gOSk7CiAgCiAg CQlyZXR1cm4gYmxrZGV2X2lzc3VlX3plcm9vdXQoYmRldiwgc3RhcnRfc2VjdG9yLAotIAkJCQls ZW5ndGggPj4gOSwgR0ZQX05PRlMsIDApOwogLQkJCQlzaXplID4+IDksIEdGUF9OT0ZTLCB0cnVl KTsKKy0rLQkJCQlzaXplID4+IDksIEdGUF9OT0ZTLCAwKTsKICAJfSBlbHNlIHsKLSAJCWlmIChk YXhfbWFwX2F0b21pYyhiZGV2LCAmZGF4KSA8IDApCi0gCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk ZHIpOwotIAkJY2xlYXJfcG1lbShkYXguYWRkciArLSBvZmZzZXQsIGxlbmd0aCk7Ci0gCQlkYXhf dW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOworLSAJCXBnb2ZmX3QgcGdvZmY7CistIAkJbG9uZyBy YywgaWQ7CistIAkJdm9pZCAqa2FkZHI7CistIAkJcGZuX3QgcGZuOworLSAKKy0gCQlyYyA9IGJk ZXZfZGF4X3Bnb2ZmKGJkZXYsIHNlY3Rvciwgc2l6ZSwgJnBnb2ZmKTsKKy0gCQlpZiAocmMpCist IAkJCXJldHVybiByYzsKKy0gCistIAkJaWQgPSBkYXhfcmVhZF9sb2NrKCk7CistIAkJcmMgPSBk YXhfZGlyZWN0X2FjY2VzcyhkYXhfZGV2LCBwZ29mZiwgUEhZU19QRk4oc2l6ZSksICZrYWRkciwK Ky0gCQkJCSZwZm4pOworLSAJCWlmIChyYyA8IDApIHsKKy0gCQkJZGF4X3JlYWRfdW5sb2NrKGlk KTsKKy0gCQkJcmV0dXJuIHJjOworLSAJCX0KKy0gCQljbGVhcl9wbWVtKGthZGRyICstIG9mZnNl dCwgc2l6ZSk7CistIAkJZGF4X3JlYWRfdW5sb2NrKGlkKTsKICAJfQogIAlyZXR1cm4gMDsKICB9 CgoKVGhlIGZvbGxvd2luZyBjaGFuZ2VzIHNpbmNlIGNvbW1pdCAxMWU2M2Y2ZDkyMGQ2ZjJkZmQz Y2Q0MjFlOTM5YTRhZWM5YTU4ZGNkOgoKICB4ODYsIHBtZW06IGZpeCBicm9rZW4gX19jb3B5X3Vz ZXJfbm9jYWNoZSBjYWNoZS1ieXBhc3MgYXNzdW1wdGlvbnMgKDIwMTctMDQtMTIgMTM6NDU6MTgg LTA3MDApCgphcmUgYXZhaWxhYmxlIGluIHRoZSBnaXQgcmVwb3NpdG9yeSBhdDoKCiAgZ2l0Oi8v Z2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L252ZGltbS9udmRpbW0gdGFn cy9saWJudmRpbW0tZm9yLTQuMTIKCmZvciB5b3UgdG8gZmV0Y2ggY2hhbmdlcyB1cCB0byA3MzYx NjM2NzFiY2IxNjNmYzgyNjAwYjQ2YzgzZGZhODlkNTMyZDk1OgoKICBNZXJnZSBicmFuY2ggJ2Zv ci00LjEyL2RheCcgaW50byBsaWJudmRpbW0tZm9yLW5leHQgKDIwMTctMDUtMDQgMjM6Mzg6NDMg LTA3MDApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCmxpYm52ZGltbSBmb3IgNC4xMgoKKiBSZWdpb24gbWVkaWEgZXJyb3Ig cmVwb3J0aW5nOiBBIGxpYm52ZGltbSByZWdpb24gZGV2aWNlIGlzIHRoZSBwYXJlbnQKdG8gb25l IG9yIG1vcmUgbmFtZXNwYWNlcy4gVG8gZGF0ZSwgbWVkaWEgZXJyb3JzIGhhdmUgYmVlbiByZXBv cnRlZCB2aWEKdGhlICJiYWRibG9ja3MiIGF0dHJpYnV0ZSBhdHRhY2hlZCB0byBwbWVtIGJsb2Nr IGRldmljZXMgZm9yIG5hbWVzcGFjZXMKaW4gInJhdyIgb3IgIm1lbW9yeSIgbW9kZS4gR2l2ZW4g dGhhdCBuYW1lc3BhY2VzIGNhbiBiZSBpbiAiZGV2aWNlLWRheCIKb3IgImJ0dC1zZWN0b3IiIG1v ZGUgdGhpcyBuZXcgaW50ZXJmYWNlIHJlcG9ydHMgbWVkaWEgZXJyb3JzCmdlbmVyaWNhbGx5LCBp LmUuIGluZGVwZW5kZW50IG9mIG5hbWVzcGFjZSBtb2RlcyBvciBzdGF0ZS4gVGhpcwpzdWJzZXF1 ZW50bHkgYWxsb3dzIHVzZXJzcGFjZSB0b29saW5nIHRvIGNyYWZ0ICJBQ1BJIDYuMSBTZWN0aW9u CjkuMjAuNy42IEZ1bmN0aW9uIEluZGV4IDQgLSBDbGVhciBVbmNvcnJlY3RhYmxlIEVycm9yIiBy ZXF1ZXN0cyBhbmQKc3VibWl0IHRoZW0gdmlhIHRoZSBpb2N0bCBwYXRoIGZvciBOVkRJTU0gcm9v dCBidXMgZGV2aWNlcy4KCiogSW50cm9kdWNlICdzdHJ1Y3QgZGF4X2RldmljZScgYW5kICdzdHJ1 Y3QgZGF4X29wZXJhdGlvbnMnOiBQcm9tcHRlZCBieQphIHJlcXVlc3QgZnJvbSBMaW51cyBhbmQg ZmVlZGJhY2sgZnJvbSBDaHJpc3RvcGggdGhpcyBhbGxvd3MgZm9yIGRheApjYXBhYmxlIGRyaXZl cnMgdG8gcHVibGlzaCB0aGVpciBvd24gY3VzdG9tIGRheCBvcGVyYXRpb25zLiBUaGlzIGZpeGVz CnRoZSBicm9rZW4gYXNzdW1wdGlvbiB0aGF0IGFsbCBkYXggb3BlcmF0aW9ucyBhcmUgcmVsYXRl ZCB0byBhCnBlcnNpc3RlbnQgbWVtb3J5IGRldmljZSwgYW5kIG1ha2VzIGl0IGVhc2llciBmb3Ig b3RoZXIgYXJjaGl0ZWN0dXJlcwphbmQgcGxhdGZvcm1zIHRvIGFkZCBjdXN0b21pemVkIHBlcnNp c3RlbnQgbWVtb3J5IHN1cHBvcnQuCgoqICdsaWJudmRpbW0nIGNvcmUgdXBkYXRlczogQSBuZXcg ImRlZXBfZmx1c2giIHN5c2ZzIGF0dHJpYnV0ZSBpcwphdmFpbGFibGUgZm9yIHN0b3JhZ2UgYXBw bGlhbmNlIGFwcGxpY2F0aW9ucyB0byBtYW51YWxseSB0cmlnZ2VyIG1lbW9yeQpjb250cm9sbGVy cyB0byBkcmFpbiB3cml0ZS1wZW5kaW5nIGJ1ZmZlcnMgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUK Zmx1c2hlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBwbGF0Zm9ybSBBRFIgKGFzeW5jaHJvbm91cy1E UkFNLXJlZnJlc2gpCm1lY2hhbmlzbSBhdCBhIHBvd2VyIGxvc3MgZXZlbnQuIFN1cHBvcnQgZm9y ICJsb2NrZWQiIERJTU1zIGlzIGluY2x1ZGVkCnRvIHByZXZlbnQgbmFtZXNwYWNlcyBmcm9tIHN1 cmZhY2luZyB3aGVuIHRoZSBuYW1lc3BhY2UgbGFiZWwgZGF0YSBhcmVhCmlzIGxvY2tlZC4gRmlu YWxseSwgZml4ZXMgZm9yIHZhcmlvdXMgcmVwb3J0ZWQgZGVhZGxvY2tzIGFuZCBjcmFzaGVzLAph bHNvIHRhZ2dlZCBmb3IgLXN0YWJsZS4KCiogQUNQSSAvIG5maXQgZHJpdmVyIHVwZGF0ZXM6IEdl bmVyYWwgdXBkYXRlcyBvZiB0aGUgbmZpdCBkcml2ZXIgdG8gYWRkCkRTTSBjb21tYW5kIG92ZXJy aWRlcywgQUNQSSA2LjEgaGVhbHRoIHN0YXRlIGZsYWdzIHN1cHBvcnQsIERTTSBwYXlsb2FkCmRl YnVnIGF2YWlsYWJsZSBieSBkZWZhdWx0LCBhbmQgdmFyaW91cyBmaXhlcy4KCkFja25vd2xlZGdl bWVudHMgdGhhdCBjYW1lIGFmdGVyIHRoZSBicmFuY2ggd2FzIHB1c2hlZDoKCmNvbW1taXQgNTY1 ODUxYzk3MmI1ICJkZXZpY2UtZGF4OiBmaXggc3lzZnMgYXR0cmlidXRlIGRlYWRsb2NrIgpUZXN0 ZWQtYnk6IFlpIFpoYW5nIDx5aXpoYW5AcmVkaGF0LmNvbT4KCmNvbW1pdCAyM2Y0OTg0NDgzNjIg ImxpYm52ZGltbTogcmV3b3JrIHJlZ2lvbiBiYWRibG9ja3MgY2xlYXJpbmciClRlc3RlZC1ieTog VG9zaGkgS2FuaSA8dG9zaGkua2FuaUBocGUuY29tPgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpBcm5kIEJlcmdtYW5uICgx KToKICAgICAgYmxvY2ssIGRheDogdXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZyBpbiBiZGV2X2Rh eF9zdXBwb3J0ZWQKCkRhbiBXaWxsaWFtcyAoMzkpOgogICAgICBhY3BpLCBuZml0OiBmaXggYWNw aV9nZXRfdGFibGUgbGVhawogICAgICBNZXJnZSBicmFuY2ggJ2Zvci00LjExL2xpYm52ZGltbScg aW50byBmb3ItNC4xMi9kYXgKICAgICAgZGV2aWNlLWRheDogcmVuYW1lICdkYXhfZGV2JyB0byAn ZGV2X2RheCcKICAgICAgZGF4OiByZWZhY3RvciBkYXgtZnMgaW50byBhIGdlbmVyaWMgcHJvdmlk ZXIgb2YgJ3N0cnVjdCBkYXhfZGV2aWNlJyBpbnN0YW5jZXMKICAgICAgUmV2ZXJ0ICJsaWJudmRp bW06IGJhbmQgYWlkIGJ0dCB2cyBjbGVhciBwb2lzb24gbG9ja2luZyIKICAgICAgYWNwaSwgbmZp dDogYWRkIHN1cHBvcnQgZm9yIGFjcGkgNi4xIGRpbW0gc3RhdGUgZmxhZ3MKICAgICAgdG9vbHMv dGVzdGluZy9udmRpbW06IHRlc3QgYWNwaSA2LjEgaGVhbHRoIHN0YXRlIGZsYWdzCiAgICAgIGFj cGksIG5maXQ6IHN1cHBvcnQgIm1hcCBmYWlsZWQiIGRpbW1zCiAgICAgIGFjcGksIG5maXQ6IGNv bGxhdGUgaGVhbHRoIHN0YXRlIGZsYWdzCiAgICAgIGFjcGksIG5maXQ6IGxpbWl0IC0+Zmx1c2hf cHJvYmUoKSB0byBpbml0aWFsaXphdGlvbiB3b3JrCiAgICAgIHRvb2xzL3Rlc3RpbmcvbnZkaW1t OiBmaXggbmZpdF90ZXN0IHNodXRkb3duIGNyYXNoCiAgICAgIGFjcGksIG5maXQ6IGZpeCBtb2R1 bGUgdW5sb2FkIHZzIHdvcmtxdWV1ZSBzaHV0ZG93biByYWNlCiAgICAgIGRheDogYWRkIGEgZmFj aWxpdHkgdG8gbG9va3VwIGEgZGF4IGRldmljZSBieSAnaG9zdCcgZGV2aWNlIG5hbWUKICAgICAg ZGF4OiBpbnRyb2R1Y2UgZGF4X29wZXJhdGlvbnMKICAgICAgcG1lbTogYWRkIGRheF9vcGVyYXRp b25zIHN1cHBvcnQKICAgICAgYXhvbl9yYW06IGFkZCBkYXhfb3BlcmF0aW9ucyBzdXBwb3J0CiAg ICAgIGJyZDogYWRkIGRheF9vcGVyYXRpb25zIHN1cHBvcnQKICAgICAgZGNzc2JsazogYWRkIGRh eF9vcGVyYXRpb25zIHN1cHBvcnQKICAgICAgYmxvY2s6IGtpbGwgYmRldl9kYXhfY2FwYWJsZSgp CiAgICAgIGRheDogaW50cm9kdWNlIGRheF9kaXJlY3RfYWNjZXNzKCkKICAgICAgZG06IGFkZCBk YXhfZGV2aWNlIGFuZCBkYXhfb3BlcmF0aW9ucyBzdXBwb3J0CiAgICAgIGxpYm52ZGltbSwgcmVn aW9uOiBmaXggZmx1c2ggaGludCBkZXRlY3Rpb24gY3Jhc2gKICAgICAgZG06IHRlYWNoIGRtLXRh cmdldHMgdG8gdXNlIGEgZGF4X2RldmljZSArLSBkYXhfb3BlcmF0aW9ucwogICAgICBleHQyLCBl eHQ0LCB4ZnM6IHJldHJpZXZlIGRheF9kZXZpY2UgZm9yIGlvbWFwIG9wZXJhdGlvbnMKICAgICAg UmV2ZXJ0ICJibG9jazogdXNlIERBWCBmb3IgcGFydGl0aW9uIHRhYmxlIHJlYWRzIgogICAgICBm aWxlc3lzdGVtLWRheDogY29udmVydCB0byBkYXhfZGlyZWN0X2FjY2VzcygpCiAgICAgIGJsb2Nr LCBkYXg6IGNvbnZlcnQgYmRldl9kYXhfc3VwcG9ydGVkKCkgdG8gZGF4X2RpcmVjdF9hY2Nlc3Mo KQogICAgICBibG9jazogcmVtb3ZlIGJsb2NrX2RldmljZV9vcGVyYXRpb25zIC0+ZGlyZWN0X2Fj Y2VzcygpCiAgICAgIHg4NiwgZGF4LCBwbWVtOiByZW1vdmUgaW5kaXJlY3Rpb24gYXJvdW5kIG1l bWNweV9mcm9tX3BtZW0oKQogICAgICBsaWJudmRpbW0sIHJlZ2lvbjogc3lzZnMgdHJpZ2dlciBm b3IgbnZkaW1tX2ZsdXNoKCkKICAgICAgYWNwaSwgbmZpdDoga2lsbCBBQ1BJX05GSVRfREVCVUcK ICAgICAgbGlibnZkaW1tOiByZXdvcmsgcmVnaW9uIGJhZGJsb2NrcyBjbGVhcmluZwogICAgICBs aWJudmRpbW06IGZpeCBudmRpbW1fYnVzX2xvY2soKSB2cyBkZXZpY2VfbG9jaygpIG9yZGVyaW5n CiAgICAgIGxpYm52ZGltbTogcmVzdG9yZSAibGlibnZkaW1tOiBiYW5kIGFpZCBidHQgdnMgY2xl YXIgcG9pc29uIGxvY2tpbmciCiAgICAgIGRldmljZS1kYXg6IGZpeCBzeXNmcyBhdHRyaWJ1dGUg ZGVhZGxvY2sKICAgICAgbGlibnZkaW1tOiBjb252ZXJ0IE5ERF8gZmxhZ3MgdG8gdXNlIGJpdG9w cywgaW50cm9kdWNlIE5ERF9MT0NLRUQKICAgICAgbGlibnZkaW1tOiBoYW5kbGUgbG9ja2VkIGxh YmVsIHN0b3JhZ2UgYXJlYXMKICAgICAgbGlibnZkaW1tLCBwZm46IGZpeCAnbnBmbnMnIHZzIHNl Y3Rpb24gYWxpZ25tZW50CiAgICAgIE1lcmdlIGJyYW5jaCAnZm9yLTQuMTIvZGF4JyBpbnRvIGxp Ym52ZGltbS1mb3ItbmV4dAoKRGF2ZSBKaWFuZyAoNSk6CiAgICAgIGxpYm52ZGltbTogYWRkIG1l Y2hhbmlzbSB0byBwdWJsaXNoIGJhZGJsb2NrcyBhdCB0aGUgcmVnaW9uIGxldmVsCiAgICAgIGxp Ym52ZGltbTogQWRkICdyZXNvdXJjZScgc3lzZnMgYXR0cmlidXRlIHRvIHJlZ2lvbnMKICAgICAg bGlibnZkaW1tOiBhZGQgc3VwcG9ydCBmb3IgY2xlYXIgcG9pc29uIGxpc3QgYW5kIGJhZGJsb2Nr cyBmb3IgZGV2aWNlIGRheAogICAgICBkZXZpY2UtZGF4LCB0b29scy90ZXN0aW5nL252ZGltbTog ZW5hYmxlIGRldmljZS1kYXggd2l0aCBtb2NrIHJlc291cmNlcwogICAgICBsaWJudmRpbW06IGZp eCBjbGVhciBwb2lzb24gbG9ja2luZyB3aXRoIHNwaW5sb2NrIGFuZCBHRlBfTk9XQUlUIGFsbG9j YXRpb24KCkdlcmFsZCBTY2hhZWZlciAoMSk6CiAgICAgIGJyZDogZml4IHVuaW5pdGlhbGl6ZWQg dXNlIG9mIGJyZC0+ZGF4X2RldgoKTGluZGEgS25pcHBlcnMgKDMpOgogICAgICBhY3BpLCBuZml0 OiBhbGxvdyBvdmVycmlkZSBvZiBidWlsdC1pbiBiaXRtYXNrcyBmb3IgbnZkaW1tIERTTXMKICAg ICAgYWNwaSwgbmZpdDogYWxsb3cgc3BlY2lmeWluZyBhIGRlZmF1bHQgRFNNIGZhbWlseQogICAg ICBhY3BpLCBuZml0OiByZW1vdmUgdW5uZWNlc3NhcnkgbmV3bGluZQoKT2xpdmVyIE8nSGFsbG9y YW4gKDEpOgogICAgICBkZXZpY2UtZGF4OiBpbXByb3ZlIGZhdWx0IGhhbmRsZXIgZGVidWcgb3V0 cHV0CgpQdXNoa2FyIEphbWJobGVrYXIgKDEpOgogICAgICBkZXZpY2UtZGF4OiBmaXggZGF4X2Rl dl9odWdlX2ZhdWx0KCkgdW5rbm93biBmYXVsdCBzaXplIGhhbmRsaW5nCgpUb3NoaSBLYW5pICgz KToKICAgICAgbGlibnZkaW1tOiBmaXggcGh5c19hZGRyIGZvciBudmRpbW1fY2xlYXJfcG9pc29u CiAgICAgIGxpYm52ZGltbSwgcG1lbTogZml4IGEgTlVMTCBwb2ludGVyIEJVRyBpbiBuZF9wbWVt X25vdGlmeQogICAgICBsaWJudmRpbW06IGZpeCBjbGVhciBsZW5ndGggb2YgbnZkaW1tX2Zvcmdl dF9wb2lzb24oKQoKIERvY3VtZW50YXRpb24vRG9jQm9vay9yYXBpZGlvLnRtcGwgICAgICAgICAg ICAgICAgIHwgICAzIC0KIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL2F1eGRpc3BsYXkvaGl0LGhk NDQ3ODAudHh0IHwgIDQ0ICstKy0KIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL2ZwZ2EvZnBnYS1y ZWdpb24udHh0ICAgICAgIHwgICAxICstCiAuLi4vYmluZGluZ3MvZnBnYS9sYXR0aWNlLWljZTQw LWZwZ2EtbWdyLnR4dCAgICAgICB8ICAyMSArLQogRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL3Zt ZS5yc3QgICAgICAgICAgICAgICAgICAgfCAzNjMgKy0rLSstLS0tLS0tCiBEb2N1bWVudGF0aW9u L3cxL3NsYXZlcy8wMC1JTkRFWCAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogRG9jdW1lbnRh dGlvbi93MS9zbGF2ZXMvdzFfZHMyNDEzICAgICAgICAgICAgICAgICAgfCAgNTAgKy0rLQogRG9j dW1lbnRhdGlvbi93MS9zbGF2ZXMvdzFfZHMyNDM4ICAgICAgICAgICAgICAgICAgfCAgNjMgKy0r LQogTUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDEgLQogYXJjaC9hcm0vbWFjaC1lcDkzeHgvdHM3Mnh4LmMgICAgICAgICAgICAgICAgICAgICAg fCAgMjYgKy0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvS2NvbmZpZyAgICAgICAgICAgICAgICAg ICAgIHwgICAxICstCiBhcmNoL3Bvd2VycGMvc3lzZGV2L2F4b25yYW0uYyAgICAgICAgICAgICAg ICAgICAgICB8ICA0NSArLS0KIGFyY2gveDg2L2h5cGVydi9odl9pbml0LmMgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAyICstLQogYXJjaC94ODYvaW5jbHVkZS9hc20vcG1lbS5oICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDUgLQogYXJjaC94ODYvaW5jbHVkZS9hc20vc3RyaW5nXzY0 LmggICAgICAgICAgICAgICAgICAgfCAgIDEgKy0KIGFyY2gveDg2L2luY2x1ZGUvdWFwaS9hc20v aHlwZXJ2LmggICAgICAgICAgICAgICAgIHwgICA3ICstLQogYmxvY2svS2NvbmZpZyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKy0KIGJsb2NrL3BhcnRpdGlvbi1n ZW5lcmljLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICstLQogZHJpdmVycy9NYWtl ZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0tCiBkcml2ZXJz L2FjcGkvbmZpdC9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMiAtCiBkcml2 ZXJzL2FjcGkvbmZpdC9jb3JlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIzMyArLSst Ky0rLS0tCiBkcml2ZXJzL2FjcGkvbmZpdC9uZml0LmggICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgNCArLS0KIGRyaXZlcnMvYW5kcm9pZC9LY29uZmlnICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAyICstLQogZHJpdmVycy9hdXhkaXNwbGF5L0tjb25maWcgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMTQgKy0KIGRyaXZlcnMvYXV4ZGlzcGxheS9NYWtlZmlsZSAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL2F1eGRpc3BsYXkvY2hhcmxjZC5jICAg ICAgICAgICAgICAgICAgICAgICB8IDgxOCArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstCiBkcml2ZXJzL2F1eGRpc3BsYXkvaGQ0NDc4MC5jICAgICAgICAgICAgICAgICAg ICAgICB8IDMyNSArLSstKy0rLSstKy0rLSstCiBkcml2ZXJzL2Jsb2NrL0tjb25maWcgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArLQogZHJpdmVycy9ibG9jay9icmQuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDggKy0tCiBkcml2ZXJzL2NoYXIvaHBldC5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLS0KIGRyaXZlcnMvY2hhci92 aXJ0aW9fY29uc29sZS5jICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstLQogZHJpdmVycy9k YXgvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTAgKy0tCiBkcml2 ZXJzL2RheC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArLS0K IGRyaXZlcnMvZGF4L2RheC1wcml2YXRlLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDU3 ICstKy0KIGRyaXZlcnMvZGF4L2RheC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDE1ICstLQogZHJpdmVycy9kYXgvZGV2aWNlLWRheC5oICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMjUgKy0KIGRyaXZlcnMvZGF4L3tkYXguYyA9PiBkZXZpY2UuY30gICAgICAgICAg ICAgICAgICAgIHwgNTE2ICstKy0rLSstLS0tLS0tLS0tCiBkcml2ZXJzL2RheC9wbWVtLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMCArLS0KIGRyaXZlcnMvZGF4L3N1cGVy LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDI1ICstKy0rLSstKy0rLSstKy0r LSstKy0KIGRyaXZlcnMvZnBnYS9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDEzICstCiBkcml2ZXJzL2ZwZ2EvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMiArLQogZHJpdmVycy9mcGdhL2ZwZ2EtYnJpZGdlLmMgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMTcgKy0tCiBkcml2ZXJzL2ZwZ2EvZnBnYS1tZ3IuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMiArLS0KIGRyaXZlcnMvZnBnYS9mcGdhLXJlZ2lvbi5jICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA4ICstLQogZHJpdmVycy9mcGdhL2ljZTQwLXNwaS5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAyMDcgKy0rLSstKy0rLSstCiBkcml2ZXJzL2ZwZ2Ev dHM3M3h4LWZwZ2EuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1NiArLSstKy0rLQogZHJp dmVycy9mcGdhL3p5bnEtZnBnYS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjggKy0t CiBkcml2ZXJzL2h2L2NoYW5uZWwuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAx MCArLS0KIGRyaXZlcnMvaHYvY2hhbm5lbF9tZ210LmMgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDQ4ICstLQogZHJpdmVycy9odi9jb25uZWN0aW9uLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgNjUgKy0tCiBkcml2ZXJzL2h2L2h2LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNSArLS0KIGRyaXZlcnMvaHYvaHZfYmFsbG9vbi5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAyIC0KIGRyaXZlcnMvaHYvaHZfZmNvcHkuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyIC0KIGRyaXZlcnMvaHYvaHZfa3ZwLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICstLQogZHJpdmVycy9odi9odl9zbmFwc2hvdC5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgLQogZHJpdmVycy9odi9oeXBlcnZfdm1i dXMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjkgKy0tCiBkcml2ZXJzL2h2L3Jpbmdf YnVmZmVyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMiArLS0KIGRyaXZlcnMvaHYv dm1idXNfZHJ2LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstLQogZHJpdmVy cy9tZC9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKy0KIGRy aXZlcnMvbWQvZG0tY29yZS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICst CiBkcml2ZXJzL21kL2RtLWxpbmVhci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAy NyArLS0KIGRyaXZlcnMvbWQvZG0tc25hcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICA2ICstLQogZHJpdmVycy9tZC9kbS1zdHJpcGUuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMjkgKy0tCiBkcml2ZXJzL21kL2RtLXRhcmdldC5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNiArLS0KIGRyaXZlcnMvbWQvZG0uYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDY3ICstLQogZHJpdmVycy9taXNjL0tjb25maWcgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDkgKy0KIGRyaXZlcnMvbWlzYy9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICstCiBkcml2ZXJzL21pc2MvYXNwZWVkLWxw Yy1jdHJsLmMgICAgICAgICAgICAgICAgICAgICB8IDI2NyArLSstKy0rLSstKy0rLQogZHJpdmVy cy9taXNjL3BhbmVsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA4MjcgKy0rLSst LS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL252ZGltbS9LY29uZmlnICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMSArLQogZHJpdmVycy9udmRpbW0vYnR0X2RldnMuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0tCiBkcml2ZXJzL252ZGltbS9idXMuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IDEyMiArLSstLQogZHJpdmVycy9udmRpbW0vY2xhaW0u YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzcgKy0tCiBkcml2ZXJzL252ZGltbS9j b3JlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1MSArLS0KIGRyaXZlcnMvbnZk aW1tL2RheF9kZXZzLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstLQogZHJpdmVy cy9udmRpbW0vZGltbS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGRy aXZlcnMvbnZkaW1tL2RpbW1fZGV2cy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE5ICst LQogZHJpdmVycy9udmRpbW0vbmFtZXNwYWNlX2RldnMuYyAgICAgICAgICAgICAgICAgICAgfCAg MTcgKy0tCiBkcml2ZXJzL252ZGltbS9uZC1jb3JlLmggICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMSArLQogZHJpdmVycy9udmRpbW0vbmQuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvbnZkaW1tL3Bmbl9kZXZzLmMgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICA4ICstLQogZHJpdmVycy9udmRpbW0vcG1lbS5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgOTAgKy0rLS0KIGRyaXZlcnMvbnZkaW1tL3BtZW0uaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICstLQogZHJpdmVycy9udmRpbW0vcmVnaW9uLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjQgKy0KIGRyaXZlcnMvbnZkaW1tL3JlZ2lv bl9kZXZzLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDgzICstKy0tCiBkcml2ZXJzL3Bwcy9w cHMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyMyArLSstLQogZHJpdmVy cy9yYXBpZGlvL3Jpby1zeXNmcy5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNzYgKy0tCiBk cml2ZXJzL3JhcGlkaW8vcmlvLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyAt CiBkcml2ZXJzL3JhcGlkaW8vcmlvLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg MiAtCiBkcml2ZXJzL3MzOTAvYmxvY2svS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMSArLQogZHJpdmVycy9zMzkwL2Jsb2NrL2Rjc3NibGsuYyAgICAgICAgICAgICAgICAgICAg ICAgfCAgNDUgKy0tCiBkcml2ZXJzL3ZtZS92bWUuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDQ2OSArLSstKy0rLSstKy0rLSstKy0rLSstLQogZHJpdmVycy93MS9zbGF2ZXMv S2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvdzEvc2xh dmVzL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICstCiBkcml2ZXJzL3cx L3NsYXZlcy93MV9kczI0MzguYyAgICAgICAgICAgICAgICAgICAgICB8IDM5MCArLSstKy0rLSst Ky0rLSstKy0rLQogZHJpdmVycy93MS9zbGF2ZXMvdzFfZHMyNzYwLmggICAgICAgICAgICAgICAg ICAgICAgfCAgMTAgKy0tCiBkcml2ZXJzL3cxL3cxX2ZhbWlseS5oICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSArLQogZHJpdmVycy96b3Jyby96b3Jyby1kcml2ZXIuYyAgICAgICAg ICAgICAgICAgICAgICAgfCAgMTUgKy0tCiBkcml2ZXJzL3pvcnJvL3pvcnJvLXN5c2ZzLmMgICAg ICAgICAgICAgICAgICAgICAgICB8ICA3NiArLS0KIGRyaXZlcnMvem9ycm8vem9ycm8uYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzIC0KIGRyaXZlcnMvem9ycm8vem9ycm8uaCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICstLQogZnMvYmxvY2tfZGV2LmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMTcgKy0tLQogZnMvY2hhcl9kZXYu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgODYgKy0rLSstCiBmcy9k YXguYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI5NyArLSst Ky0rLS0tLS0KIGZzL2V4dDIvaW5vZGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICA5ICstLQogZnMvZXh0NC9pbm9kZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDkgKy0tCiBmcy9pb21hcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMyArLS0KIGZzL3hmcy94ZnNfaW9tYXAuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDEwICstCiBpbmNsdWRlL2xpbnV4L2Jsa2Rldi5oICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAxOSArLS0KIGluY2x1ZGUvbGludXgvY2Rldi5oICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstCiBpbmNsdWRlL2xpbnV4L2RheC5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzNCArLS0KIGluY2x1ZGUvbGludXgv ZGV2aWNlLW1hcHBlci5oICAgICAgICAgICAgICAgICAgICAgIHwgICA4ICstLQogaW5jbHVkZS9s aW51eC9mcGdhL2ZwZ2EtbWdyLmggICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKy0KIGluY2x1 ZGUvbGludXgvaHlwZXJ2LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMxICstLQog aW5jbHVkZS9saW51eC9pb21hcC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEg Ky0KIGluY2x1ZGUvbGludXgvbGlibnZkaW1tLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICA4ICstLQogaW5jbHVkZS9saW51eC9wbWVtLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMjMgLQogaW5jbHVkZS9saW51eC9zdHJpbmcuaCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDggKy0KIGluY2x1ZGUvbGludXgvdm1lLmggICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDEyICstLQogaW5jbHVkZS9taXNjL2NoYXJsY2QuaCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNDIgKy0rLQogaW5jbHVkZS91YXBpL2xpbnV4L2FzcGVlZC1scGMt Y3RybC5oICAgICAgICAgICAgICAgfCAgNjAgKy0rLQogaW5jbHVkZS91YXBpL2xpbnV4L25kY3Rs LmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKy0KIGluY2x1ZGUvdWFwaS9saW51eC9w cHMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE5ICstCiB0b29scy90ZXN0aW5nL252 ZGltbS9LYnVpbGQgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMSArLS0KIHRvb2xzL3Rlc3Rp bmcvbnZkaW1tL2RheC1kZXYuYyAgICAgICAgICAgICAgICAgICAgIHwgIDQ5ICstKy0KIHRvb2xz L3Rlc3RpbmcvbnZkaW1tL3BtZW0tZGF4LmMgICAgICAgICAgICAgICAgICAgIHwgIDIxICstLQog dG9vbHMvdGVzdGluZy9udmRpbW0vdGVzdC9uZml0LmMgICAgICAgICAgICAgICAgICAgfCAgNTQg Ky0tCiAxMjcgZmlsZXMgY2hhbmdlZCwgNTQyMyBpbnNlcnRpb25zKCstKSwgMjI2NSBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvYXV4ZGlzcGxheS9oaXQsaGQ0NDc4MC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZnBnYS9sYXR0aWNlLWljZTQwLWZwZ2EtbWdyLnR4 dAogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vdzEvc2xhdmVzL3cxX2RzMjQxMwog Y3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vdzEvc2xhdmVzL3cxX2RzMjQzOAogY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvYXV4ZGlzcGxheS9jaGFybGNkLmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2F1eGRpc3BsYXkvaGQ0NDc4MC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9kYXgvZGF4LXByaXZhdGUuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZGF4 L2RldmljZS1kYXguaAogcmVuYW1lIGRyaXZlcnMvZGF4L3tkYXguYyA9PiBkZXZpY2UuY30gKDUw JSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2RheC9zdXBlci5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9mcGdhL2ljZTQwLXNwaS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9mcGdhL3RzNzN4eC1mcGdhLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21pc2MvYXNw ZWVkLWxwYy1jdHJsLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3cxL3NsYXZlcy93MV9k czI0MzguYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbWlzYy9jaGFybGNkLmgKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3VhcGkvbGludXgvYXNwZWVkLWxwYy1jdHJsLmgKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB0b29scy90ZXN0aW5nL252ZGltbS9kYXgtZGV2LmMKCi0tLQoKRGlmZnN0 YXQgc3RhcnRpbmcgZnJvbSBjb21taXQgYmZjYTlhY2YxYTVkICJNZXJnZSBicmFuY2ggJ2Zvci0K NC4xMS9saWJudmRpbW0nIGludG8gZm9yLTQuMTIvZGF4IgoKIGFyY2gvcG93ZXJwYy9wbGF0Zm9y bXMvS2NvbmZpZyAgIHwgICAxICstCiBhcmNoL3Bvd2VycGMvc3lzZGV2L2F4b25yYW0uYyAgICB8 ICA0NSArLSstKy0tCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wbWVtLmggICAgICB8ICAgNSAtCiBh cmNoL3g4Ni9pbmNsdWRlL2FzbS9zdHJpbmdfNjQuaCB8ICAgMSArLQogYmxvY2svS2NvbmZpZyAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKy0KIGJsb2NrL3BhcnRpdGlvbi1nZW5lcmljLmMgICAg ICAgIHwgIDE3ICstLQogZHJpdmVycy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgIDIgKy0t CiBkcml2ZXJzL2FjcGkvbmZpdC9LY29uZmlnICAgICAgICB8ICAxMiAtCiBkcml2ZXJzL2FjcGkv bmZpdC9jb3JlLmMgICAgICAgICB8IDIzMyArLSstKy0rLSstKy0rLSstKy0rLSstKy0tLS0tLS0K IGRyaXZlcnMvYWNwaS9uZml0L25maXQuaCAgICAgICAgIHwgICA0ICstLQogZHJpdmVycy9ibG9j ay9LY29uZmlnICAgICAgICAgICAgfCAgIDEgKy0KIGRyaXZlcnMvYmxvY2svYnJkLmMgICAgICAg ICAgICAgIHwgIDQ4ICstKy0rLS0KIGRyaXZlcnMvZGF4L0tjb25maWcgICAgICAgICAgICAgIHwg IDEwICstLQogZHJpdmVycy9kYXgvTWFrZWZpbGUgICAgICAgICAgICAgfCAgIDUgKy0tCiBkcml2 ZXJzL2RheC9kYXgtcHJpdmF0ZS5oICAgICAgICB8ICA1NyArLSstKy0rLSstCiBkcml2ZXJzL2Rh eC9kYXguaCAgICAgICAgICAgICAgICB8ICAxNSArLS0KIGRyaXZlcnMvZGF4L2RldmljZS1kYXgu aCAgICAgICAgIHwgIDI1ICstKy0KIGRyaXZlcnMvZGF4L3tkYXguYyA9PiBkZXZpY2UuY30gIHwg NTAxICstKy0rLSstKy0rLSstKy0rLSstKy0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog ZHJpdmVycy9kYXgvcG1lbS5jICAgICAgICAgICAgICAgfCAgMTAgKy0tCiBkcml2ZXJzL2RheC9z dXBlci5jICAgICAgICAgICAgICB8IDQyNSArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0KIGRyaXZlcnMvbWQvS2NvbmZpZyAg ICAgICAgICAgICAgIHwgICAxICstCiBkcml2ZXJzL21kL2RtLWNvcmUuaCAgICAgICAgICAgICB8 ICAgMSArLQogZHJpdmVycy9tZC9kbS1saW5lYXIuYyAgICAgICAgICAgfCAgMjcgKy0tLQogZHJp dmVycy9tZC9kbS1zbmFwLmMgICAgICAgICAgICAgfCAgIDYgKy0tCiBkcml2ZXJzL21kL2RtLXN0 cmlwZS5jICAgICAgICAgICB8ICAyOSArLSstLQogZHJpdmVycy9tZC9kbS10YXJnZXQuYyAgICAg ICAgICAgfCAgIDYgKy0tCiBkcml2ZXJzL21kL2RtLmMgICAgICAgICAgICAgICAgICB8ICA2NyAr LSstKy0rLS0tCiBkcml2ZXJzL252ZGltbS9LY29uZmlnICAgICAgICAgICB8ICAgMSArLQogZHJp dmVycy9udmRpbW0vYnR0X2RldnMuYyAgICAgICAgfCAgIDIgKy0tCiBkcml2ZXJzL252ZGltbS9i dXMuYyAgICAgICAgICAgICB8IDEyMiArLSstKy0rLSstKy0rLSstKy0tCiBkcml2ZXJzL252ZGlt bS9jbGFpbS5jICAgICAgICAgICB8ICAzNyArLS0tCiBkcml2ZXJzL252ZGltbS9jb3JlLmMgICAg ICAgICAgICB8ICA1MSArLSstLS0KIGRyaXZlcnMvbnZkaW1tL2RheF9kZXZzLmMgICAgICAgIHwg ICAyICstLQogZHJpdmVycy9udmRpbW0vZGltbS5jICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZl cnMvbnZkaW1tL2RpbW1fZGV2cy5jICAgICAgIHwgIDE5ICstLQogZHJpdmVycy9udmRpbW0vbmFt ZXNwYWNlX2RldnMuYyAgfCAgMTcgKy0tCiBkcml2ZXJzL252ZGltbS9uZC1jb3JlLmggICAgICAg ICB8ICAgMSArLQogZHJpdmVycy9udmRpbW0vbmQuaCAgICAgICAgICAgICAgfCAgIDIgKy0KIGRy aXZlcnMvbnZkaW1tL3Bmbl9kZXZzLmMgICAgICAgIHwgICA4ICstLQogZHJpdmVycy9udmRpbW0v cG1lbS5jICAgICAgICAgICAgfCAgOTAgKy0rLSstKy0rLS0tCiBkcml2ZXJzL252ZGltbS9wbWVt LmggICAgICAgICAgICB8ICAgNyArLS0KIGRyaXZlcnMvbnZkaW1tL3JlZ2lvbi5jICAgICAgICAg IHwgIDI0ICstKy0KIGRyaXZlcnMvbnZkaW1tL3JlZ2lvbl9kZXZzLmMgICAgIHwgIDgzICstKy0r LSstKy0rLS0KIGRyaXZlcnMvczM5MC9ibG9jay9LY29uZmlnICAgICAgIHwgICAxICstCiBkcml2 ZXJzL3MzOTAvYmxvY2svZGNzc2Jsay5jICAgICB8ICA0NSArLSstKy0tCiBmcy9ibG9ja19kZXYu YyAgICAgICAgICAgICAgICAgICB8IDExNyArLSstKy0tLS0tLS0KIGZzL2RheC5jICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMjk3ICstKy0rLSstKy0rLSstKy0rLSstKy0rLS0tLS0tLS0tLS0t CiBmcy9leHQyL2lub2RlLmMgICAgICAgICAgICAgICAgICB8ICAgOSArLS0KIGZzL2V4dDQvaW5v ZGUuYyAgICAgICAgICAgICAgICAgIHwgICA5ICstLQogZnMvaW9tYXAuYyAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDMgKy0tCiBmcy94ZnMveGZzX2lvbWFwLmMgICAgICAgICAgICAgICB8ICAx MCArLQogaW5jbHVkZS9saW51eC9ibGtkZXYuaCAgICAgICAgICAgfCAgMTkgKy0tCiBpbmNsdWRl L2xpbnV4L2RheC5oICAgICAgICAgICAgICB8ICAzNCArLSstLQogaW5jbHVkZS9saW51eC9kZXZp Y2UtbWFwcGVyLmggICAgfCAgIDggKy0tCiBpbmNsdWRlL2xpbnV4L2lvbWFwLmggICAgICAgICAg ICB8ICAgMSArLQogaW5jbHVkZS9saW51eC9saWJudmRpbW0uaCAgICAgICAgfCAgIDggKy0tCiBp bmNsdWRlL2xpbnV4L3BtZW0uaCAgICAgICAgICAgICB8ICAyMyAtLQogaW5jbHVkZS9saW51eC9z dHJpbmcuaCAgICAgICAgICAgfCAgIDggKy0KIGluY2x1ZGUvdWFwaS9saW51eC9uZGN0bC5oICAg ICAgIHwgICAxICstCiB0b29scy90ZXN0aW5nL252ZGltbS9LYnVpbGQgICAgICB8ICAxMSArLS0K IHRvb2xzL3Rlc3RpbmcvbnZkaW1tL2RheC1kZXYuYyAgIHwgIDQ5ICstKy0rLSstCiB0b29scy90 ZXN0aW5nL252ZGltbS9wbWVtLWRheC5jICB8ICAyMSArLS0KIHRvb2xzL3Rlc3RpbmcvbnZkaW1t L3Rlc3QvbmZpdC5jIHwgIDU0ICstKy0rLSstLQogNjMgZmlsZXMgY2hhbmdlZCwgMTgwNyBpbnNl cnRpb25zKCstKSwgOTQ0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv ZGF4L2RheC1wcml2YXRlLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2RheC9kZXZpY2Ut ZGF4LmgKIHJlbmFtZSBkcml2ZXJzL2RheC97ZGF4LmMgPT4gZGV2aWNlLmN9ICg1MSUpCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9kYXgvc3VwZXIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRv b2xzL3Rlc3RpbmcvbnZkaW1tL2RheC1kZXYuYwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpMaW51eC1udmRpbW0gbWFpbGluZyBsaXN0CkxpbnV4LW52ZGlt bUBsaXN0cy4wMS5vcmcKaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1udmRpbW0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com ([134.134.136.100]:26244 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752379AbdEEVk3 (ORCPT ); Fri, 5 May 2017 17:40:29 -0400 From: "Williams, Dan J" To: "torvalds@linux-foundation.org" CC: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "linux-block@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" Subject: [GIT PULL] libnvdimm for 4.12 Date: Fri, 5 May 2017 21:40:03 +0000 Message-ID: <1494020401.23326.15.camel@intel.com> Content-Language: en-US Content-Type: text/plain; charset="utf-7" Content-ID: <6C702CEA4A652845802D4612BB104A1E@intel.com> Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.12 ...to receive the libnvdimm update for 4.12. The bulk of this has been in multiple -next releases. There were a few late breaking fixes and small features that got added in the last couple days, but the whole set has received a build success notification from the kbuild robot.+AKA- Another late change that was merged through the x86/mm tree causes a conflict with this branch. The proposed merge resolution below matches what Stephen Rothwell came up with as well. Lastly the default diffstat from git request-pull shows some changes from Greg's char-misc tree because I based the for-4.12/dax work on the new cdev+AF8-device+AF8-add() helper and related fallout in drivers/dax/. A cleaner diffstat is also included below starting from commit bfca9acf1a5d +ACI-Merge branch 'for-4.11/libnvdimm' into for-4.12/dax+ACI-. Please pull, thanks+ACE- diff --cc drivers/nvdimm/pmem.c index fbc640bf06b0,58db813e7b7b..c544d466ea51 --- a/drivers/nvdimm/pmem.c +-+-+- b/drivers/nvdimm/pmem.c +AEAAQABA- -232,15 -243,14 +-244,19 +AEAAQABA- static void pmem+AF8-release+AF8-queue(void +ACo-q blk+AF8-cleanup+AF8-queue(q)+ADs- +AH0- +-static void pmem+AF8-freeze+AF8-queue(void +ACo-q) +-+AHs- +- blk+AF8-freeze+AF8-queue+AF8-start(q)+ADs- +-+AH0- +- - static void pmem+AF8-release+AF8-disk(void +ACo-disk) +- static void pmem+AF8-release+AF8-disk(void +ACoAXwBf-pmem) +AHs- - del+AF8-gendisk(disk)+ADs- - put+AF8-disk(disk)+ADs- +- struct pmem+AF8-device +ACo-pmem +AD0- +AF8AXw-pmem+ADs- +- +- kill+AF8-dax(pmem-+AD4-dax+AF8-dev)+ADs- +- put+AF8-dax(pmem-+AD4-dax+AF8-dev)+ADs- +- del+AF8-gendisk(pmem-+AD4-disk)+ADs- +- put+AF8-disk(pmem-+AD4-disk)+ADs- +AH0- static int pmem+AF8-attach+AF8-disk(struct device +ACo-dev, diff --cc fs/dax.c index 6433650be833,ce9dc9c3e829..43bbd6d1037d --- a/fs/dax.c +-+-+- b/fs/dax.c +AEAAQABA- -979,24 -956,34 +-965,34 +AEAAQABA- static bool dax+AF8-range+AF8-is+AF8-aligned(struc return true+ADs- +AH0- - int +AF8AXw-dax+AF8-zero+AF8-page+AF8-range(struct block+AF8-device +ACo-bdev, sector+AF8-t sector, - unsigned int offset, unsigned int length) +- int +AF8AXw-dax+AF8-zero+AF8-page+AF8-range(struct block+AF8-device +ACo-bdev, +- struct dax+AF8-device +ACo-dax+AF8-dev, sector+AF8-t sector, +- unsigned int offset, unsigned int size) +AHs- - struct blk+AF8-dax+AF8-ctl dax +AD0- +AHs- - .sector +AD0- sector, - .size +AD0- PAGE+AF8-SIZE, - +AH0AOw- - - if (dax+AF8-range+AF8-is+AF8-aligned(bdev, offset, length)) +AHs- - sector+AF8-t start+AF8-sector +AD0- dax.sector +- (offset +AD4APg- 9)+ADs- +- if (dax+AF8-range+AF8-is+AF8-aligned(bdev, offset, size)) +AHs- +- sector+AF8-t start+AF8-sector +AD0- sector +- (offset +AD4APg- 9)+ADs- return blkdev+AF8-issue+AF8-zeroout(bdev, start+AF8-sector, - length +AD4APg- 9, GFP+AF8-NOFS, 0)+ADs- - size +AD4APg- 9, GFP+AF8-NOFS, true)+ADs- +-+- size +AD4APg- 9, GFP+AF8-NOFS, 0)+ADs- +AH0- else +AHs- - if (dax+AF8-map+AF8-atomic(bdev, +ACY-dax) +ADw- 0) - return PTR+AF8-ERR(dax.addr)+ADs- - clear+AF8-pmem(dax.addr +- offset, length)+ADs- - dax+AF8-unmap+AF8-atomic(bdev, +ACY-dax)+ADs- +- pgoff+AF8-t pgoff+ADs- +- long rc, id+ADs- +- void +ACo-kaddr+ADs- +- pfn+AF8-t pfn+ADs- +- +- rc +AD0- bdev+AF8-dax+AF8-pgoff(bdev, sector, size, +ACY-pgoff)+ADs- +- if (rc) +- return rc+ADs- +- +- id +AD0- dax+AF8-read+AF8-lock()+ADs- +- rc +AD0- dax+AF8-direct+AF8-access(dax+AF8-dev, pgoff, PHYS+AF8-PFN(size), +ACY-kaddr, +- +ACY-pfn)+ADs- +- if (rc +ADw- 0) +AHs- +- dax+AF8-read+AF8-unlock(id)+ADs- +- return rc+ADs- +- +AH0- +- clear+AF8-pmem(kaddr +- offset, size)+ADs- +- dax+AF8-read+AF8-unlock(id)+ADs- +AH0- return 0+ADs- +AH0- The following changes since commit 11e63f6d920d6f2dfd3cd421e939a4aec9a58dcd: x86, pmem: fix broken +AF8AXw-copy+AF8-user+AF8-nocache cache-bypass assumptions (2017-04-12 13:45:18 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.12 for you to fetch changes up to 736163671bcb163fc82600b46c83dfa89d532d95: Merge branch 'for-4.12/dax' into libnvdimm-for-next (2017-05-04 23:38:43 -0700) ---------------------------------------------------------------- libnvdimm for 4.12 +ACo- Region media error reporting: A libnvdimm region device is the parent to one or more namespaces. To date, media errors have been reported via the +ACI-badblocks+ACI- attribute attached to pmem block devices for namespaces in +ACI-raw+ACI- or +ACI-memory+ACI- mode. Given that namespaces can be in +ACI-device-dax+ACI- or +ACI-btt-sector+ACI- mode this new interface reports media errors generically, i.e. independent of namespace modes or state. This subsequently allows userspace tooling to craft +ACI-ACPI 6.1 Section 9.20.7.6 Function Index 4 - Clear Uncorrectable Error+ACI- requests and submit them via the ioctl path for NVDIMM root bus devices. +ACo- Introduce 'struct dax+AF8-device' and 'struct dax+AF8-operations': Prompted by a request from Linus and feedback from Christoph this allows for dax capable drivers to publish their own custom dax operations. This fixes the broken assumption that all dax operations are related to a persistent memory device, and makes it easier for other architectures and platforms to add customized persistent memory support. +ACo- 'libnvdimm' core updates: A new +ACI-deep+AF8-flush+ACI- sysfs attribute is available for storage appliance applications to manually trigger memory controllers to drain write-pending buffers that would otherwise be flushed automatically by the platform ADR (asynchronous-DRAM-refresh) mechanism at a power loss event. Support for +ACI-locked+ACI- DIMMs is included to prevent namespaces from surfacing when the namespace label data area is locked. Finally, fixes for various reported deadlocks and crashes, also tagged for -stable. +ACo- ACPI / nfit driver updates: General updates of the nfit driver to add DSM command overrides, ACPI 6.1 health state flags support, DSM payload debug available by default, and various fixes. Acknowledgements that came after the branch was pushed: commmit 565851c972b5 +ACI-device-dax: fix sysfs attribute deadlock+ACI- Tested-by: Yi Zhang +ADw-yizhan+AEA-redhat.com+AD4- commit 23f498448362 +ACI-libnvdimm: rework region badblocks clearing+ACI- Tested-by: Toshi Kani +ADw-toshi.kani+AEA-hpe.com+AD4- ---------------------------------------------------------------- Arnd Bergmann (1): block, dax: use correct format string in bdev+AF8-dax+AF8-supported Dan Williams (39): acpi, nfit: fix acpi+AF8-get+AF8-table leak Merge branch 'for-4.11/libnvdimm' into for-4.12/dax device-dax: rename 'dax+AF8-dev' to 'dev+AF8-dax' dax: refactor dax-fs into a generic provider of 'struct dax+AF8-device' instances Revert +ACI-libnvdimm: band aid btt vs clear poison locking+ACI- acpi, nfit: add support for acpi 6.1 dimm state flags tools/testing/nvdimm: test acpi 6.1 health state flags acpi, nfit: support +ACI-map failed+ACI- dimms acpi, nfit: collate health state flags acpi, nfit: limit -+AD4-flush+AF8-probe() to initialization work tools/testing/nvdimm: fix nfit+AF8-test shutdown crash acpi, nfit: fix module unload vs workqueue shutdown race dax: add a facility to lookup a dax device by 'host' device name dax: introduce dax+AF8-operations pmem: add dax+AF8-operations support axon+AF8-ram: add dax+AF8-operations support brd: add dax+AF8-operations support dcssblk: add dax+AF8-operations support block: kill bdev+AF8-dax+AF8-capable() dax: introduce dax+AF8-direct+AF8-access() dm: add dax+AF8-device and dax+AF8-operations support libnvdimm, region: fix flush hint detection crash dm: teach dm-targets to use a dax+AF8-device +- dax+AF8-operations ext2, ext4, xfs: retrieve dax+AF8-device for iomap operations Revert +ACI-block: use DAX for partition table reads+ACI- filesystem-dax: convert to dax+AF8-direct+AF8-access() block, dax: convert bdev+AF8-dax+AF8-supported() to dax+AF8-direct+AF8-access() block: remove block+AF8-device+AF8-operations -+AD4-direct+AF8-access() x86, dax, pmem: remove indirection around memcpy+AF8-from+AF8-pmem() libnvdimm, region: sysfs trigger for nvdimm+AF8-flush() acpi, nfit: kill ACPI+AF8-NFIT+AF8-DEBUG libnvdimm: rework region badblocks clearing libnvdimm: fix nvdimm+AF8-bus+AF8-lock() vs device+AF8-lock() ordering libnvdimm: restore +ACI-libnvdimm: band aid btt vs clear poison locking+ACI- device-dax: fix sysfs attribute deadlock libnvdimm: convert NDD+AF8- flags to use bitops, introduce NDD+AF8-LOCKED libnvdimm: handle locked label storage areas libnvdimm, pfn: fix 'npfns' vs section alignment Merge branch 'for-4.12/dax' into libnvdimm-for-next Dave Jiang (5): libnvdimm: add mechanism to publish badblocks at the region level libnvdimm: Add 'resource' sysfs attribute to regions libnvdimm: add support for clear poison list and badblocks for device dax device-dax, tools/testing/nvdimm: enable device-dax with mock resources libnvdimm: fix clear poison locking with spinlock and GFP+AF8-NOWAIT allocation Gerald Schaefer (1): brd: fix uninitialized use of brd-+AD4-dax+AF8-dev Linda Knippers (3): acpi, nfit: allow override of built-in bitmasks for nvdimm DSMs acpi, nfit: allow specifying a default DSM family acpi, nfit: remove unnecessary newline Oliver O'Halloran (1): device-dax: improve fault handler debug output Pushkar Jambhlekar (1): device-dax: fix dax+AF8-dev+AF8-huge+AF8-fault() unknown fault size handling Toshi Kani (3): libnvdimm: fix phys+AF8-addr for nvdimm+AF8-clear+AF8-poison libnvdimm, pmem: fix a NULL pointer BUG in nd+AF8-pmem+AF8-notify libnvdimm: fix clear length of nvdimm+AF8-forget+AF8-poison() Documentation/DocBook/rapidio.tmpl +AHw- 3 - .../devicetree/bindings/auxdisplay/hit,hd44780.txt +AHw- 44 +-+- .../devicetree/bindings/fpga/fpga-region.txt +AHw- 1 +- .../bindings/fpga/lattice-ice40-fpga-mgr.txt +AHw- 21 +- Documentation/driver-api/vme.rst +AHw- 363 +-+-+------- Documentation/w1/slaves/00-INDEX +AHw- 4 +- Documentation/w1/slaves/w1+AF8-ds2413 +AHw- 50 +-+- Documentation/w1/slaves/w1+AF8-ds2438 +AHw- 63 +-+- MAINTAINERS +AHw- 1 - arch/arm/mach-ep93xx/ts72xx.c +AHw- 26 +- arch/powerpc/platforms/Kconfig +AHw- 1 +- arch/powerpc/sysdev/axonram.c +AHw- 45 +-- arch/x86/hyperv/hv+AF8-init.c +AHw- 2 +-- arch/x86/include/asm/pmem.h +AHw- 5 - arch/x86/include/asm/string+AF8-64.h +AHw- 1 +- arch/x86/include/uapi/asm/hyperv.h +AHw- 7 +-- block/Kconfig +AHw- 1 +- block/partition-generic.c +AHw- 17 +-- drivers/Makefile +AHw- 2 +-- drivers/acpi/nfit/Kconfig +AHw- 12 - drivers/acpi/nfit/core.c +AHw- 233 +-+-+-+--- drivers/acpi/nfit/nfit.h +AHw- 4 +-- drivers/android/Kconfig +AHw- 2 +-- drivers/auxdisplay/Kconfig +AHw- 14 +- drivers/auxdisplay/Makefile +AHw- 2 +- drivers/auxdisplay/charlcd.c +AHw- 818 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- drivers/auxdisplay/hd44780.c +AHw- 325 +-+-+-+-+-+-+-+- drivers/block/Kconfig +AHw- 1 +- drivers/block/brd.c +AHw- 48 +-- drivers/char/hpet.c +AHw- 2 +-- drivers/char/virtio+AF8-console.c +AHw- 2 +-- drivers/dax/Kconfig +AHw- 10 +-- drivers/dax/Makefile +AHw- 5 +-- drivers/dax/dax-private.h +AHw- 57 +-+- drivers/dax/dax.h +AHw- 15 +-- drivers/dax/device-dax.h +AHw- 25 +- drivers/dax/+AHs-dax.c +AD0APg- device.c+AH0- +AHw- 516 +-+-+-+---------- drivers/dax/pmem.c +AHw- 10 +-- drivers/dax/super.c +AHw- 425 +-+-+-+-+-+-+-+-+-+-+- drivers/fpga/Kconfig +AHw- 13 +- drivers/fpga/Makefile +AHw- 2 +- drivers/fpga/fpga-bridge.c +AHw- 17 +-- drivers/fpga/fpga-mgr.c +AHw- 2 +-- drivers/fpga/fpga-region.c +AHw- 8 +-- drivers/fpga/ice40-spi.c +AHw- 207 +-+-+-+-+-+- drivers/fpga/ts73xx-fpga.c +AHw- 156 +-+-+-+- drivers/fpga/zynq-fpga.c +AHw- 28 +-- drivers/hv/channel.c +AHw- 10 +-- drivers/hv/channel+AF8-mgmt.c +AHw- 48 +-- drivers/hv/connection.c +AHw- 65 +-- drivers/hv/hv.c +AHw- 5 +-- drivers/hv/hv+AF8-balloon.c +AHw- 2 - drivers/hv/hv+AF8-fcopy.c +AHw- 2 - drivers/hv/hv+AF8-kvp.c +AHw- 12 +-- drivers/hv/hv+AF8-snapshot.c +AHw- 2 - drivers/hv/hyperv+AF8-vmbus.h +AHw- 29 +-- drivers/hv/ring+AF8-buffer.c +AHw- 22 +-- drivers/hv/vmbus+AF8-drv.c +AHw- 4 +-- drivers/md/Kconfig +AHw- 1 +- drivers/md/dm-core.h +AHw- 1 +- drivers/md/dm-linear.c +AHw- 27 +-- drivers/md/dm-snap.c +AHw- 6 +-- drivers/md/dm-stripe.c +AHw- 29 +-- drivers/md/dm-target.c +AHw- 6 +-- drivers/md/dm.c +AHw- 67 +-- drivers/misc/Kconfig +AHw- 9 +- drivers/misc/Makefile +AHw- 1 +- drivers/misc/aspeed-lpc-ctrl.c +AHw- 267 +-+-+-+-+-+-+- drivers/misc/panel.c +AHw- 827 +-+-+------------------- drivers/nvdimm/Kconfig +AHw- 1 +- drivers/nvdimm/btt+AF8-devs.c +AHw- 2 +-- drivers/nvdimm/bus.c +AHw- 122 +-+-- drivers/nvdimm/claim.c +AHw- 37 +-- drivers/nvdimm/core.c +AHw- 51 +-- drivers/nvdimm/dax+AF8-devs.c +AHw- 2 +-- drivers/nvdimm/dimm.c +AHw- 2 +- drivers/nvdimm/dimm+AF8-devs.c +AHw- 19 +-- drivers/nvdimm/namespace+AF8-devs.c +AHw- 17 +-- drivers/nvdimm/nd-core.h +AHw- 1 +- drivers/nvdimm/nd.h +AHw- 2 +- drivers/nvdimm/pfn+AF8-devs.c +AHw- 8 +-- drivers/nvdimm/pmem.c +AHw- 90 +-+-- drivers/nvdimm/pmem.h +AHw- 7 +-- drivers/nvdimm/region.c +AHw- 24 +- drivers/nvdimm/region+AF8-devs.c +AHw- 83 +-+-- drivers/pps/pps.c +AHw- 123 +-+-- drivers/rapidio/rio-sysfs.c +AHw- 76 +-- drivers/rapidio/rio.c +AHw- 3 - drivers/rapidio/rio.h +AHw- 2 - drivers/s390/block/Kconfig +AHw- 1 +- drivers/s390/block/dcssblk.c +AHw- 45 +-- drivers/vme/vme.c +AHw- 469 +-+-+-+-+-+-+-+-+-+-+-- drivers/w1/slaves/Kconfig +AHw- 6 +- drivers/w1/slaves/Makefile +AHw- 1 +- drivers/w1/slaves/w1+AF8-ds2438.c +AHw- 390 +-+-+-+-+-+-+-+-+-+- drivers/w1/slaves/w1+AF8-ds2760.h +AHw- 10 +-- drivers/w1/w1+AF8-family.h +AHw- 1 +- drivers/zorro/zorro-driver.c +AHw- 15 +-- drivers/zorro/zorro-sysfs.c +AHw- 76 +-- drivers/zorro/zorro.c +AHw- 3 - drivers/zorro/zorro.h +AHw- 3 +-- fs/block+AF8-dev.c +AHw- 117 +--- fs/char+AF8-dev.c +AHw- 86 +-+-+- fs/dax.c +AHw- 297 +-+-+-+----- fs/ext2/inode.c +AHw- 9 +-- fs/ext4/inode.c +AHw- 9 +-- fs/iomap.c +AHw- 3 +-- fs/xfs/xfs+AF8-iomap.c +AHw- 10 +- include/linux/blkdev.h +AHw- 19 +-- include/linux/cdev.h +AHw- 5 +- include/linux/dax.h +AHw- 34 +-- include/linux/device-mapper.h +AHw- 8 +-- include/linux/fpga/fpga-mgr.h +AHw- 1 +- include/linux/hyperv.h +AHw- 31 +-- include/linux/iomap.h +AHw- 1 +- include/linux/libnvdimm.h +AHw- 8 +-- include/linux/pmem.h +AHw- 23 - include/linux/string.h +AHw- 8 +- include/linux/vme.h +AHw- 12 +-- include/misc/charlcd.h +AHw- 42 +-+- include/uapi/linux/aspeed-lpc-ctrl.h +AHw- 60 +-+- include/uapi/linux/ndctl.h +AHw- 1 +- include/uapi/linux/pps.h +AHw- 19 +- tools/testing/nvdimm/Kbuild +AHw- 11 +-- tools/testing/nvdimm/dax-dev.c +AHw- 49 +-+- tools/testing/nvdimm/pmem-dax.c +AHw- 21 +-- tools/testing/nvdimm/test/nfit.c +AHw- 54 +-- 127 files changed, 5423 insertions(+-), 2265 deletions(-) create mode 100644 Documentation/devicetree/bindings/auxdisplay/hit,hd44780.txt create mode 100644 Documentation/devicetree/bindings/fpga/lattice-ice40-fpga-mgr.txt create mode 100644 Documentation/w1/slaves/w1+AF8-ds2413 create mode 100644 Documentation/w1/slaves/w1+AF8-ds2438 create mode 100644 drivers/auxdisplay/charlcd.c create mode 100644 drivers/auxdisplay/hd44780.c create mode 100644 drivers/dax/dax-private.h create mode 100644 drivers/dax/device-dax.h rename drivers/dax/+AHs-dax.c +AD0APg- device.c+AH0- (50+ACU-) create mode 100644 drivers/dax/super.c create mode 100644 drivers/fpga/ice40-spi.c create mode 100644 drivers/fpga/ts73xx-fpga.c create mode 100644 drivers/misc/aspeed-lpc-ctrl.c create mode 100644 drivers/w1/slaves/w1+AF8-ds2438.c create mode 100644 include/misc/charlcd.h create mode 100644 include/uapi/linux/aspeed-lpc-ctrl.h create mode 100644 tools/testing/nvdimm/dax-dev.c --- Diffstat starting from commit bfca9acf1a5d +ACI-Merge branch 'for- 4.11/libnvdimm' into for-4.12/dax+ACI- arch/powerpc/platforms/Kconfig +AHw- 1 +- arch/powerpc/sysdev/axonram.c +AHw- 45 +-+-+-- arch/x86/include/asm/pmem.h +AHw- 5 - arch/x86/include/asm/string+AF8-64.h +AHw- 1 +- block/Kconfig +AHw- 1 +- block/partition-generic.c +AHw- 17 +-- drivers/Makefile +AHw- 2 +-- drivers/acpi/nfit/Kconfig +AHw- 12 - drivers/acpi/nfit/core.c +AHw- 233 +-+-+-+-+-+-+-+-+-+-+-+------- drivers/acpi/nfit/nfit.h +AHw- 4 +-- drivers/block/Kconfig +AHw- 1 +- drivers/block/brd.c +AHw- 48 +-+-+-- drivers/dax/Kconfig +AHw- 10 +-- drivers/dax/Makefile +AHw- 5 +-- drivers/dax/dax-private.h +AHw- 57 +-+-+-+-+- drivers/dax/dax.h +AHw- 15 +-- drivers/dax/device-dax.h +AHw- 25 +-+- drivers/dax/+AHs-dax.c +AD0APg- device.c+AH0- +AHw- 501 +-+-+-+-+-+-+-+-+-+-+-+---------------------------- drivers/dax/pmem.c +AHw- 10 +-- drivers/dax/super.c +AHw- 425 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- drivers/md/Kconfig +AHw- 1 +- drivers/md/dm-core.h +AHw- 1 +- drivers/md/dm-linear.c +AHw- 27 +--- drivers/md/dm-snap.c +AHw- 6 +-- drivers/md/dm-stripe.c +AHw- 29 +-+-- drivers/md/dm-target.c +AHw- 6 +-- drivers/md/dm.c +AHw- 67 +-+-+-+--- drivers/nvdimm/Kconfig +AHw- 1 +- drivers/nvdimm/btt+AF8-devs.c +AHw- 2 +-- drivers/nvdimm/bus.c +AHw- 122 +-+-+-+-+-+-+-+-+-- drivers/nvdimm/claim.c +AHw- 37 +--- drivers/nvdimm/core.c +AHw- 51 +-+--- drivers/nvdimm/dax+AF8-devs.c +AHw- 2 +-- drivers/nvdimm/dimm.c +AHw- 2 +- drivers/nvdimm/dimm+AF8-devs.c +AHw- 19 +-- drivers/nvdimm/namespace+AF8-devs.c +AHw- 17 +-- drivers/nvdimm/nd-core.h +AHw- 1 +- drivers/nvdimm/nd.h +AHw- 2 +- drivers/nvdimm/pfn+AF8-devs.c +AHw- 8 +-- drivers/nvdimm/pmem.c +AHw- 90 +-+-+-+-+--- drivers/nvdimm/pmem.h +AHw- 7 +-- drivers/nvdimm/region.c +AHw- 24 +-+- drivers/nvdimm/region+AF8-devs.c +AHw- 83 +-+-+-+-+-+-- drivers/s390/block/Kconfig +AHw- 1 +- drivers/s390/block/dcssblk.c +AHw- 45 +-+-+-- fs/block+AF8-dev.c +AHw- 117 +-+-+------- fs/dax.c +AHw- 297 +-+-+-+-+-+-+-+-+-+-+-+------------ fs/ext2/inode.c +AHw- 9 +-- fs/ext4/inode.c +AHw- 9 +-- fs/iomap.c +AHw- 3 +-- fs/xfs/xfs+AF8-iomap.c +AHw- 10 +- include/linux/blkdev.h +AHw- 19 +-- include/linux/dax.h +AHw- 34 +-+-- include/linux/device-mapper.h +AHw- 8 +-- include/linux/iomap.h +AHw- 1 +- include/linux/libnvdimm.h +AHw- 8 +-- include/linux/pmem.h +AHw- 23 -- include/linux/string.h +AHw- 8 +- include/uapi/linux/ndctl.h +AHw- 1 +- tools/testing/nvdimm/Kbuild +AHw- 11 +-- tools/testing/nvdimm/dax-dev.c +AHw- 49 +-+-+-+- tools/testing/nvdimm/pmem-dax.c +AHw- 21 +-- tools/testing/nvdimm/test/nfit.c +AHw- 54 +-+-+-+-- 63 files changed, 1807 insertions(+-), 944 deletions(-) create mode 100644 drivers/dax/dax-private.h create mode 100644 drivers/dax/device-dax.h rename drivers/dax/+AHs-dax.c +AD0APg- device.c+AH0- (51+ACU-) create mode 100644 drivers/dax/super.c create mode 100644 tools/testing/nvdimm/dax-dev.c From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755506AbdEEVkc convert rfc822-to-8bit (ORCPT ); Fri, 5 May 2017 17:40:32 -0400 Received: from mga07.intel.com ([134.134.136.100]:26244 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752379AbdEEVk3 (ORCPT ); Fri, 5 May 2017 17:40:29 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,294,1491289200"; d="scan'208";a="853426699" From: "Williams, Dan J" To: "torvalds@linux-foundation.org" CC: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "linux-block@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" Subject: [GIT PULL] libnvdimm for 4.12 Thread-Topic: [GIT PULL] libnvdimm for 4.12 Thread-Index: AQHSxegnZBi/RAMmX0O2GaCOCSxDow== Date: Fri, 5 May 2017 21:40:03 +0000 Message-ID: <1494020401.23326.15.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.177.233] Content-Type: text/plain; charset="utf-7" Content-ID: <6C702CEA4A652845802D4612BB104A1E@intel.com> Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.12 ...to receive the libnvdimm update for 4.12. The bulk of this has been in multiple -next releases. There were a few late breaking fixes and small features that got added in the last couple days, but the whole set has received a build success notification from the kbuild robot.+AKA- Another late change that was merged through the x86/mm tree causes a conflict with this branch. The proposed merge resolution below matches what Stephen Rothwell came up with as well. Lastly the default diffstat from git request-pull shows some changes from Greg's char-misc tree because I based the for-4.12/dax work on the new cdev+AF8-device+AF8-add() helper and related fallout in drivers/dax/. A cleaner diffstat is also included below starting from commit bfca9acf1a5d +ACI-Merge branch 'for-4.11/libnvdimm' into for-4.12/dax+ACI-. Please pull, thanks+ACE- diff --cc drivers/nvdimm/pmem.c index fbc640bf06b0,58db813e7b7b..c544d466ea51 --- a/drivers/nvdimm/pmem.c +-+-+- b/drivers/nvdimm/pmem.c +AEAAQABA- -232,15 -243,14 +-244,19 +AEAAQABA- static void pmem+AF8-release+AF8-queue(void +ACo-q blk+AF8-cleanup+AF8-queue(q)+ADs- +AH0- +-static void pmem+AF8-freeze+AF8-queue(void +ACo-q) +-+AHs- +- blk+AF8-freeze+AF8-queue+AF8-start(q)+ADs- +-+AH0- +- - static void pmem+AF8-release+AF8-disk(void +ACo-disk) +- static void pmem+AF8-release+AF8-disk(void +ACoAXwBf-pmem) +AHs- - del+AF8-gendisk(disk)+ADs- - put+AF8-disk(disk)+ADs- +- struct pmem+AF8-device +ACo-pmem +AD0- +AF8AXw-pmem+ADs- +- +- kill+AF8-dax(pmem-+AD4-dax+AF8-dev)+ADs- +- put+AF8-dax(pmem-+AD4-dax+AF8-dev)+ADs- +- del+AF8-gendisk(pmem-+AD4-disk)+ADs- +- put+AF8-disk(pmem-+AD4-disk)+ADs- +AH0- static int pmem+AF8-attach+AF8-disk(struct device +ACo-dev, diff --cc fs/dax.c index 6433650be833,ce9dc9c3e829..43bbd6d1037d --- a/fs/dax.c +-+-+- b/fs/dax.c +AEAAQABA- -979,24 -956,34 +-965,34 +AEAAQABA- static bool dax+AF8-range+AF8-is+AF8-aligned(struc return true+ADs- +AH0- - int +AF8AXw-dax+AF8-zero+AF8-page+AF8-range(struct block+AF8-device +ACo-bdev, sector+AF8-t sector, - unsigned int offset, unsigned int length) +- int +AF8AXw-dax+AF8-zero+AF8-page+AF8-range(struct block+AF8-device +ACo-bdev, +- struct dax+AF8-device +ACo-dax+AF8-dev, sector+AF8-t sector, +- unsigned int offset, unsigned int size) +AHs- - struct blk+AF8-dax+AF8-ctl dax +AD0- +AHs- - .sector +AD0- sector, - .size +AD0- PAGE+AF8-SIZE, - +AH0AOw- - - if (dax+AF8-range+AF8-is+AF8-aligned(bdev, offset, length)) +AHs- - sector+AF8-t start+AF8-sector +AD0- dax.sector +- (offset +AD4APg- 9)+ADs- +- if (dax+AF8-range+AF8-is+AF8-aligned(bdev, offset, size)) +AHs- +- sector+AF8-t start+AF8-sector +AD0- sector +- (offset +AD4APg- 9)+ADs- return blkdev+AF8-issue+AF8-zeroout(bdev, start+AF8-sector, - length +AD4APg- 9, GFP+AF8-NOFS, 0)+ADs- - size +AD4APg- 9, GFP+AF8-NOFS, true)+ADs- +-+- size +AD4APg- 9, GFP+AF8-NOFS, 0)+ADs- +AH0- else +AHs- - if (dax+AF8-map+AF8-atomic(bdev, +ACY-dax) +ADw- 0) - return PTR+AF8-ERR(dax.addr)+ADs- - clear+AF8-pmem(dax.addr +- offset, length)+ADs- - dax+AF8-unmap+AF8-atomic(bdev, +ACY-dax)+ADs- +- pgoff+AF8-t pgoff+ADs- +- long rc, id+ADs- +- void +ACo-kaddr+ADs- +- pfn+AF8-t pfn+ADs- +- +- rc +AD0- bdev+AF8-dax+AF8-pgoff(bdev, sector, size, +ACY-pgoff)+ADs- +- if (rc) +- return rc+ADs- +- +- id +AD0- dax+AF8-read+AF8-lock()+ADs- +- rc +AD0- dax+AF8-direct+AF8-access(dax+AF8-dev, pgoff, PHYS+AF8-PFN(size), +ACY-kaddr, +- +ACY-pfn)+ADs- +- if (rc +ADw- 0) +AHs- +- dax+AF8-read+AF8-unlock(id)+ADs- +- return rc+ADs- +- +AH0- +- clear+AF8-pmem(kaddr +- offset, size)+ADs- +- dax+AF8-read+AF8-unlock(id)+ADs- +AH0- return 0+ADs- +AH0- The following changes since commit 11e63f6d920d6f2dfd3cd421e939a4aec9a58dcd: x86, pmem: fix broken +AF8AXw-copy+AF8-user+AF8-nocache cache-bypass assumptions (2017-04-12 13:45:18 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.12 for you to fetch changes up to 736163671bcb163fc82600b46c83dfa89d532d95: Merge branch 'for-4.12/dax' into libnvdimm-for-next (2017-05-04 23:38:43 -0700) ---------------------------------------------------------------- libnvdimm for 4.12 +ACo- Region media error reporting: A libnvdimm region device is the parent to one or more namespaces. To date, media errors have been reported via the +ACI-badblocks+ACI- attribute attached to pmem block devices for namespaces in +ACI-raw+ACI- or +ACI-memory+ACI- mode. Given that namespaces can be in +ACI-device-dax+ACI- or +ACI-btt-sector+ACI- mode this new interface reports media errors generically, i.e. independent of namespace modes or state. This subsequently allows userspace tooling to craft +ACI-ACPI 6.1 Section 9.20.7.6 Function Index 4 - Clear Uncorrectable Error+ACI- requests and submit them via the ioctl path for NVDIMM root bus devices. +ACo- Introduce 'struct dax+AF8-device' and 'struct dax+AF8-operations': Prompted by a request from Linus and feedback from Christoph this allows for dax capable drivers to publish their own custom dax operations. This fixes the broken assumption that all dax operations are related to a persistent memory device, and makes it easier for other architectures and platforms to add customized persistent memory support. +ACo- 'libnvdimm' core updates: A new +ACI-deep+AF8-flush+ACI- sysfs attribute is available for storage appliance applications to manually trigger memory controllers to drain write-pending buffers that would otherwise be flushed automatically by the platform ADR (asynchronous-DRAM-refresh) mechanism at a power loss event. Support for +ACI-locked+ACI- DIMMs is included to prevent namespaces from surfacing when the namespace label data area is locked. Finally, fixes for various reported deadlocks and crashes, also tagged for -stable. +ACo- ACPI / nfit driver updates: General updates of the nfit driver to add DSM command overrides, ACPI 6.1 health state flags support, DSM payload debug available by default, and various fixes. Acknowledgements that came after the branch was pushed: commmit 565851c972b5 +ACI-device-dax: fix sysfs attribute deadlock+ACI- Tested-by: Yi Zhang +ADw-yizhan+AEA-redhat.com+AD4- commit 23f498448362 +ACI-libnvdimm: rework region badblocks clearing+ACI- Tested-by: Toshi Kani +ADw-toshi.kani+AEA-hpe.com+AD4- ---------------------------------------------------------------- Arnd Bergmann (1): block, dax: use correct format string in bdev+AF8-dax+AF8-supported Dan Williams (39): acpi, nfit: fix acpi+AF8-get+AF8-table leak Merge branch 'for-4.11/libnvdimm' into for-4.12/dax device-dax: rename 'dax+AF8-dev' to 'dev+AF8-dax' dax: refactor dax-fs into a generic provider of 'struct dax+AF8-device' instances Revert +ACI-libnvdimm: band aid btt vs clear poison locking+ACI- acpi, nfit: add support for acpi 6.1 dimm state flags tools/testing/nvdimm: test acpi 6.1 health state flags acpi, nfit: support +ACI-map failed+ACI- dimms acpi, nfit: collate health state flags acpi, nfit: limit -+AD4-flush+AF8-probe() to initialization work tools/testing/nvdimm: fix nfit+AF8-test shutdown crash acpi, nfit: fix module unload vs workqueue shutdown race dax: add a facility to lookup a dax device by 'host' device name dax: introduce dax+AF8-operations pmem: add dax+AF8-operations support axon+AF8-ram: add dax+AF8-operations support brd: add dax+AF8-operations support dcssblk: add dax+AF8-operations support block: kill bdev+AF8-dax+AF8-capable() dax: introduce dax+AF8-direct+AF8-access() dm: add dax+AF8-device and dax+AF8-operations support libnvdimm, region: fix flush hint detection crash dm: teach dm-targets to use a dax+AF8-device +- dax+AF8-operations ext2, ext4, xfs: retrieve dax+AF8-device for iomap operations Revert +ACI-block: use DAX for partition table reads+ACI- filesystem-dax: convert to dax+AF8-direct+AF8-access() block, dax: convert bdev+AF8-dax+AF8-supported() to dax+AF8-direct+AF8-access() block: remove block+AF8-device+AF8-operations -+AD4-direct+AF8-access() x86, dax, pmem: remove indirection around memcpy+AF8-from+AF8-pmem() libnvdimm, region: sysfs trigger for nvdimm+AF8-flush() acpi, nfit: kill ACPI+AF8-NFIT+AF8-DEBUG libnvdimm: rework region badblocks clearing libnvdimm: fix nvdimm+AF8-bus+AF8-lock() vs device+AF8-lock() ordering libnvdimm: restore +ACI-libnvdimm: band aid btt vs clear poison locking+ACI- device-dax: fix sysfs attribute deadlock libnvdimm: convert NDD+AF8- flags to use bitops, introduce NDD+AF8-LOCKED libnvdimm: handle locked label storage areas libnvdimm, pfn: fix 'npfns' vs section alignment Merge branch 'for-4.12/dax' into libnvdimm-for-next Dave Jiang (5): libnvdimm: add mechanism to publish badblocks at the region level libnvdimm: Add 'resource' sysfs attribute to regions libnvdimm: add support for clear poison list and badblocks for device dax device-dax, tools/testing/nvdimm: enable device-dax with mock resources libnvdimm: fix clear poison locking with spinlock and GFP+AF8-NOWAIT allocation Gerald Schaefer (1): brd: fix uninitialized use of brd-+AD4-dax+AF8-dev Linda Knippers (3): acpi, nfit: allow override of built-in bitmasks for nvdimm DSMs acpi, nfit: allow specifying a default DSM family acpi, nfit: remove unnecessary newline Oliver O'Halloran (1): device-dax: improve fault handler debug output Pushkar Jambhlekar (1): device-dax: fix dax+AF8-dev+AF8-huge+AF8-fault() unknown fault size handling Toshi Kani (3): libnvdimm: fix phys+AF8-addr for nvdimm+AF8-clear+AF8-poison libnvdimm, pmem: fix a NULL pointer BUG in nd+AF8-pmem+AF8-notify libnvdimm: fix clear length of nvdimm+AF8-forget+AF8-poison() Documentation/DocBook/rapidio.tmpl +AHw- 3 - .../devicetree/bindings/auxdisplay/hit,hd44780.txt +AHw- 44 +-+- .../devicetree/bindings/fpga/fpga-region.txt +AHw- 1 +- .../bindings/fpga/lattice-ice40-fpga-mgr.txt +AHw- 21 +- Documentation/driver-api/vme.rst +AHw- 363 +-+-+------- Documentation/w1/slaves/00-INDEX +AHw- 4 +- Documentation/w1/slaves/w1+AF8-ds2413 +AHw- 50 +-+- Documentation/w1/slaves/w1+AF8-ds2438 +AHw- 63 +-+- MAINTAINERS +AHw- 1 - arch/arm/mach-ep93xx/ts72xx.c +AHw- 26 +- arch/powerpc/platforms/Kconfig +AHw- 1 +- arch/powerpc/sysdev/axonram.c +AHw- 45 +-- arch/x86/hyperv/hv+AF8-init.c +AHw- 2 +-- arch/x86/include/asm/pmem.h +AHw- 5 - arch/x86/include/asm/string+AF8-64.h +AHw- 1 +- arch/x86/include/uapi/asm/hyperv.h +AHw- 7 +-- block/Kconfig +AHw- 1 +- block/partition-generic.c +AHw- 17 +-- drivers/Makefile +AHw- 2 +-- drivers/acpi/nfit/Kconfig +AHw- 12 - drivers/acpi/nfit/core.c +AHw- 233 +-+-+-+--- drivers/acpi/nfit/nfit.h +AHw- 4 +-- drivers/android/Kconfig +AHw- 2 +-- drivers/auxdisplay/Kconfig +AHw- 14 +- drivers/auxdisplay/Makefile +AHw- 2 +- drivers/auxdisplay/charlcd.c +AHw- 818 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- drivers/auxdisplay/hd44780.c +AHw- 325 +-+-+-+-+-+-+-+- drivers/block/Kconfig +AHw- 1 +- drivers/block/brd.c +AHw- 48 +-- drivers/char/hpet.c +AHw- 2 +-- drivers/char/virtio+AF8-console.c +AHw- 2 +-- drivers/dax/Kconfig +AHw- 10 +-- drivers/dax/Makefile +AHw- 5 +-- drivers/dax/dax-private.h +AHw- 57 +-+- drivers/dax/dax.h +AHw- 15 +-- drivers/dax/device-dax.h +AHw- 25 +- drivers/dax/+AHs-dax.c +AD0APg- device.c+AH0- +AHw- 516 +-+-+-+---------- drivers/dax/pmem.c +AHw- 10 +-- drivers/dax/super.c +AHw- 425 +-+-+-+-+-+-+-+-+-+-+- drivers/fpga/Kconfig +AHw- 13 +- drivers/fpga/Makefile +AHw- 2 +- drivers/fpga/fpga-bridge.c +AHw- 17 +-- drivers/fpga/fpga-mgr.c +AHw- 2 +-- drivers/fpga/fpga-region.c +AHw- 8 +-- drivers/fpga/ice40-spi.c +AHw- 207 +-+-+-+-+-+- drivers/fpga/ts73xx-fpga.c +AHw- 156 +-+-+-+- drivers/fpga/zynq-fpga.c +AHw- 28 +-- drivers/hv/channel.c +AHw- 10 +-- drivers/hv/channel+AF8-mgmt.c +AHw- 48 +-- drivers/hv/connection.c +AHw- 65 +-- drivers/hv/hv.c +AHw- 5 +-- drivers/hv/hv+AF8-balloon.c +AHw- 2 - drivers/hv/hv+AF8-fcopy.c +AHw- 2 - drivers/hv/hv+AF8-kvp.c +AHw- 12 +-- drivers/hv/hv+AF8-snapshot.c +AHw- 2 - drivers/hv/hyperv+AF8-vmbus.h +AHw- 29 +-- drivers/hv/ring+AF8-buffer.c +AHw- 22 +-- drivers/hv/vmbus+AF8-drv.c +AHw- 4 +-- drivers/md/Kconfig +AHw- 1 +- drivers/md/dm-core.h +AHw- 1 +- drivers/md/dm-linear.c +AHw- 27 +-- drivers/md/dm-snap.c +AHw- 6 +-- drivers/md/dm-stripe.c +AHw- 29 +-- drivers/md/dm-target.c +AHw- 6 +-- drivers/md/dm.c +AHw- 67 +-- drivers/misc/Kconfig +AHw- 9 +- drivers/misc/Makefile +AHw- 1 +- drivers/misc/aspeed-lpc-ctrl.c +AHw- 267 +-+-+-+-+-+-+- drivers/misc/panel.c +AHw- 827 +-+-+------------------- drivers/nvdimm/Kconfig +AHw- 1 +- drivers/nvdimm/btt+AF8-devs.c +AHw- 2 +-- drivers/nvdimm/bus.c +AHw- 122 +-+-- drivers/nvdimm/claim.c +AHw- 37 +-- drivers/nvdimm/core.c +AHw- 51 +-- drivers/nvdimm/dax+AF8-devs.c +AHw- 2 +-- drivers/nvdimm/dimm.c +AHw- 2 +- drivers/nvdimm/dimm+AF8-devs.c +AHw- 19 +-- drivers/nvdimm/namespace+AF8-devs.c +AHw- 17 +-- drivers/nvdimm/nd-core.h +AHw- 1 +- drivers/nvdimm/nd.h +AHw- 2 +- drivers/nvdimm/pfn+AF8-devs.c +AHw- 8 +-- drivers/nvdimm/pmem.c +AHw- 90 +-+-- drivers/nvdimm/pmem.h +AHw- 7 +-- drivers/nvdimm/region.c +AHw- 24 +- drivers/nvdimm/region+AF8-devs.c +AHw- 83 +-+-- drivers/pps/pps.c +AHw- 123 +-+-- drivers/rapidio/rio-sysfs.c +AHw- 76 +-- drivers/rapidio/rio.c +AHw- 3 - drivers/rapidio/rio.h +AHw- 2 - drivers/s390/block/Kconfig +AHw- 1 +- drivers/s390/block/dcssblk.c +AHw- 45 +-- drivers/vme/vme.c +AHw- 469 +-+-+-+-+-+-+-+-+-+-+-- drivers/w1/slaves/Kconfig +AHw- 6 +- drivers/w1/slaves/Makefile +AHw- 1 +- drivers/w1/slaves/w1+AF8-ds2438.c +AHw- 390 +-+-+-+-+-+-+-+-+-+- drivers/w1/slaves/w1+AF8-ds2760.h +AHw- 10 +-- drivers/w1/w1+AF8-family.h +AHw- 1 +- drivers/zorro/zorro-driver.c +AHw- 15 +-- drivers/zorro/zorro-sysfs.c +AHw- 76 +-- drivers/zorro/zorro.c +AHw- 3 - drivers/zorro/zorro.h +AHw- 3 +-- fs/block+AF8-dev.c +AHw- 117 +--- fs/char+AF8-dev.c +AHw- 86 +-+-+- fs/dax.c +AHw- 297 +-+-+-+----- fs/ext2/inode.c +AHw- 9 +-- fs/ext4/inode.c +AHw- 9 +-- fs/iomap.c +AHw- 3 +-- fs/xfs/xfs+AF8-iomap.c +AHw- 10 +- include/linux/blkdev.h +AHw- 19 +-- include/linux/cdev.h +AHw- 5 +- include/linux/dax.h +AHw- 34 +-- include/linux/device-mapper.h +AHw- 8 +-- include/linux/fpga/fpga-mgr.h +AHw- 1 +- include/linux/hyperv.h +AHw- 31 +-- include/linux/iomap.h +AHw- 1 +- include/linux/libnvdimm.h +AHw- 8 +-- include/linux/pmem.h +AHw- 23 - include/linux/string.h +AHw- 8 +- include/linux/vme.h +AHw- 12 +-- include/misc/charlcd.h +AHw- 42 +-+- include/uapi/linux/aspeed-lpc-ctrl.h +AHw- 60 +-+- include/uapi/linux/ndctl.h +AHw- 1 +- include/uapi/linux/pps.h +AHw- 19 +- tools/testing/nvdimm/Kbuild +AHw- 11 +-- tools/testing/nvdimm/dax-dev.c +AHw- 49 +-+- tools/testing/nvdimm/pmem-dax.c +AHw- 21 +-- tools/testing/nvdimm/test/nfit.c +AHw- 54 +-- 127 files changed, 5423 insertions(+-), 2265 deletions(-) create mode 100644 Documentation/devicetree/bindings/auxdisplay/hit,hd44780.txt create mode 100644 Documentation/devicetree/bindings/fpga/lattice-ice40-fpga-mgr.txt create mode 100644 Documentation/w1/slaves/w1+AF8-ds2413 create mode 100644 Documentation/w1/slaves/w1+AF8-ds2438 create mode 100644 drivers/auxdisplay/charlcd.c create mode 100644 drivers/auxdisplay/hd44780.c create mode 100644 drivers/dax/dax-private.h create mode 100644 drivers/dax/device-dax.h rename drivers/dax/+AHs-dax.c +AD0APg- device.c+AH0- (50+ACU-) create mode 100644 drivers/dax/super.c create mode 100644 drivers/fpga/ice40-spi.c create mode 100644 drivers/fpga/ts73xx-fpga.c create mode 100644 drivers/misc/aspeed-lpc-ctrl.c create mode 100644 drivers/w1/slaves/w1+AF8-ds2438.c create mode 100644 include/misc/charlcd.h create mode 100644 include/uapi/linux/aspeed-lpc-ctrl.h create mode 100644 tools/testing/nvdimm/dax-dev.c --- Diffstat starting from commit bfca9acf1a5d +ACI-Merge branch 'for- 4.11/libnvdimm' into for-4.12/dax+ACI- arch/powerpc/platforms/Kconfig +AHw- 1 +- arch/powerpc/sysdev/axonram.c +AHw- 45 +-+-+-- arch/x86/include/asm/pmem.h +AHw- 5 - arch/x86/include/asm/string+AF8-64.h +AHw- 1 +- block/Kconfig +AHw- 1 +- block/partition-generic.c +AHw- 17 +-- drivers/Makefile +AHw- 2 +-- drivers/acpi/nfit/Kconfig +AHw- 12 - drivers/acpi/nfit/core.c +AHw- 233 +-+-+-+-+-+-+-+-+-+-+-+------- drivers/acpi/nfit/nfit.h +AHw- 4 +-- drivers/block/Kconfig +AHw- 1 +- drivers/block/brd.c +AHw- 48 +-+-+-- drivers/dax/Kconfig +AHw- 10 +-- drivers/dax/Makefile +AHw- 5 +-- drivers/dax/dax-private.h +AHw- 57 +-+-+-+-+- drivers/dax/dax.h +AHw- 15 +-- drivers/dax/device-dax.h +AHw- 25 +-+- drivers/dax/+AHs-dax.c +AD0APg- device.c+AH0- +AHw- 501 +-+-+-+-+-+-+-+-+-+-+-+---------------------------- drivers/dax/pmem.c +AHw- 10 +-- drivers/dax/super.c +AHw- 425 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- drivers/md/Kconfig +AHw- 1 +- drivers/md/dm-core.h +AHw- 1 +- drivers/md/dm-linear.c +AHw- 27 +--- drivers/md/dm-snap.c +AHw- 6 +-- drivers/md/dm-stripe.c +AHw- 29 +-+-- drivers/md/dm-target.c +AHw- 6 +-- drivers/md/dm.c +AHw- 67 +-+-+-+--- drivers/nvdimm/Kconfig +AHw- 1 +- drivers/nvdimm/btt+AF8-devs.c +AHw- 2 +-- drivers/nvdimm/bus.c +AHw- 122 +-+-+-+-+-+-+-+-+-- drivers/nvdimm/claim.c +AHw- 37 +--- drivers/nvdimm/core.c +AHw- 51 +-+--- drivers/nvdimm/dax+AF8-devs.c +AHw- 2 +-- drivers/nvdimm/dimm.c +AHw- 2 +- drivers/nvdimm/dimm+AF8-devs.c +AHw- 19 +-- drivers/nvdimm/namespace+AF8-devs.c +AHw- 17 +-- drivers/nvdimm/nd-core.h +AHw- 1 +- drivers/nvdimm/nd.h +AHw- 2 +- drivers/nvdimm/pfn+AF8-devs.c +AHw- 8 +-- drivers/nvdimm/pmem.c +AHw- 90 +-+-+-+-+--- drivers/nvdimm/pmem.h +AHw- 7 +-- drivers/nvdimm/region.c +AHw- 24 +-+- drivers/nvdimm/region+AF8-devs.c +AHw- 83 +-+-+-+-+-+-- drivers/s390/block/Kconfig +AHw- 1 +- drivers/s390/block/dcssblk.c +AHw- 45 +-+-+-- fs/block+AF8-dev.c +AHw- 117 +-+-+------- fs/dax.c +AHw- 297 +-+-+-+-+-+-+-+-+-+-+-+------------ fs/ext2/inode.c +AHw- 9 +-- fs/ext4/inode.c +AHw- 9 +-- fs/iomap.c +AHw- 3 +-- fs/xfs/xfs+AF8-iomap.c +AHw- 10 +- include/linux/blkdev.h +AHw- 19 +-- include/linux/dax.h +AHw- 34 +-+-- include/linux/device-mapper.h +AHw- 8 +-- include/linux/iomap.h +AHw- 1 +- include/linux/libnvdimm.h +AHw- 8 +-- include/linux/pmem.h +AHw- 23 -- include/linux/string.h +AHw- 8 +- include/uapi/linux/ndctl.h +AHw- 1 +- tools/testing/nvdimm/Kbuild +AHw- 11 +-- tools/testing/nvdimm/dax-dev.c +AHw- 49 +-+-+-+- tools/testing/nvdimm/pmem-dax.c +AHw- 21 +-- tools/testing/nvdimm/test/nfit.c +AHw- 54 +-+-+-+-- 63 files changed, 1807 insertions(+-), 944 deletions(-) create mode 100644 drivers/dax/dax-private.h create mode 100644 drivers/dax/device-dax.h rename drivers/dax/+AHs-dax.c +AD0APg- device.c+AH0- (51+ACU-) create mode 100644 drivers/dax/super.c create mode 100644 tools/testing/nvdimm/dax-dev.c