of: make kobject and bin_attribute support configurable

Having device_nodes be kobjects is only needed if sysfs or OF_DYNAMIC is
enabled. Otherwise, having a kobject in struct device_node is
unnecessary bloat in minimal kernel configurations.

Likewise, bin_attribute is only needed in struct property when sysfs is
enabled, so we can make it configurable too.

Change-Id: I4f827e540c57a997ab123f40ff9290e485a50f52
Tested-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Frank Rowand <frowand.list@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Rob Herring <robh@kernel.org>
Git-Commit: b56b5528f5b3c3d47e7c0ca67318c45e980d93f0
Git-Repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[pdaly: removed %pOF printf format as it is not backported
added NULL check in safe_name()]
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
index 52a297d..e4304e7 100644
--- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig
@@ -46,10 +46,14 @@
 config OF_PROMTREE
 	bool
 
+config OF_KOBJ
+	def_bool SYSFS
+
 # Hardly any platforms need this.  It is safe to select, but only do so if you
 # need it.
 config OF_DYNAMIC
 	bool "Support for dynamic device trees" if OF_UNITTEST
+	select OF_KOBJ
 	help
 	  On some platforms, the device tree can be manipulated at runtime.
 	  While this option is selected automatically on such platforms, you