remoteproc: ti_k3: fix -Wcast-function-type warning
The function cast causes a warning with "make W=1"
drivers/remoteproc/ti_k3_r5_remoteproc.c: In function 'k3_r5_probe':
drivers/remoteproc/ti_k3_r5_remoteproc.c:1368:12: warning: cast between incompatible function types from 'int (*)(struct platform_device *)' to 'void (*)(void *)' [-Wcast-function-type]
Rewrite the code to avoid the cast, and fix the incorrect return
type of the callback.
Fixes: 6dedbd1d54
("remoteproc: k3-r5: Add a remoteproc driver for R5F subsystem")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20201026160533.3705998-1-arnd@kernel.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
parent
2b0ced1203
commit
2316822989
|
@ -940,9 +940,9 @@ out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int k3_r5_cluster_rproc_exit(struct platform_device *pdev)
|
static void k3_r5_cluster_rproc_exit(void *data)
|
||||||
{
|
{
|
||||||
struct k3_r5_cluster *cluster = platform_get_drvdata(pdev);
|
struct k3_r5_cluster *cluster = platform_get_drvdata(data);
|
||||||
struct k3_r5_rproc *kproc;
|
struct k3_r5_rproc *kproc;
|
||||||
struct k3_r5_core *core;
|
struct k3_r5_core *core;
|
||||||
struct rproc *rproc;
|
struct rproc *rproc;
|
||||||
|
@ -967,8 +967,6 @@ static int k3_r5_cluster_rproc_exit(struct platform_device *pdev)
|
||||||
rproc_free(rproc);
|
rproc_free(rproc);
|
||||||
core->rproc = NULL;
|
core->rproc = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int k3_r5_core_of_get_internal_memories(struct platform_device *pdev,
|
static int k3_r5_core_of_get_internal_memories(struct platform_device *pdev,
|
||||||
|
@ -1255,9 +1253,9 @@ static void k3_r5_core_of_exit(struct platform_device *pdev)
|
||||||
devres_release_group(dev, k3_r5_core_of_init);
|
devres_release_group(dev, k3_r5_core_of_init);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void k3_r5_cluster_of_exit(struct platform_device *pdev)
|
static void k3_r5_cluster_of_exit(void *data)
|
||||||
{
|
{
|
||||||
struct k3_r5_cluster *cluster = platform_get_drvdata(pdev);
|
struct k3_r5_cluster *cluster = platform_get_drvdata(data);
|
||||||
struct platform_device *cpdev;
|
struct platform_device *cpdev;
|
||||||
struct k3_r5_core *core, *temp;
|
struct k3_r5_core *core, *temp;
|
||||||
|
|
||||||
|
@ -1351,9 +1349,7 @@ static int k3_r5_probe(struct platform_device *pdev)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = devm_add_action_or_reset(dev,
|
ret = devm_add_action_or_reset(dev, k3_r5_cluster_of_exit, pdev);
|
||||||
(void(*)(void *))k3_r5_cluster_of_exit,
|
|
||||||
pdev);
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -1364,9 +1360,7 @@ static int k3_r5_probe(struct platform_device *pdev)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = devm_add_action_or_reset(dev,
|
ret = devm_add_action_or_reset(dev, k3_r5_cluster_rproc_exit, pdev);
|
||||||
(void(*)(void *))k3_r5_cluster_rproc_exit,
|
|
||||||
pdev);
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue