Commit d5f962fa authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman
Browse files

device property: Move property_entry_free_data() upper



It's just a preparatory patch to use property_entry_free_data() later on.

No functional change intended.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c508c46e
Loading
Loading
Loading
Loading
+17 −17
Original line number Diff line number Diff line
@@ -695,6 +695,23 @@ int fwnode_property_get_reference_args(const struct fwnode_handle *fwnode,
}
EXPORT_SYMBOL_GPL(fwnode_property_get_reference_args);

static void property_entry_free_data(const struct property_entry *p)
{
	size_t i, nval;

	if (p->is_array) {
		if (p->is_string && p->pointer.str) {
			nval = p->length / sizeof(const char *);
			for (i = 0; i < nval; i++)
				kfree(p->pointer.str[i]);
		}
		kfree(p->pointer.raw_data);
	} else if (p->is_string) {
		kfree(p->value.str);
	}
	kfree(p->name);
}

static int property_copy_string_array(struct property_entry *dst,
				      const struct property_entry *src)
{
@@ -768,23 +785,6 @@ out_free_name:
	return error;
}

static void property_entry_free_data(const struct property_entry *p)
{
	size_t i, nval;

	if (p->is_array) {
		if (p->is_string && p->pointer.str) {
			nval = p->length / sizeof(const char *);
			for (i = 0; i < nval; i++)
				kfree(p->pointer.str[i]);
		}
		kfree(p->pointer.raw_data);
	} else if (p->is_string) {
		kfree(p->value.str);
	}
	kfree(p->name);
}

/**
 * property_entries_dup - duplicate array of properties
 * @properties: array of properties to copy