From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Gaignard Subject: [PATCH v1 1/2] of: add devm_ functions for populate and depopulate Date: Fri, 17 Feb 2017 15:31:25 +0100 Message-ID: <1487341886-13829-2-git-send-email-benjamin.gaignard@linaro.org> References: <1487341886-13829-1-git-send-email-benjamin.gaignard@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1487341886-13829-1-git-send-email-benjamin.gaignard@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robh+dt@kernel.org, frowand.list@gmail.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, vincent.abriou@st.com, dri-devel@lists.freedesktop.org Cc: linaro-kernel@lists.linaro.org List-Id: devicetree@vger.kernel.org TG9zdCBvZiBjYWxscyB0byBvZl9wbGF0Zm9ybV9wb3B1bGF0ZSgpIGFyZSBub3QgdW5iYWxhbmNl ZCBieSBhIGNhbGwKdG8gb2ZfcGxhdGZvcm1fZGVwb3B1bGF0ZSgpLiBUaGlzIGNyZWF0ZSBpc3N1 ZXMgd2hpbGUgZHJpdmVycyBhcmUKYmluZC91bmJpbmQuCgpJbiB3YXkgdG8gc29sdmUgdGhvc2Ug aXNzdWVzIGlzIHRvIGFkZCBkZXZtX29mX3BsYXRmb3JtX3BvcHVsYXRlKCkKd2hpY2ggd2lsbCBj YWxsIG9mX3BsYXRmb3JtX2RlcG9wdWxhdGUoKSB3aGVuIHRoZSBkZXZpY2UgaXMgdW5ib3VuZApm cm9tIHRoZSBidXMuCgpTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4u Z2FpZ25hcmRAbGluYXJvLm9yZz4KLS0tCiBkcml2ZXJzL29mL3BsYXRmb3JtLmMgICAgICAgfCA3 NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUv bGludXgvb2ZfcGxhdGZvcm0uaCB8IDIwICsrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA5 NyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9vZi9wbGF0Zm9ybS5jIGIvZHJp dmVycy9vZi9wbGF0Zm9ybS5jCmluZGV4IGI4MDY0YmMuLjNkYmViZjcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvb2YvcGxhdGZvcm0uYworKysgYi9kcml2ZXJzL29mL3BsYXRmb3JtLmMKQEAgLTU3MSw2 ICs1NzEsODMgQEAgdm9pZCBvZl9wbGF0Zm9ybV9kZXBvcHVsYXRlKHN0cnVjdCBkZXZpY2UgKnBh cmVudCkKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKG9mX3BsYXRmb3JtX2RlcG9wdWxhdGUpOwogCitz dGF0aWMgdm9pZCBkZXZtX29mX3BsYXRmb3JtX3BvcHVsYXRlX3JlbGVhc2Uoc3RydWN0IGRldmlj ZSAqZGV2LCB2b2lkICpyZXMpCit7CisJb2ZfcGxhdGZvcm1fZGVwb3B1bGF0ZSgqKHN0cnVjdCBk ZXZpY2UgKiopcmVzKTsKK30KKworLyoqCisgKiBkZXZtX29mX3BsYXRmb3JtX3BvcHVsYXRlKCkg LSBQb3B1bGF0ZSBwbGF0Zm9ybV9kZXZpY2VzIGZyb20gZGV2aWNlIHRyZWUgZGF0YQorICogQGRl djogZGV2aWNlIHRoYXQgcmVxdWVzdGVkIHRvIHBvcHVsYXRlIGZyb20gZGV2aWNlIHRyZWUgZGF0 YQorICogQHJvb3Q6IHBhcmVudCBvZiB0aGUgZmlyc3QgbGV2ZWwgdG8gcHJvYmUgb3IgTlVMTCBm b3IgdGhlIHJvb3Qgb2YgdGhlIHRyZWUKKyAqIEBtYXRjaGVzOiBtYXRjaCB0YWJsZSwgTlVMTCB0 byB1c2UgdGhlIGRlZmF1bHQKKyAqIEBsb29rdXA6IGF1eGRhdGEgdGFibGUgZm9yIG1hdGNoaW5n IGlkIGFuZCBwbGF0Zm9ybV9kYXRhIHdpdGggZGV2aWNlIG5vZGVzCisgKiBAcGFyZW50OiBwYXJl bnQgdG8gaG9vayBkZXZpY2VzIGZyb20sIE5VTEwgZm9yIHRvcGxldmVsCisgKgorICogU2ltaWxh ciB0byBvZl9wbGF0Zm9ybV9wb3B1bGF0ZSgpLCBidXQgd2lsbCBhdXRvbWF0aWNhbGx5IGNhbGwK KyAqIG9mX3BsYXRmb3JtX2RlcG9wdWxhdGUoKSB3aGVuIHRoZSBkZXZpY2UgaXMgdW5ib3VuZCBm cm9tIHRoZSBidXMuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBmYWlsdXJl LgorICovCitpbnQgZGV2bV9vZl9wbGF0Zm9ybV9wb3B1bGF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYs CisJCQkgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKnJvb3QsCisJCQkgICAgICBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaGVzLAorCQkJICAgICAgY29uc3Qgc3RydWN0IG9mX2Rldl9h dXhkYXRhICpsb29rdXAsCisJCQkgICAgICBzdHJ1Y3QgZGV2aWNlICpwYXJlbnQpCit7CisJc3Ry dWN0IGRldmljZSAqKnB0cjsKKwlpbnQgcmV0OworCisJcHRyID0gZGV2cmVzX2FsbG9jKGRldm1f b2ZfcGxhdGZvcm1fcG9wdWxhdGVfcmVsZWFzZSwKKwkJCSAgIHNpemVvZigqcHRyKSwgR0ZQX0tF Uk5FTCk7CisJaWYgKCFwdHIpCisJCXJldHVybiAtRU5PTUVNOworCisJcmV0ID0gb2ZfcGxhdGZv cm1fcG9wdWxhdGUocm9vdCwgbWF0Y2hlcywgbG9va3VwLCBwYXJlbnQpOworCWlmIChyZXQpIHsK KwkJZGV2cmVzX2ZyZWUocHRyKTsKKwl9IGVsc2UgeworCQkqcHRyID0gcGFyZW50OworCQlkZXZy ZXNfYWRkKGRldiwgcHRyKTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTF9H UEwoZGV2bV9vZl9wbGF0Zm9ybV9wb3B1bGF0ZSk7CisKK3N0YXRpYyBpbnQgZGV2bV9vZl9wbGF0 Zm9ybV9tYXRjaChzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKnJlcywgdm9pZCAqZGF0YSkKK3sK KwlzdHJ1Y3QgZGV2aWNlICoqcHRyID0gcmVzOworCisJaWYgKCFwdHIpIHsKKwkJV0FSTl9PTigh cHRyKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuICpwdHIgPT0gZGF0YTsKK30KKworLyoq CisgKiBkZXZtX29mX3BsYXRmb3JtX2RlcG9wdWxhdGUoKSAtIFJlbW92ZSBkZXZpY2VzIHBvcHVs YXRlZCBmcm9tIGRldmljZSB0cmVlCisgKiBAZGV2OiBkZXZpY2UgdGhhdCByZXF1ZXN0ZWQgdG8g cG9wdWxhdGUgZnJvbSBkZXZpY2UgdHJlZSBkYXRhCisgKiBAcGFyZW50OiBkZXZpY2Ugd2hpY2gg Y2hpbGRyZW4gd2lsbCBiZSByZW1vdmVkCisgKgorICogQ29tcGxlbWVudGFyeSB0byBkZXZtX29m X3BsYXRmb3JtX3BvcHVsYXRlKCksIHRoaXMgZnVuY3Rpb24gcmVtb3ZlcyBjaGlsZHJlbgorICog b2YgdGhlIGdpdmVuIGRldmljZSAoYW5kLCByZWN1cnJlbnRseSwgdGhlaXIgY2hpbGRyZW4pIHRo YXQgaGF2ZSBiZWVuCisgKiBjcmVhdGVkIGZyb20gdGhlaXIgcmVzcGVjdGl2ZSBkZXZpY2UgdHJl ZSBub2RlcyAoYW5kIG9ubHkgdGhvc2UsCisgKiBsZWF2aW5nIG90aGVycyAtIGVnLiBtYW51YWxs eSBjcmVhdGVkIC0gdW5oYXJtZWQpLgorICovCit2b2lkIGRldm1fb2ZfcGxhdGZvcm1fZGVwb3B1 bGF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKnBhcmVudCkKK3sKKwlpbnQg cmV0OworCisJcmV0ID0gZGV2cmVzX3JlbGVhc2UoZGV2LCBkZXZtX29mX3BsYXRmb3JtX3BvcHVs YXRlX3JlbGVhc2UsCisJCQkgICAgIGRldm1fb2ZfcGxhdGZvcm1fbWF0Y2gsIHBhcmVudCk7CisK KwlXQVJOX09OKHJldCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChkZXZtX29mX3BsYXRmb3JtX2Rl cG9wdWxhdGUpOworCiAjaWZkZWYgQ09ORklHX09GX0RZTkFNSUMKIHN0YXRpYyBpbnQgb2ZfcGxh dGZvcm1fbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsCiAJCQkJdW5zaWduZWQgbG9u ZyBhY3Rpb24sIHZvaWQgKmFyZykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvb2ZfcGxhdGZv cm0uaCBiL2luY2x1ZGUvbGludXgvb2ZfcGxhdGZvcm0uaAppbmRleCA5NTZhMTAwLi4yODJmYWUz IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L29mX3BsYXRmb3JtLmgKKysrIGIvaW5jbHVkZS9s aW51eC9vZl9wbGF0Zm9ybS5oCkBAIC03Niw2ICs3NiwxNCBAQCBleHRlcm4gaW50IG9mX3BsYXRm b3JtX2RlZmF1bHRfcG9wdWxhdGUoc3RydWN0IGRldmljZV9ub2RlICpyb290LAogCQkJCQljb25z dCBzdHJ1Y3Qgb2ZfZGV2X2F1eGRhdGEgKmxvb2t1cCwKIAkJCQkJc3RydWN0IGRldmljZSAqcGFy ZW50KTsKIGV4dGVybiB2b2lkIG9mX3BsYXRmb3JtX2RlcG9wdWxhdGUoc3RydWN0IGRldmljZSAq cGFyZW50KTsKKworZXh0ZXJuIGludCBkZXZtX29mX3BsYXRmb3JtX3BvcHVsYXRlKHN0cnVjdCBk ZXZpY2UgKmRldiwKKwkJCQkgICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqcm9vdCwKKwkJCQkgICAg IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm1hdGNoZXMsCisJCQkJICAgICBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2X2F1eGRhdGEgKmxvb2t1cCwKKwkJCQkgICAgIHN0cnVjdCBkZXZpY2UgKnBhcmVu dCk7CitleHRlcm4gdm9pZCBkZXZtX29mX3BsYXRmb3JtX2RlcG9wdWxhdGUoc3RydWN0IGRldmlj ZSAqZGV2LAorCQkJCQlzdHJ1Y3QgZGV2aWNlICpwYXJlbnQpOwogI2Vsc2UKIHN0YXRpYyBpbmxp bmUgaW50IG9mX3BsYXRmb3JtX3BvcHVsYXRlKHN0cnVjdCBkZXZpY2Vfbm9kZSAqcm9vdCwKIAkJ CQkJY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqbWF0Y2hlcywKQEAgLTkxLDYgKzk5LDE4IEBA IHN0YXRpYyBpbmxpbmUgaW50IG9mX3BsYXRmb3JtX2RlZmF1bHRfcG9wdWxhdGUoc3RydWN0IGRl dmljZV9ub2RlICpyb290LAogCXJldHVybiAtRU5PREVWOwogfQogc3RhdGljIGlubGluZSB2b2lk IG9mX3BsYXRmb3JtX2RlcG9wdWxhdGUoc3RydWN0IGRldmljZSAqcGFyZW50KSB7IH0KKworc3Rh dGljIGlubGluZSBpbnQgZGV2bV9vZl9wbGF0Zm9ybV9wb3B1bGF0ZShzdHJ1Y3QgZGV2aWNlICpk ZXYsCisJCQkJCSAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKnJvb3QsCisJCQkJCSAgICBjb25zdCBz dHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaGVzLAorCQkJCQkgICAgY29uc3Qgc3RydWN0IG9mX2Rl dl9hdXhkYXRhICpsb29rdXAsCisJCQkJCSAgICBzdHJ1Y3QgZGV2aWNlICpwYXJlbnQpCit7CisJ cmV0dXJuIC1FTk9ERVY7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBkZXZtX29mX3BsYXRmb3Jt X2RlcG9wdWxhdGUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkgICAgICAgc3RydWN0IGRldmlj ZSAqcGFyZW50KSB7IH0KICNlbmRpZgogCiAjaWYgZGVmaW5lZChDT05GSUdfT0ZfRFlOQU1JQykg JiYgZGVmaW5lZChDT05GSUdfT0ZfQUREUkVTUykKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK