[PATCH 1/2] state: remove unused arguments from state_new_from_node()

Sascha Hauer s.hauer at pengutronix.de
Tue Feb 20 05:45:25 PST 2018


state_new_from_node() has arguments describing the backend path. These
are never used in barebox, the backend path is always derived from the
device nodes backend description. Remove these arguments.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 common/efi/efi.c     |  2 +-
 common/state/state.c | 44 ++++++++++++++++----------------------------
 drivers/misc/state.c |  2 +-
 include/state.h      |  3 +--
 4 files changed, 19 insertions(+), 32 deletions(-)

diff --git a/common/efi/efi.c b/common/efi/efi.c
index 561ce4c081..1f451a157e 100644
--- a/common/efi/efi.c
+++ b/common/efi/efi.c
@@ -441,7 +441,7 @@ static int efi_late_init(void)
 
 		np = of_find_node_by_alias(root, "state");
 
-		state = state_new_from_node(np, NULL, 0, 0, false);
+		state = state_new_from_node(np, false);
 		if (IS_ERR(state))
 			return PTR_ERR(state);
 
diff --git a/common/state/state.c b/common/state/state.c
index 6399bd3736..fdf10991aa 100644
--- a/common/state/state.c
+++ b/common/state/state.c
@@ -557,17 +557,10 @@ void state_release(struct state *state)
 /*
  * state_new_from_node - create a new state instance from a device_node
  *
- * @node	The device_node describing the new state instance
- * @path	Path to the backend device. If NULL the path is constructed
- *		using the path in the backend property of the DT.
- * @offset	Offset in the device path. May be 0 to start at the beginning.
- * @max_size	Maximum size of the area used. This may be 0 to use the full
- *		size.
  * @readonly	This is a read-only state. Note that with this option set,
  *		there are no repairs done.
  */
-struct state *state_new_from_node(struct device_node *node, char *path,
-				  off_t offset, size_t max_size, bool readonly)
+struct state *state_new_from_node(struct device_node *node, bool readonly)
 {
 	struct state *state;
 	int ret = 0;
@@ -575,6 +568,7 @@ struct state *state_new_from_node(struct device_node *node, char *path,
 	const char *storage_type = NULL;
 	const char *alias;
 	uint32_t stridesize;
+	struct device_node *partition_node;
 
 	alias = of_alias_get(node);
 	if (!alias) {
@@ -586,26 +580,20 @@ struct state *state_new_from_node(struct device_node *node, char *path,
 	if (IS_ERR(state))
 		return state;
 
-	if (!path) {
-		struct device_node *partition_node;
-
-		partition_node = of_parse_phandle(node, "backend", 0);
-		if (!partition_node) {
-			dev_err(&state->dev, "Cannot resolve \"backend\" phandle\n");
-			ret = -EINVAL;
-			goto out_release_state;
-		}
-
-		ret = of_find_path_by_node(partition_node, &path, 0);
-		if (ret) {
-			if (ret != -EPROBE_DEFER)
-				dev_err(&state->dev, "state failed to parse path to backend: %s\n",
-				       strerror(-ret));
-			goto out_release_state;
-		}
+	partition_node = of_parse_phandle(node, "backend", 0);
+	if (!partition_node) {
+		dev_err(&state->dev, "Cannot resolve \"backend\" phandle\n");
+		ret = -EINVAL;
+		goto out_release_state;
 	}
 
-	state->backend_path = xstrdup(path);
+	ret = of_find_path_by_node(partition_node, &state->backend_path, 0);
+	if (ret) {
+		if (ret != -EPROBE_DEFER)
+			dev_err(&state->dev, "state failed to parse path to backend: %s\n",
+			       strerror(-ret));
+		goto out_release_state;
+	}
 
 	ret = of_property_read_string(node, "backend-type", &backend_type);
 	if (ret) {
@@ -625,8 +613,8 @@ struct state *state_new_from_node(struct device_node *node, char *path,
 	if (ret)
 		goto out_release_state;
 
-	ret = state_storage_init(state, path, offset,
-				 max_size, stridesize, storage_type);
+	ret = state_storage_init(state, state->backend_path, 0,
+				 0, stridesize, storage_type);
 	if (ret)
 		goto out_release_state;
 
diff --git a/drivers/misc/state.c b/drivers/misc/state.c
index 98ed42e757..d7e385d0b5 100644
--- a/drivers/misc/state.c
+++ b/drivers/misc/state.c
@@ -28,7 +28,7 @@ static int state_probe(struct device_d *dev)
 	bool readonly = false;
 	int ret;
 
-	state = state_new_from_node(np, NULL, 0, 0, readonly);
+	state = state_new_from_node(np, readonly);
 	if (IS_ERR(state)) {
 		int ret = PTR_ERR(state);
 		if (ret == -ENODEV)
diff --git a/include/state.h b/include/state.h
index f1882ae026..4e995a19ef 100644
--- a/include/state.h
+++ b/include/state.h
@@ -10,8 +10,7 @@ int state_backend_dtb_file(struct state *state, const char *of_path,
 int state_backend_raw_file(struct state *state, const char *of_path,
 		const char *path, off_t offset, size_t size);
 
-struct state *state_new_from_node(struct device_node *node, char *path,
-				  off_t offset, size_t max_size, bool readonly);
+struct state *state_new_from_node(struct device_node *node, bool readonly);
 void state_release(struct state *state);
 
 struct state *state_by_name(const char *name);
-- 
2.16.1




More information about the barebox mailing list