Re: [PATCH 1/5] clk: qcom: Add SDM660 Multimedia Clock Controller (MMCC) driver

From: Bjorn Andersson
Date: Sat Dec 05 2020 - 00:01:51 EST


On Sat 26 Sep 08:03 CDT 2020, kholk11@xxxxxxxxx wrote:
> diff --git a/drivers/clk/qcom/mmcc-sdm660.c b/drivers/clk/qcom/mmcc-sdm660.c
[..]
> +static int mmcc_660_probe(struct platform_device *pdev)
> +{
> + struct regmap *regmap;
> + bool is_sdm630 = 0;

This shouldn't be 0, but there's no need for initializing it either, as
the first reference is an assignment. On the other hand, you could
without loss of clarity just move the of_device_is_compatible() into the
if statement directly.

> +
> + regmap = qcom_cc_map(pdev, &mmcc_660_desc);
> + if (IS_ERR(regmap))
> + return PTR_ERR(regmap);
> +
> + is_sdm630 = of_device_is_compatible(pdev->dev.of_node,
> + "qcom,mmcc-sdm630");
> +
> + clk_alpha_pll_configure(&mmpll3, regmap, &mmpll3_config);
> + clk_alpha_pll_configure(&mmpll4, regmap, &mmpll4_config);
> + clk_alpha_pll_configure(&mmpll5, regmap, &mmpll5_config);
> + clk_alpha_pll_configure(&mmpll7, regmap, &mmpll7_config);
> + clk_alpha_pll_configure(&mmpll8, regmap, &mmpll8_config);
> + clk_alpha_pll_configure(&mmpll10, regmap, &mmpll10_config);
> +
> + if (is_sdm630) {
> + mmcc_660_desc.clks[BYTE1_CLK_SRC] = 0;
> + mmcc_660_desc.clks[MDSS_BYTE1_CLK] = 0;
> + mmcc_660_desc.clks[MDSS_BYTE1_INTF_DIV_CLK] = 0;
> + mmcc_660_desc.clks[MDSS_BYTE1_INTF_CLK] = 0;
> + mmcc_660_desc.clks[ESC1_CLK_SRC] = 0;
> + mmcc_660_desc.clks[MDSS_ESC1_CLK] = 0;
> + mmcc_660_desc.clks[PCLK1_CLK_SRC] = 0;
> + mmcc_660_desc.clks[MDSS_PCLK1_CLK] = 0;
> + }
> +
> + return qcom_cc_really_probe(pdev, &mmcc_660_desc, regmap);
> +}
> +
> +static struct platform_driver mmcc_660_driver = {
> + .probe = mmcc_660_probe,
> + .driver = {
> + .name = "mmcc-sdm660",
> + .of_match_table = mmcc_660_match_table,
> + },
> +};
> +
> +static int __init mmcc_660_init(void)
> +{
> + return platform_driver_register(&mmcc_660_driver);
> +}
> +core_initcall_sync(mmcc_660_init);
> +
> +static void __exit mmcc_660_exit(void)
> +{
> + platform_driver_unregister(&mmcc_660_driver);
> +}
> +module_exit(mmcc_660_exit);
> +

The driver is tristate (which is correct), but for that you need a
MODULE_LICENSE at least.

> diff --git a/include/dt-bindings/clock/qcom,mmcc-sdm660.h b/include/dt-bindings/clock/qcom,mmcc-sdm660.h

Please move this to the dt-binding patch, and reorder the two.

> new file mode 100644
> index 000000000000..f9dbc21cb5c7
> --- /dev/null
> +++ b/include/dt-bindings/clock/qcom,mmcc-sdm660.h
> @@ -0,0 +1,162 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

And please make this "GPL-2.0-only OR BSD-2-Clause".

Regards,
Bjorn