Commit e96c7612 authored by Alexandre Mergnat's avatar Alexandre Mergnat Committed by Jerome Brunet
Browse files

clk: meson: remove clk input helper



The clk input function which allows clock controllers to register a bypass
clock from a clock producer is no longer needed anymore since meson clock
controllers have migrated to a new parent allocation method.

Signed-off-by: default avatarAlexandre Mergnat <amergnat@baylibre.com>
Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
parent b11cfaba
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
config COMMON_CLK_MESON_INPUT
	tristate

config COMMON_CLK_MESON_REGMAP
	tristate
	select REGMAP
+0 −1
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@
obj-$(CONFIG_COMMON_CLK_MESON_AO_CLKC) += meson-aoclk.o
obj-$(CONFIG_COMMON_CLK_MESON_DUALDIV) += clk-dualdiv.o
obj-$(CONFIG_COMMON_CLK_MESON_EE_CLKC) += meson-eeclk.o
obj-$(CONFIG_COMMON_CLK_MESON_INPUT) += clk-input.o
obj-$(CONFIG_COMMON_CLK_MESON_MPLL) += clk-mpll.o
obj-$(CONFIG_COMMON_CLK_MESON_PHASE) += clk-phase.o
obj-$(CONFIG_COMMON_CLK_MESON_PLL) += clk-pll.o

drivers/clk/meson/clk-input.c

deleted100644 → 0
+0 −49
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright (c) 2018 BayLibre, SAS.
 * Author: Jerome Brunet <jbrunet@baylibre.com>
 */

#include <linux/clk.h>
#include <linux/clk-provider.h>
#include <linux/device.h>
#include <linux/module.h>
#include "clk-input.h"

static const struct clk_ops meson_clk_no_ops = {};

struct clk_hw *meson_clk_hw_register_input(struct device *dev,
					   const char *of_name,
					   const char *clk_name,
					   unsigned long flags)
{
	struct clk *parent_clk = devm_clk_get(dev, of_name);
	struct clk_init_data init;
	const char *parent_name;
	struct clk_hw *hw;
	int ret;

	if (IS_ERR(parent_clk))
		return (struct clk_hw *)parent_clk;

	hw = devm_kzalloc(dev, sizeof(*hw), GFP_KERNEL);
	if (!hw)
		return ERR_PTR(-ENOMEM);

	parent_name = __clk_get_name(parent_clk);
	init.name = clk_name;
	init.ops = &meson_clk_no_ops;
	init.flags = flags;
	init.parent_names = &parent_name;
	init.num_parents = 1;
	hw->init = &init;

	ret = devm_clk_hw_register(dev, hw);

	return ret ? ERR_PTR(ret) : hw;
}
EXPORT_SYMBOL_GPL(meson_clk_hw_register_input);

MODULE_DESCRIPTION("Amlogic clock input helper");
MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
MODULE_LICENSE("GPL v2");

drivers/clk/meson/clk-input.h

deleted100644 → 0
+0 −19
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2019 BayLibre, SAS.
 * Author: Jerome Brunet <jbrunet@baylibre.com>
 */

#ifndef __MESON_CLK_INPUT_H
#define __MESON_CLK_INPUT_H

#include <linux/clk-provider.h>

struct device;

struct clk_hw *meson_clk_hw_register_input(struct device *dev,
					   const char *of_name,
					   const char *clk_name,
					   unsigned long flags);

#endif /* __MESON_CLK_INPUT_H */