summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-02-20 12:21:00 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-02-22 08:22:11 +0100
commita66a8d79871c3763cd488cd5e785415a5dbc36de (patch)
tree5b6b2120d4dcd9e43d06c8637cc7090186bbefc6
parent359966df3721803a1e0873c98182e7280029b068 (diff)
downloadbarebox-a66a8d79871c3763cd488cd5e785415a5dbc36de.tar.gz
barebox-a66a8d79871c3763cd488cd5e785415a5dbc36de.tar.xz
state: remove unused arguments from state_new_from_node()
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@pengutronix.de>
-rw-r--r--common/efi/efi.c2
-rw-r--r--common/state/state.c44
-rw-r--r--drivers/misc/state.c2
-rw-r--r--include/state.h3
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 cb979328c1..c5a3fee407 100644
--- a/common/state/state.c
+++ b/common/state/state.c
@@ -567,17 +567,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;
@@ -585,6 +578,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) {
@@ -596,26 +590,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) {
@@ -635,8 +623,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);