All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Jiri Slaby <jirislaby@kernel.org>,
	linux-pm@vger.kernel.org,
	Vincent Guittot <vincent.guittot@linaro.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Stephen Boyd <sboyd@kernel.org>, Nishanth Menon <nm@ti.com>,
	linux-arm-msm@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH V2 24/30] serial: qcom: Migrate to dev_pm_opp_set_config()
Date: Fri, 1 Jul 2022 12:18:17 +0200	[thread overview]
Message-ID: <Yr7J6f6+EQfXFjYN@kroah.com> (raw)
In-Reply-To: <20220701100100.bxv4t4t7iqphalpv@vireshk-i7>

On Fri, Jul 01, 2022 at 03:31:00PM +0530, Viresh Kumar wrote:
> On 01-07-22, 11:39, Greg Kroah-Hartman wrote:
> > It's now more complex for simple drivers like this, right?
> 
> They need to add a structure, yes.
> 
> > Why not
> > provide translations of the devm_pm_opp_set_clkname() to use internally
> > devm_pm_opp_set_config() if you want to do complex things,
> 
> That can be done, yes.
> 
> > allowing you
> > to continue to do simple things without the overhead of a driver having
> > to create a structure on the stack
> 
> I didn't think of it as complexity, and I still feel it is okay-ish.
> 
> > and remember how the "const char *[]"
> > syntax looks like (seriously, that's crazy).
> 
> The syntax can be fixed, if we want, by avoiding the cast with
> something like this:
> 
> diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
> index a018b45c5a9a..1a5480214a43 100644
> --- a/drivers/mmc/host/sdhci-msm.c
> +++ b/drivers/mmc/host/sdhci-msm.c
> @@ -2559,8 +2559,9 @@ static int sdhci_msm_probe(struct platform_device *pdev)
>         const struct sdhci_msm_offset *msm_offset;
>         const struct sdhci_msm_variant_info *var_info;
>         struct device_node *node = pdev->dev.of_node;
> +       const char *clks[] = { "core" };
>         struct dev_pm_opp_config opp_config = {
> -               .clk_names = (const char *[]){ "core" },
> +               .clk_names = clks,
>                 .clk_count = 1,
>         };

Still crazy, but a bit better.

Why do you need the clk_count?  A null terminated list is better, as the
compiler can do it for you and you do not have to keep things in sync
like you are expecting people to be forced to do now.

> > Make it simple for simple things, and provide the ability to do complex
> > things only if that is required.
> 
> I still feel it isn't too bad for simple cases right now too, it is
> just a structure to fill out but I don't have hard feelings for
> keeping the old API around. I just feel it isn't too helpful to keep
> the old interfaces around, it will just confuse people at the best.

The above is much more complex than a simple function call to make.
Remember to make it very simple for driver authors, and more
importantly, reviewers.

> Anyway, I will keep them around.

Thanks, and drop the count field please.

thanks,

greg k-h

  reply	other threads:[~2022-07-01 10:18 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-01  8:19 [PATCH V2 00/30] OPP: Add new configuration interface: dev_pm_opp_set_config() Viresh Kumar
2022-07-01  8:19 ` Viresh Kumar
2022-07-01  8:19 ` [PATCH V2 01/30] OPP: Track if clock name is configured by platform Viresh Kumar
2022-07-01  8:19 ` [PATCH V2 02/30] OPP: Add dev_pm_opp_set_config() and friends Viresh Kumar
2022-07-01  8:19 ` [PATCH V2 03/30] cpufreq: dt: Migrate to dev_pm_opp_set_config() Viresh Kumar
2022-07-01  8:19 ` [PATCH V2 04/30] cpufreq: imx: " Viresh Kumar
2022-07-01  8:19   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 05/30] cpufreq: qcom-nvmem: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 06/30] cpufreq: sti: " Viresh Kumar
2022-07-01  8:20   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 07/30] cpufreq: sun50i: " Viresh Kumar
2022-07-01  8:20   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 08/30] cpufreq: tegra20: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 09/30] cpufreq: ti: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 10/30] devfreq: exynos: " Viresh Kumar
2022-07-01  8:20   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 11/30] devfreq: sun8i: " Viresh Kumar
2022-07-01  8:20   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 12/30] devfreq: tegra30: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 13/30] drm/lima: " Viresh Kumar
2022-07-01  8:20   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 14/30] drm/msm: " Viresh Kumar
2022-07-01  8:20   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 15/30] drm/panfrost: " Viresh Kumar
2022-07-01  8:20   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 16/30] drm/tegra: " Viresh Kumar
2022-07-01  8:20   ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 17/30] media: venus: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 18/30] memory: tegra: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 19/30] mmc: sdhci-msm: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 20/30] OPP: ti: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 21/30] soc/tegra: Add comment over devm_pm_opp_set_clkname() Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 22/30] soc/tegra: Migrate to dev_pm_opp_set_config() Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 23/30] spi: qcom: " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 24/30] serial: " Viresh Kumar
2022-07-01  8:44   ` Greg Kroah-Hartman
2022-07-01  9:24     ` Viresh Kumar
2022-07-01  9:39       ` Greg Kroah-Hartman
2022-07-01 10:01         ` Viresh Kumar
2022-07-01 10:18           ` Greg Kroah-Hartman [this message]
2022-07-01 10:29             ` Viresh Kumar
2022-07-01 10:41               ` Greg Kroah-Hartman
2022-07-01 10:45                 ` Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 25/30] OPP: Remove dev_pm_opp_set_regulators() and friends Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 26/30] OPP: Remove dev_pm_opp_set_supported_hw() " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 27/30] OPP: Remove dev_pm_opp_set_clkname() " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 28/30] OPP: Remove dev_pm_opp_register_set_opp_helper() " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 29/30] OPP: Remove dev_pm_opp_attach_genpd() " Viresh Kumar
2022-07-01  8:20 ` [PATCH V2 30/30] OPP: Remove dev_pm_opp_set_prop_name() " Viresh Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yr7J6f6+EQfXFjYN@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=rafael@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.