summaryrefslogtreecommitdiffstats
path: root/0005-device-property-helper-macros-for-property-entry-cre.patch
diff options
context:
space:
mode:
Diffstat (limited to '0005-device-property-helper-macros-for-property-entry-cre.patch')
-rw-r--r--0005-device-property-helper-macros-for-property-entry-cre.patch84
1 files changed, 84 insertions, 0 deletions
diff --git a/0005-device-property-helper-macros-for-property-entry-cre.patch b/0005-device-property-helper-macros-for-property-entry-cre.patch
new file mode 100644
index 000000000..877f95ef5
--- /dev/null
+++ b/0005-device-property-helper-macros-for-property-entry-cre.patch
@@ -0,0 +1,84 @@
+From a85f420475334caed12b057ddcaa0b58e0b1ebb7 Mon Sep 17 00:00:00 2001
+From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Date: Mon, 30 Nov 2015 17:11:33 +0200
+Subject: [PATCH 05/16] device property: helper macros for property entry
+ creation
+
+Marcos for easier creation of build-in property entries.
+
+Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+---
+ include/linux/property.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
+
+diff --git a/include/linux/property.h b/include/linux/property.h
+index 69a8a08..e4f29d8 100644
+--- a/include/linux/property.h
++++ b/include/linux/property.h
+@@ -175,6 +175,61 @@ struct property_entry {
+ };
+ };
+
++#define PROPERTY_ENTRY_INTEGER_ARRAY(_name_, _type_, _val_) \
++{ \
++ .name = _name_, \
++ .length = ARRAY_SIZE(_val_) * sizeof(_type_), \
++ .is_array = true, \
++ .pointer._type_##_data = _val_, \
++}
++
++#define PROPERTY_ENTRY_U8_ARRAY(_name_, _val_) \
++ PROPERTY_ENTRY_INTEGER_ARRAY(_name_, u8, _val_)
++#define PROPERTY_ENTRY_U16_ARRAY(_name_, _val_) \
++ PROPERTY_ENTRY_INTEGER_ARRAY(_name_, u16, _val_)
++#define PROPERTY_ENTRY_U32_ARRAY(_name_, _val_) \
++ PROPERTY_ENTRY_INTEGER_ARRAY(_name_, u32, _val_)
++#define PROPERTY_ENTRY_U64_ARRAY(_name_, _val_) \
++ PROPERTY_ENTRY_INTEGER_ARRAY(_name_, u64, _val_)
++
++#define PROPERTY_ENTRY_STRING_ARRAY(_name_, _val_) \
++{ \
++ .name = _name_, \
++ .length = ARRAY_SIZE(_val_) * sizeof(const char *), \
++ .is_array = true, \
++ .is_string = true, \
++ .pointer.str = _val_, \
++}
++
++#define PROPERTY_ENTRY_INTEGER(_name_, _type_, _val_) \
++{ \
++ .name = _name_, \
++ .length = sizeof(_type_), \
++ .value._type_##_data = _val_, \
++}
++
++#define PROPERTY_ENTRY_U8(_name_, _val_) \
++ PROPERTY_ENTRY_INTEGER(_name_, u8, _val_)
++#define PROPERTY_ENTRY_U16(_name_, _val_) \
++ PROPERTY_ENTRY_INTEGER(_name_, u16, _val_)
++#define PROPERTY_ENTRY_U32(_name_, _val_) \
++ PROPERTY_ENTRY_INTEGER(_name_, u32, _val_)
++#define PROPERTY_ENTRY_U64(_name_, _val_) \
++ PROPERTY_ENTRY_INTEGER(_name_, u64, _val_)
++
++#define PROPERTY_ENTRY_STRING(_name_, _val_) \
++{ \
++ .name = _name_, \
++ .length = sizeof(_val_), \
++ .is_string = true, \
++ .value.str = _val_, \
++}
++
++#define PROPERTY_ENTRY_BOOL(_name_) \
++{ \
++ .name = _name_, \
++}
++
+ /**
+ * struct property_set - Collection of "built-in" device properties.
+ * @fwnode: Handle to be pointed to by the fwnode field of struct device.
+--
+2.5.0
+