Re: [PATCH v5 3/3] OPP: Add helper function for bandwidth OPP tables

From: Stephen Boyd
Date: Fri Aug 16 2019 - 14:23:02 EST


Quoting Saravana Kannan (2019-08-07 15:31:11)
> diff --git a/drivers/opp/core.c b/drivers/opp/core.c
> index 3b7ffd0234e9..22dcf22f908f 100644
> --- a/drivers/opp/core.c
> +++ b/drivers/opp/core.c
> @@ -127,6 +127,29 @@ unsigned long dev_pm_opp_get_freq(struct dev_pm_opp *opp)
> }
> EXPORT_SYMBOL_GPL(dev_pm_opp_get_freq);
>
> +/**
> + * dev_pm_opp_get_bw() - Gets the bandwidth corresponding to an available opp
> + * @opp: opp for which frequency has to be returned for

s/frequency/bandwidth/ ?

> + * @avg_bw: Pointer where the corresponding average bandwidth is stored.
> + * Can be NULL.
> + *
> + * Return: Peak bandwidth in kBps corresponding to the opp, else
> + * return 0
> + */
> +unsigned long dev_pm_opp_get_bw(struct dev_pm_opp *opp, unsigned long *avg_bw)
> +{
> + if (IS_ERR_OR_NULL(opp) || !opp->available) {
> + pr_err("%s: Invalid parameters\n", __func__);
> + return 0;
> + }
> +
> + if (avg_bw)
> + *avg_bw = opp->avg_bw;
> +
> + return opp->rate;

It deserves a comment if it stays named 'rate'. At a glance it looks
like a bug.

> +}
> +EXPORT_SYMBOL_GPL(dev_pm_opp_get_bw);
> +
> /**
> * dev_pm_opp_get_level() - Gets the level corresponding to an available opp
> * @opp: opp for which level value has to be returned for
> @@ -299,6 +322,34 @@ unsigned long dev_pm_opp_get_suspend_opp_freq(struct device *dev)
> }
> EXPORT_SYMBOL_GPL(dev_pm_opp_get_suspend_opp_freq);
>
> +/**
> + * dev_pm_opp_get_suspend_opp_bw() - Get peak bandwidth of suspend opp in kBps
> + * @dev: device for which we do this operation
> + * @avg_bw: Pointer where the corresponding average bandwidth is stored.
> + * Can be NULL.
> + *
> + * Return: This function returns the peak bandwidth of the OPP marked as
> + * suspend_opp if one is available, else returns 0;

Why a semicolon instead a full stop?