lkml.org 
[lkml]   [2020]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v4 27/37] interconnect: Relax requirement in of_icc_get_from_provider()
    From
    Date
    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))
    > + return -EINVAL;
    > if (WARN_ON(!provider->set))
    > return -EINVAL;
    > if (WARN_ON(!provider->xlate))
    >

    \
     
     \ /
      Last update: 2020-07-01 19:10    [W:4.500 / U:0.172 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site