diff options
Diffstat (limited to '0001-device-property-always-check-for-fwnode-type.patch')
-rw-r--r-- | 0001-device-property-always-check-for-fwnode-type.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/0001-device-property-always-check-for-fwnode-type.patch b/0001-device-property-always-check-for-fwnode-type.patch new file mode 100644 index 000000000..c62956b73 --- /dev/null +++ b/0001-device-property-always-check-for-fwnode-type.patch @@ -0,0 +1,51 @@ +From e3f9e299bf94298ddd8beb63c0786a4d7766dc86 Mon Sep 17 00:00:00 2001 +From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> +Date: Mon, 30 Nov 2015 17:11:29 +0200 +Subject: [PATCH 01/16] device property: always check for fwnode type + +Currently the property accessors unconditionally fall back to built-in property +set as a last resort. Make this strict and return an error in case the type of +fwnode is unknown. + +This is actually a follow up to the commit 4fa7508e9f1c (device property: +Return -ENXIO if there is no suitable FW interface). + +Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> +Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> +--- + drivers/base/property.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/drivers/base/property.c b/drivers/base/property.c +index 1325ff2..09e488d 100644 +--- a/drivers/base/property.c ++++ b/drivers/base/property.c +@@ -135,8 +135,9 @@ bool fwnode_property_present(struct fwnode_handle *fwnode, const char *propname) + return of_property_read_bool(to_of_node(fwnode), propname); + else if (is_acpi_node(fwnode)) + return !acpi_node_prop_get(fwnode, propname, NULL); +- +- return !!pset_prop_get(to_pset(fwnode), propname); ++ else if (is_pset(fwnode)) ++ return !!pset_prop_get(to_pset(fwnode), propname); ++ return false; + } + EXPORT_SYMBOL_GPL(fwnode_property_present); + +@@ -494,9 +495,10 @@ int fwnode_property_read_string(struct fwnode_handle *fwnode, + else if (is_acpi_node(fwnode)) + return acpi_node_prop_read(fwnode, propname, DEV_PROP_STRING, + val, 1); +- +- return pset_prop_read_array(to_pset(fwnode), propname, +- DEV_PROP_STRING, val, 1); ++ else if (is_pset(fwnode)) ++ return pset_prop_read_array(to_pset(fwnode), propname, ++ DEV_PROP_STRING, val, 1); ++ return -ENXIO; + } + EXPORT_SYMBOL_GPL(fwnode_property_read_string); + +-- +2.5.0 + |