All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@kernel.org>
To: Sivaprakash Murugesan <sivaprak@codeaurora.org>,
	agross@kernel.org, bjorn.andersson@linaro.org,
	devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
	mturquette@baylibre.com, robh+dt@kernel.org
Cc: sivaprak@codeaurora.org
Subject: Re: [PATCH 2/2] clk: qcom: Add ipq6018 apss clock controller
Date: Mon, 09 Mar 2020 13:24:35 -0700	[thread overview]
Message-ID: <158378547505.66766.155212878365765346@swboyd.mtv.corp.google.com> (raw)
In-Reply-To: <1582797318-26288-3-git-send-email-sivaprak@codeaurora.org>

Quoting Sivaprakash Murugesan (2020-02-27 01:55:18)
> diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
> index 15cdcdc..37e4ce2 100644
> --- a/drivers/clk/qcom/Kconfig
> +++ b/drivers/clk/qcom/Kconfig
> @@ -89,6 +89,14 @@ config APQ_MMCC_8084
>           Say Y if you want to support multimedia devices such as display,
>           graphics, video encode/decode, camera, etc.
>  
> +config IPQ_APSS_6018
> +       tristate "IPQ6018 APSS Clock Controller"
> +       select IPQ_GCC_6018
> +       help
> +         Support for APSS clock controller on ipq6018 devices. The
> +         APSS clock controller supports frequencies higher than 800Mhz.

supports CPU frequencies? It's not clear what APSS is to a lot of people
out there.

> +         Say Y if you want to support higher frequencies on ipq6018 devices.

support CPU frequency scaling on ipq6018?

> +
>  config IPQ_GCC_4019
>         tristate "IPQ4019 Global Clock Controller"
>         help
> diff --git a/drivers/clk/qcom/apss-ipq6018.c b/drivers/clk/qcom/apss-ipq6018.c
> new file mode 100644
> index 0000000..04b8962
> --- /dev/null
> +++ b/drivers/clk/qcom/apss-ipq6018.c
> @@ -0,0 +1,210 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2018, The Linux Foundation. All rights reserved.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/err.h>
> +#include <linux/platform_device.h>
> +#include <linux/module.h>

> +#include <linux/of.h>
> +#include <linux/of_device.h>

Are these two includes needed at all?

> +#include <linux/clk-provider.h>
> +#include <linux/regmap.h>
> +
> +#include <linux/reset-controller.h>
> +#include <dt-bindings/clock/qcom,apss-ipq6018.h>
> +
> +#include "common.h"
> +#include "clk-regmap.h"
> +#include "clk-pll.h"
> +#include "clk-rcg.h"
> +#include "clk-branch.h"
> +#include "clk-alpha-pll.h"
> +#include "clk-regmap-divider.h"
> +#include "clk-regmap-mux.h"
> +#include "reset.h"
> +
> +#define F(f, s, h, m, n) { (f), (s), (2 * (h) - 1), (m), (n) }

This can be removed. It's common in clk-rcg.h now

> +
> +static struct clk_branch apcs_alias0_core_clk = {
> +       .halt_reg = 0x004c,
> +       .clkr = {
> +               .enable_reg = 0x004c,
> +               .enable_mask = BIT(0),
> +               .hw.init = &(struct clk_init_data){
> +                       .name = "apcs_alias0_core_clk",
> +                       .parent_hws = (const struct clk_hw *[]){
> +                               &apcs_alias0_clk_src.clkr.hw },
> +                       .num_parents = 1,
> +                       .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,

Please add a comment about why CLK_IS_CRITICAL is here. Presumably in
the case that a cpufreq driver doesn't probe and claim this clk?

> +                       .ops = &clk_branch2_ops,
> +               },
> +       },
> +};
> +
> +
[...]
> +
> +static int __init apss_ipq6018_init(void)
> +{
> +       return platform_driver_register(&apss_ipq6018_driver);
> +}
> +core_initcall(apss_ipq6018_init);
> +
> +static void __exit apss_ipq6018_exit(void)
> +{
> +       platform_driver_unregister(&apss_ipq6018_driver);
> +}
> +module_exit(apss_ipq6018_exit);

Any reason this can't just be module_platform_driver()?

  parent reply	other threads:[~2020-03-09 20:24 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-27  9:55 [PATCH 0/2] Add APSS clock controller support for IPQ6018 Sivaprakash Murugesan
2020-02-27  9:55 ` [PATCH 1/2] clk: qcom: Add DT bindings for ipq6018 apss clock controller Sivaprakash Murugesan
2020-02-27 10:38   ` Sibi Sankar
2020-02-27 10:55     ` Sivaprakash Murugesan
2020-04-05  8:19     ` Sivaprakash Murugesan
2020-02-27 17:14   ` Rob Herring
2020-03-04  5:24     ` Sivaprakash Murugesan
2020-03-09 21:07       ` Rob Herring
2020-03-09 21:13   ` Rob Herring
2020-04-05  8:30     ` Sivaprakash Murugesan
2020-02-27  9:55 ` [PATCH 2/2] clk: qcom: Add " Sivaprakash Murugesan
2020-02-27 17:40   ` kbuild test robot
2020-02-27 17:40     ` kbuild test robot
2020-02-27 17:40   ` [RFC PATCH] clk: qcom: apss_pll_offsets[] can be static kbuild test robot
2020-02-27 17:40     ` kbuild test robot
2020-03-09 20:24   ` Stephen Boyd [this message]
2020-04-05  8:26     ` [PATCH 2/2] clk: qcom: Add ipq6018 apss clock controller Sivaprakash Murugesan

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=158378547505.66766.155212878365765346@swboyd.mtv.corp.google.com \
    --to=sboyd@kernel.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=robh+dt@kernel.org \
    --cc=sivaprak@codeaurora.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.