mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
clk: mediatek: clk-mtk: Add dummy clock ops
[ Upstream commit b8eb1081d2 ]
In order to migrate some (few) old clock drivers to the common
mtk_clk_simple_probe() function, add dummy clock ops to be able
to insert a dummy clock with ID 0 at the beginning of the list.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-8-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Stable-dep-of: 7c8746126a4e ("clk: mediatek: mt2701-vdec: fix conversion to mtk_clk_simple_probe")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5c5b0e363b
commit
58af6b786a
@@ -21,6 +21,22 @@
|
||||
#include "clk-gate.h"
|
||||
#include "clk-mux.h"
|
||||
|
||||
const struct mtk_gate_regs cg_regs_dummy = { 0, 0, 0 };
|
||||
EXPORT_SYMBOL_GPL(cg_regs_dummy);
|
||||
|
||||
static int mtk_clk_dummy_enable(struct clk_hw *hw)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void mtk_clk_dummy_disable(struct clk_hw *hw) { }
|
||||
|
||||
const struct clk_ops mtk_clk_dummy_ops = {
|
||||
.enable = mtk_clk_dummy_enable,
|
||||
.disable = mtk_clk_dummy_disable,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(mtk_clk_dummy_ops);
|
||||
|
||||
static void mtk_init_clk_data(struct clk_hw_onecell_data *clk_data,
|
||||
unsigned int clk_num)
|
||||
{
|
||||
|
||||
@@ -22,6 +22,25 @@
|
||||
|
||||
struct platform_device;
|
||||
|
||||
/*
|
||||
* We need the clock IDs to start from zero but to maintain devicetree
|
||||
* backwards compatibility we can't change bindings to start from zero.
|
||||
* Only a few platforms are affected, so we solve issues given by the
|
||||
* commonized MTK clocks probe function(s) by adding a dummy clock at
|
||||
* the beginning where needed.
|
||||
*/
|
||||
#define CLK_DUMMY 0
|
||||
|
||||
extern const struct clk_ops mtk_clk_dummy_ops;
|
||||
extern const struct mtk_gate_regs cg_regs_dummy;
|
||||
|
||||
#define GATE_DUMMY(_id, _name) { \
|
||||
.id = _id, \
|
||||
.name = _name, \
|
||||
.regs = &cg_regs_dummy, \
|
||||
.ops = &mtk_clk_dummy_ops, \
|
||||
}
|
||||
|
||||
struct mtk_fixed_clk {
|
||||
int id;
|
||||
const char *name;
|
||||
|
||||
Reference in New Issue
Block a user