From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-f176.google.com (mail-ob0-f176.google.com [209.85.214.176]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id ED64E14019A for ; Wed, 23 Apr 2014 11:19:08 +1000 (EST) Received: by mail-ob0-f176.google.com with SMTP id wp4so303262obc.7 for ; Tue, 22 Apr 2014 18:19:05 -0700 (PDT) From: Rob Herring To: Grant Likely , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 14/21] of/fdt: create common debugfs Date: Tue, 22 Apr 2014 20:18:14 -0500 Message-Id: <1398215901-25609-15-git-send-email-robherring2@gmail.com> In-Reply-To: <1398215901-25609-1-git-send-email-robherring2@gmail.com> References: <1398215901-25609-1-git-send-email-robherring2@gmail.com> Cc: Rob Herring , Michal Simek , Paul Mackerras , linuxppc-dev@lists.ozlabs.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Rob Herring Both powerpc and microblaze have the same FDT blob in debugfs feature. Move this to common location and remove the powerpc and microblaze implementations. This feature could become more useful when FDT overlay support is added. This changes the path of the blob from "$arch/flat-device-tree" to "device-tree/flat-device-tree". Signed-off-by: Rob Herring Cc: Michal Simek Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org --- v2: move to after libfdt conversion arch/microblaze/kernel/prom.c | 31 ------------------------------- arch/powerpc/kernel/prom.c | 21 --------------------- drivers/of/fdt.c | 24 ++++++++++++++++++++++++ 3 files changed, 24 insertions(+), 52 deletions(-) diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c index c766306..68f0999 100644 --- a/arch/microblaze/kernel/prom.c +++ b/arch/microblaze/kernel/prom.c @@ -114,34 +114,3 @@ void __init early_init_devtree(void *params) pr_debug(" <- early_init_devtree()\n"); } - -/******* - * - * New implementation of the OF "find" APIs, return a refcounted - * object, call of_node_put() when done. The device tree and list - * are protected by a rw_lock. - * - * Note that property management will need some locking as well, - * this isn't dealt with yet. - * - *******/ - -#if defined(CONFIG_DEBUG_FS) && defined(DEBUG) -static struct debugfs_blob_wrapper flat_dt_blob; - -static int __init export_flat_device_tree(void) -{ - struct dentry *d; - - flat_dt_blob.data = initial_boot_params; - flat_dt_blob.size = initial_boot_params->totalsize; - - d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, - of_debugfs_root, &flat_dt_blob); - if (!d) - return 1; - - return 0; -} -device_initcall(export_flat_device_tree); -#endif diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index f971134..03624ce 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -924,23 +923,3 @@ bool arch_match_cpu_phys_id(int cpu, u64 phys_id) { return (int)phys_id == get_hard_smp_processor_id(cpu); } - -#if defined(CONFIG_DEBUG_FS) && defined(DEBUG) -static struct debugfs_blob_wrapper flat_dt_blob; - -static int __init export_flat_device_tree(void) -{ - struct dentry *d; - - flat_dt_blob.data = initial_boot_params; - flat_dt_blob.size = be32_to_cpu(initial_boot_params->totalsize); - - d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, - powerpc_debugfs_root, &flat_dt_blob); - if (!d) - return 1; - - return 0; -} -__initcall(export_flat_device_tree); -#endif diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 0b38a6a..4129f74 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -20,6 +20,7 @@ #include #include #include +#include #include /* for COMMAND_LINE_SIZE */ #include @@ -916,4 +917,27 @@ void __init unflatten_and_copy_device_tree(void) unflatten_device_tree(); } +#if defined(CONFIG_DEBUG_FS) && defined(DEBUG) +static struct debugfs_blob_wrapper flat_dt_blob; + +static int __init of_flat_dt_debugfs_export_fdt(void) +{ + struct dentry *d = debugfs_create_dir("device-tree", NULL); + + if (!d) + return -ENOENT; + + flat_dt_blob.data = initial_boot_params; + flat_dt_blob.size = fdt_totalsize(initial_boot_params); + + d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, + d, &flat_dt_blob); + if (!d) + return -ENOENT; + + return 0; +} +module_init(of_flat_dt_debugfs_export_fdt); +#endif + #endif /* CONFIG_OF_EARLY_FLATTREE */ -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH v2 14/21] of/fdt: create common debugfs Date: Tue, 22 Apr 2014 20:18:14 -0500 Message-ID: <1398215901-25609-15-git-send-email-robherring2@gmail.com> References: <1398215901-25609-1-git-send-email-robherring2@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1398215901-25609-1-git-send-email-robherring2@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" To: Grant Likely , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: Rob Herring , Michal Simek , Paul Mackerras , linuxppc-dev@lists.ozlabs.org List-Id: devicetree@vger.kernel.org RnJvbTogUm9iIEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KCkJvdGggcG93ZXJwYyBhbmQgbWlj cm9ibGF6ZSBoYXZlIHRoZSBzYW1lIEZEVCBibG9iIGluIGRlYnVnZnMgZmVhdHVyZS4KTW92ZSB0 aGlzIHRvIGNvbW1vbiBsb2NhdGlvbiBhbmQgcmVtb3ZlIHRoZSBwb3dlcnBjIGFuZCBtaWNyb2Js YXplCmltcGxlbWVudGF0aW9ucy4gVGhpcyBmZWF0dXJlIGNvdWxkIGJlY29tZSBtb3JlIHVzZWZ1 bCB3aGVuIEZEVApvdmVybGF5IHN1cHBvcnQgaXMgYWRkZWQuCgpUaGlzIGNoYW5nZXMgdGhlIHBh dGggb2YgdGhlIGJsb2IgZnJvbSAiJGFyY2gvZmxhdC1kZXZpY2UtdHJlZSIgdG8KImRldmljZS10 cmVlL2ZsYXQtZGV2aWNlLXRyZWUiLgoKU2lnbmVkLW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhA a2VybmVsLm9yZz4KQ2M6IE1pY2hhbCBTaW1layA8bW9uc3RyQG1vbnN0ci5ldT4KQ2M6IEJlbmph bWluIEhlcnJlbnNjaG1pZHQgPGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZz4KQ2M6IFBhdWwgTWFj a2VycmFzIDxwYXVsdXNAc2FtYmEub3JnPgpDYzogbGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5v cmcKLS0tCnYyOiBtb3ZlIHRvIGFmdGVyIGxpYmZkdCBjb252ZXJzaW9uCgogYXJjaC9taWNyb2Js YXplL2tlcm5lbC9wcm9tLmMgfCAzMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBh cmNoL3Bvd2VycGMva2VybmVsL3Byb20uYyAgICB8IDIxIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQog ZHJpdmVycy9vZi9mZHQuYyAgICAgICAgICAgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKysr KysKIDMgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC9taWNyb2JsYXplL2tlcm5lbC9wcm9tLmMgYi9hcmNoL21pY3JvYmxh emUva2VybmVsL3Byb20uYwppbmRleCBjNzY2MzA2Li42OGYwOTk5IDEwMDY0NAotLS0gYS9hcmNo L21pY3JvYmxhemUva2VybmVsL3Byb20uYworKysgYi9hcmNoL21pY3JvYmxhemUva2VybmVsL3By b20uYwpAQCAtMTE0LDM0ICsxMTQsMyBAQCB2b2lkIF9faW5pdCBlYXJseV9pbml0X2RldnRyZWUo dm9pZCAqcGFyYW1zKQogCiAJcHJfZGVidWcoIiA8LSBlYXJseV9pbml0X2RldnRyZWUoKVxuIik7 CiB9Ci0KLS8qKioqKioqCi0gKgotICogTmV3IGltcGxlbWVudGF0aW9uIG9mIHRoZSBPRiAiZmlu ZCIgQVBJcywgcmV0dXJuIGEgcmVmY291bnRlZAotICogb2JqZWN0LCBjYWxsIG9mX25vZGVfcHV0 KCkgd2hlbiBkb25lLiAgVGhlIGRldmljZSB0cmVlIGFuZCBsaXN0Ci0gKiBhcmUgcHJvdGVjdGVk IGJ5IGEgcndfbG9jay4KLSAqCi0gKiBOb3RlIHRoYXQgcHJvcGVydHkgbWFuYWdlbWVudCB3aWxs IG5lZWQgc29tZSBsb2NraW5nIGFzIHdlbGwsCi0gKiB0aGlzIGlzbid0IGRlYWx0IHdpdGggeWV0 LgotICoKLSAqKioqKioqLwotCi0jaWYgZGVmaW5lZChDT05GSUdfREVCVUdfRlMpICYmIGRlZmlu ZWQoREVCVUcpCi1zdGF0aWMgc3RydWN0IGRlYnVnZnNfYmxvYl93cmFwcGVyIGZsYXRfZHRfYmxv YjsKLQotc3RhdGljIGludCBfX2luaXQgZXhwb3J0X2ZsYXRfZGV2aWNlX3RyZWUodm9pZCkKLXsK LQlzdHJ1Y3QgZGVudHJ5ICpkOwotCi0JZmxhdF9kdF9ibG9iLmRhdGEgPSBpbml0aWFsX2Jvb3Rf cGFyYW1zOwotCWZsYXRfZHRfYmxvYi5zaXplID0gaW5pdGlhbF9ib290X3BhcmFtcy0+dG90YWxz aXplOwotCi0JZCA9IGRlYnVnZnNfY3JlYXRlX2Jsb2IoImZsYXQtZGV2aWNlLXRyZWUiLCBTX0lG UkVHIHwgU19JUlVTUiwKLQkJCQlvZl9kZWJ1Z2ZzX3Jvb3QsICZmbGF0X2R0X2Jsb2IpOwotCWlm ICghZCkKLQkJcmV0dXJuIDE7Ci0KLQlyZXR1cm4gMDsKLX0KLWRldmljZV9pbml0Y2FsbChleHBv cnRfZmxhdF9kZXZpY2VfdHJlZSk7Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9r ZXJuZWwvcHJvbS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcm9tLmMKaW5kZXggZjk3MTEzNC4u MDM2MjRjZSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcm9tLmMKKysrIGIvYXJj aC9wb3dlcnBjL2tlcm5lbC9wcm9tLmMKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxsaW51 eC9iaXRvcHMuaD4KICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9r ZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KICNpbmNsdWRlIDxsaW51eC9pcnEu aD4KICNpbmNsdWRlIDxsaW51eC9tZW1ibG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L29mLmg+CkBA IC05MjQsMjMgKzkyMywzIEBAIGJvb2wgYXJjaF9tYXRjaF9jcHVfcGh5c19pZChpbnQgY3B1LCB1 NjQgcGh5c19pZCkKIHsKIAlyZXR1cm4gKGludClwaHlzX2lkID09IGdldF9oYXJkX3NtcF9wcm9j ZXNzb3JfaWQoY3B1KTsKIH0KLQotI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKSAmJiBkZWZp bmVkKERFQlVHKQotc3RhdGljIHN0cnVjdCBkZWJ1Z2ZzX2Jsb2Jfd3JhcHBlciBmbGF0X2R0X2Js b2I7Ci0KLXN0YXRpYyBpbnQgX19pbml0IGV4cG9ydF9mbGF0X2RldmljZV90cmVlKHZvaWQpCi17 Ci0Jc3RydWN0IGRlbnRyeSAqZDsKLQotCWZsYXRfZHRfYmxvYi5kYXRhID0gaW5pdGlhbF9ib290 X3BhcmFtczsKLQlmbGF0X2R0X2Jsb2Iuc2l6ZSA9IGJlMzJfdG9fY3B1KGluaXRpYWxfYm9vdF9w YXJhbXMtPnRvdGFsc2l6ZSk7Ci0KLQlkID0gZGVidWdmc19jcmVhdGVfYmxvYigiZmxhdC1kZXZp Y2UtdHJlZSIsIFNfSUZSRUcgfCBTX0lSVVNSLAotCQkJCXBvd2VycGNfZGVidWdmc19yb290LCAm ZmxhdF9kdF9ibG9iKTsKLQlpZiAoIWQpCi0JCXJldHVybiAxOwotCi0JcmV0dXJuIDA7Ci19Ci1f X2luaXRjYWxsKGV4cG9ydF9mbGF0X2RldmljZV90cmVlKTsKLSNlbmRpZgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9vZi9mZHQuYyBiL2RyaXZlcnMvb2YvZmR0LmMKaW5kZXggMGIzOGE2YS4uNDEyOWY3 NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9vZi9mZHQuYworKysgYi9kcml2ZXJzL29mL2ZkdC5jCkBA IC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51 eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvbGliZmR0Lmg+CisjaW5jbHVkZSA8bGludXgvZGVi dWdmcy5oPgogCiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+ICAvKiBmb3IgQ09NTUFORF9MSU5FX1NJ WkUgKi8KICNpbmNsdWRlIDxhc20vcGFnZS5oPgpAQCAtOTE2LDQgKzkxNywyNyBAQCB2b2lkIF9f aW5pdCB1bmZsYXR0ZW5fYW5kX2NvcHlfZGV2aWNlX3RyZWUodm9pZCkKIAl1bmZsYXR0ZW5fZGV2 aWNlX3RyZWUoKTsKIH0KIAorI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKSAmJiBkZWZpbmVk KERFQlVHKQorc3RhdGljIHN0cnVjdCBkZWJ1Z2ZzX2Jsb2Jfd3JhcHBlciBmbGF0X2R0X2Jsb2I7 CisKK3N0YXRpYyBpbnQgX19pbml0IG9mX2ZsYXRfZHRfZGVidWdmc19leHBvcnRfZmR0KHZvaWQp Cit7CisJc3RydWN0IGRlbnRyeSAqZCA9IGRlYnVnZnNfY3JlYXRlX2RpcigiZGV2aWNlLXRyZWUi LCBOVUxMKTsKKworCWlmICghZCkKKwkJcmV0dXJuIC1FTk9FTlQ7CisKKwlmbGF0X2R0X2Jsb2Iu ZGF0YSA9IGluaXRpYWxfYm9vdF9wYXJhbXM7CisJZmxhdF9kdF9ibG9iLnNpemUgPSBmZHRfdG90 YWxzaXplKGluaXRpYWxfYm9vdF9wYXJhbXMpOworCisJZCA9IGRlYnVnZnNfY3JlYXRlX2Jsb2Io ImZsYXQtZGV2aWNlLXRyZWUiLCBTX0lGUkVHIHwgU19JUlVTUiwKKwkJCQlkLCAmZmxhdF9kdF9i bG9iKTsKKwlpZiAoIWQpCisJCXJldHVybiAtRU5PRU5UOworCisJcmV0dXJuIDA7Cit9Cittb2R1 bGVfaW5pdChvZl9mbGF0X2R0X2RlYnVnZnNfZXhwb3J0X2ZkdCk7CisjZW5kaWYKKwogI2VuZGlm IC8qIENPTkZJR19PRl9FQVJMWV9GTEFUVFJFRSAqLwotLSAKMS45LjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4cHBjLWRldiBtYWlsaW5nIGxp c3QKTGludXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmcKaHR0cHM6Ly9saXN0cy5vemxhYnMub3Jn L2xpc3RpbmZvL2xpbnV4cHBjLWRldg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755923AbaDWBW6 (ORCPT ); Tue, 22 Apr 2014 21:22:58 -0400 Received: from mail-oa0-f44.google.com ([209.85.219.44]:55493 "EHLO mail-oa0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754164AbaDWBTF (ORCPT ); Tue, 22 Apr 2014 21:19:05 -0400 From: Rob Herring To: Grant Likely , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: Rob Herring , Michal Simek , Benjamin Herrenschmidt , Paul Mackerras , linuxppc-dev@lists.ozlabs.org Subject: [PATCH v2 14/21] of/fdt: create common debugfs Date: Tue, 22 Apr 2014 20:18:14 -0500 Message-Id: <1398215901-25609-15-git-send-email-robherring2@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1398215901-25609-1-git-send-email-robherring2@gmail.com> References: <1398215901-25609-1-git-send-email-robherring2@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Rob Herring Both powerpc and microblaze have the same FDT blob in debugfs feature. Move this to common location and remove the powerpc and microblaze implementations. This feature could become more useful when FDT overlay support is added. This changes the path of the blob from "$arch/flat-device-tree" to "device-tree/flat-device-tree". Signed-off-by: Rob Herring Cc: Michal Simek Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org --- v2: move to after libfdt conversion arch/microblaze/kernel/prom.c | 31 ------------------------------- arch/powerpc/kernel/prom.c | 21 --------------------- drivers/of/fdt.c | 24 ++++++++++++++++++++++++ 3 files changed, 24 insertions(+), 52 deletions(-) diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c index c766306..68f0999 100644 --- a/arch/microblaze/kernel/prom.c +++ b/arch/microblaze/kernel/prom.c @@ -114,34 +114,3 @@ void __init early_init_devtree(void *params) pr_debug(" <- early_init_devtree()\n"); } - -/******* - * - * New implementation of the OF "find" APIs, return a refcounted - * object, call of_node_put() when done. The device tree and list - * are protected by a rw_lock. - * - * Note that property management will need some locking as well, - * this isn't dealt with yet. - * - *******/ - -#if defined(CONFIG_DEBUG_FS) && defined(DEBUG) -static struct debugfs_blob_wrapper flat_dt_blob; - -static int __init export_flat_device_tree(void) -{ - struct dentry *d; - - flat_dt_blob.data = initial_boot_params; - flat_dt_blob.size = initial_boot_params->totalsize; - - d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, - of_debugfs_root, &flat_dt_blob); - if (!d) - return 1; - - return 0; -} -device_initcall(export_flat_device_tree); -#endif diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index f971134..03624ce 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -924,23 +923,3 @@ bool arch_match_cpu_phys_id(int cpu, u64 phys_id) { return (int)phys_id == get_hard_smp_processor_id(cpu); } - -#if defined(CONFIG_DEBUG_FS) && defined(DEBUG) -static struct debugfs_blob_wrapper flat_dt_blob; - -static int __init export_flat_device_tree(void) -{ - struct dentry *d; - - flat_dt_blob.data = initial_boot_params; - flat_dt_blob.size = be32_to_cpu(initial_boot_params->totalsize); - - d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, - powerpc_debugfs_root, &flat_dt_blob); - if (!d) - return 1; - - return 0; -} -__initcall(export_flat_device_tree); -#endif diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 0b38a6a..4129f74 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -20,6 +20,7 @@ #include #include #include +#include #include /* for COMMAND_LINE_SIZE */ #include @@ -916,4 +917,27 @@ void __init unflatten_and_copy_device_tree(void) unflatten_device_tree(); } +#if defined(CONFIG_DEBUG_FS) && defined(DEBUG) +static struct debugfs_blob_wrapper flat_dt_blob; + +static int __init of_flat_dt_debugfs_export_fdt(void) +{ + struct dentry *d = debugfs_create_dir("device-tree", NULL); + + if (!d) + return -ENOENT; + + flat_dt_blob.data = initial_boot_params; + flat_dt_blob.size = fdt_totalsize(initial_boot_params); + + d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, + d, &flat_dt_blob); + if (!d) + return -ENOENT; + + return 0; +} +module_init(of_flat_dt_debugfs_export_fdt); +#endif + #endif /* CONFIG_OF_EARLY_FLATTREE */ -- 1.9.1