summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2015-11-15 13:47:22 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2015-11-15 22:12:50 +0100
commit9ba3c9d2ee39ee7a4f8a2d7d69e417e267a22827 (patch)
tree11b741edd009ee6f28547d5f25357391471835f8
parent4fe7fc892a124f55a0e8b1b6913f41e71cbba09c (diff)
backports: add of_find_property_value_of_size()
Upstream commit: b3cb62500ef43511480f416f957cb6d60c24984b commit 2e98a32a274274fca0e6e ("backport: add of_property_read_u64_array()") added a call to of_find_property_value_of_size(), which is a static function, causing compilation error. Implement it locally as well. Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> [remove of_find_property_value_of_size() from backport-3.10.c] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--backport/backport-include/linux/of.h6
-rw-r--r--backport/compat/backport-3.10.c28
-rw-r--r--backport/compat/backport-3.18.c28
3 files changed, 31 insertions, 31 deletions
diff --git a/backport/backport-include/linux/of.h b/backport/backport-include/linux/of.h
index bc0d7fd4..ab98061e 100644
--- a/backport/backport-include/linux/of.h
+++ b/backport/backport-include/linux/of.h
@@ -82,9 +82,6 @@ static inline const void *of_get_property(const struct device_node *node,
extern int of_property_read_u32_index(const struct device_node *np,
const char *propname,
u32 index, u32 *out_value);
-/* This is static in the kernel, but we need it in multiple places */
-void *of_find_property_value_of_size(const struct device_node *np,
- const char *propname, u32 len);
#else
static inline int of_property_read_u32_index(const struct device_node *np,
const char *propname, u32 index, u32 *out_value)
@@ -170,6 +167,9 @@ static inline struct device_node *of_find_compatible_node(
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,18,0)
#define of_property_read_u64_array LINUX_BACKPORT(of_property_read_u64_array)
#ifdef CONFIG_OF
+/* This is static in the kernel, but we need it in multiple places */
+void *of_find_property_value_of_size(const struct device_node *np,
+ const char *propname, u32 len);
extern int of_property_read_u64_array(const struct device_node *np,
const char *propname,
u64 *out_values,
diff --git a/backport/compat/backport-3.10.c b/backport/compat/backport-3.10.c
index 53123fb1..5cab709c 100644
--- a/backport/compat/backport-3.10.c
+++ b/backport/compat/backport-3.10.c
@@ -123,34 +123,6 @@ EXPORT_SYMBOL_GPL(pci_vfs_assigned);
#ifdef CONFIG_OF
/**
- * of_find_property_value_of_size
- *
- * @np: device node from which the property value is to be read.
- * @propname: name of the property to be searched.
- * @len: requested length of property value
- *
- * Search for a property in a device node and valid the requested size.
- * Returns the property value on success, -EINVAL if the property does not
- * exist, -ENODATA if property does not have a value, and -EOVERFLOW if the
- * property data isn't large enough.
- *
- */
-void *of_find_property_value_of_size(const struct device_node *np,
- const char *propname, u32 len)
-{
- struct property *prop = of_find_property(np, propname, NULL);
-
- if (!prop)
- return ERR_PTR(-EINVAL);
- if (!prop->value)
- return ERR_PTR(-ENODATA);
- if (len > prop->length)
- return ERR_PTR(-EOVERFLOW);
-
- return prop->value;
-}
-
-/**
* of_property_read_u32_index - Find and read a u32 from a multi-value property.
*
* @np: device node from which the property value is to be read.
diff --git a/backport/compat/backport-3.18.c b/backport/compat/backport-3.18.c
index bed5d96b..f0f7fd8a 100644
--- a/backport/compat/backport-3.18.c
+++ b/backport/compat/backport-3.18.c
@@ -225,6 +225,34 @@ EXPORT_SYMBOL_GPL(bit_wait_timeout);
#ifdef CONFIG_OF
/**
+ * of_find_property_value_of_size
+ *
+ * @np: device node from which the property value is to be read.
+ * @propname: name of the property to be searched.
+ * @len: requested length of property value
+ *
+ * Search for a property in a device node and valid the requested size.
+ * Returns the property value on success, -EINVAL if the property does not
+ * exist, -ENODATA if property does not have a value, and -EOVERFLOW if the
+ * property data isn't large enough.
+ *
+ */
+void *of_find_property_value_of_size(const struct device_node *np,
+ const char *propname, u32 len)
+{
+ struct property *prop = of_find_property(np, propname, NULL);
+
+ if (!prop)
+ return ERR_PTR(-EINVAL);
+ if (!prop->value)
+ return ERR_PTR(-ENODATA);
+ if (len > prop->length)
+ return ERR_PTR(-EOVERFLOW);
+
+ return prop->value;
+}
+
+/**
* of_property_read_u64_array - Find and read an array of 64 bit integers
* from a property.
*