Hi Dmitry,
On 6/9/20 16:13, Dmitry Osipenko wrote:
From: Artur Świgoń a.swigon@samsung.com
This patch relaxes the condition in of_icc_get_from_provider() so that it is no longer required to set #interconnect-cells = <1> in the DT. In case of the devfreq driver for exynos-bus, #interconnect-cells is always zero.
Signed-off-by: Artur Świgoń a.swigon@samsung.com [digetx@gmail.com: added cells_num checking for of_icc_xlate_onecell()] Signed-off-by: Dmitry Osipenko digetx@gmail.com
I have already applied the original patch by Artur, so please make the cells_num check a separate patch.
Thanks, Georgi
drivers/interconnect/core.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c index e5f998744501..cb143421ca67 100644 --- a/drivers/interconnect/core.c +++ b/drivers/interconnect/core.c @@ -339,7 +339,7 @@ static struct icc_node *of_icc_get_from_provider(struct of_phandle_args *spec) struct icc_node *node = ERR_PTR(-EPROBE_DEFER); struct icc_provider *provider;
- if (!spec || spec->args_count != 1)
if (!spec) return ERR_PTR(-EINVAL);
mutex_lock(&icc_lock);
@@ -967,6 +967,15 @@ EXPORT_SYMBOL_GPL(icc_nodes_remove); */ int icc_provider_add(struct icc_provider *provider) {
- struct device_node *np = provider->dev->of_node;
- u32 cells_num;
- int err;
- err = of_property_read_u32(np, "#interconnect-cells", &cells_num);
- if (WARN_ON(err))
return err;
- if (WARN_ON(provider->xlate == of_icc_xlate_onecell && cells_num != 1))
if (WARN_ON(!provider->set)) return -EINVAL; if (WARN_ON(!provider->xlate))return -EINVAL;