Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3438e35 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "clk: qcom: clk-spmi-pmic-div: add support for clock-output-names"

parents 8e92de52 beddf9a0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -149,7 +149,8 @@ static int clk_aop_qmp_prepare(struct clk_hw *hw)
	ret = mbox_send_message(clk->mbox, &pkt);
	if (ret < 0) {
		pr_err("Failed to send clk prepare request for %s, ret %d\n",
					clk_hw_get_name(hw), ret);
				hw->core ? clk_hw_get_name(hw) : hw->init->name,
					ret);
		goto err;
	}

+16 −3
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
 */
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. */

#include <linux/bitops.h>
#include <linux/clk.h>
@@ -204,6 +203,7 @@ static int spmi_pmic_clkdiv_probe(struct platform_device *pdev)
	struct regmap *regmap;
	struct device *dev = &pdev->dev;
	struct device_node *of_node = dev->of_node;
	bool use_dt_name = false;
	const char *parent_name;
	int nclks, i, ret, cxo_hz;
	char name[20];
@@ -252,13 +252,26 @@ static int spmi_pmic_clkdiv_probe(struct platform_device *pdev)
		return -ENODEV;
	}

	if (of_find_property(of_node, "clock-output-names", NULL))
		use_dt_name = true;

	init.name = name;
	init.parent_names = &parent_name;
	init.num_parents = 1;
	init.ops = &clk_spmi_pmic_div_ops;

	for (i = 0, clkdiv = cc->clks; i < nclks; i++) {
		if (use_dt_name) {
			ret = of_property_read_string_index(of_node,
				"clock-output-names", i, &init.name);
			if (ret) {
				dev_err(dev, "could not read clock-output-names %d, ret=%d\n",
					i, ret);
				return ret;
			}
		} else {
			snprintf(name, sizeof(name), "div_clk%d", i + 1);
		}

		spin_lock_init(&clkdiv[i].lock);
		clkdiv[i].base = start + i * 0x100;