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

Commit 995087c9 authored by Abel Vesa's avatar Abel Vesa Committed by Shawn Guo
Browse files

clk: imx: clk-pfd: Switch to clk_hw based API



Switch the imx_clk_pfd function to clk_hw based API, rename accordingly
and add a macro for clk based legacy. This allows us to move closer to
a clear split between consumer and provider clk APIs.

Signed-off-by: default avatarAbel Vesa <abel.vesa@nxp.com>
Reviewed-by: default avatarStephen Boyd <sboyd@kernel.org>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent e5674a4d
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -127,12 +127,13 @@ static const struct clk_ops clk_pfd_ops = {
	.is_enabled     = clk_pfd_is_enabled,
};

struct clk *imx_clk_pfd(const char *name, const char *parent_name,
struct clk_hw *imx_clk_hw_pfd(const char *name, const char *parent_name,
			void __iomem *reg, u8 idx)
{
	struct clk_pfd *pfd;
	struct clk *clk;
	struct clk_hw *hw;
	struct clk_init_data init;
	int ret;

	pfd = kzalloc(sizeof(*pfd), GFP_KERNEL);
	if (!pfd)
@@ -148,10 +149,13 @@ struct clk *imx_clk_pfd(const char *name, const char *parent_name,
	init.num_parents = 1;

	pfd->hw.init = &init;
	hw = &pfd->hw;

	clk = clk_register(NULL, &pfd->hw);
	if (IS_ERR(clk))
	ret = clk_hw_register(NULL, hw);
	if (ret) {
		kfree(pfd);
		return ERR_PTR(ret);
	}

	return clk;
	return hw;
}
+4 −1
Original line number Diff line number Diff line
@@ -67,6 +67,9 @@ struct imx_pll14xx_clk {
#define imx_clk_pllv3(type, name, parent_name, base, div_mask) \
	imx_clk_hw_pllv3(type, name, parent_name, base, div_mask)->clk

#define imx_clk_pfd(name, parent_name, reg, idx) \
	imx_clk_hw_pfd(name, parent_name, reg, idx)->clk

struct clk *imx_clk_pll14xx(const char *name, const char *parent_name,
		 void __iomem *base, const struct imx_pll14xx_clk *pll_clk);

@@ -123,7 +126,7 @@ struct clk_hw *imx_obtain_fixed_clk_hw(struct device_node *np,
struct clk *imx_clk_gate_exclusive(const char *name, const char *parent,
	 void __iomem *reg, u8 shift, u32 exclusive_mask);

struct clk *imx_clk_pfd(const char *name, const char *parent_name,
struct clk_hw *imx_clk_hw_pfd(const char *name, const char *parent_name,
		void __iomem *reg, u8 idx);

struct clk_hw *imx_clk_pfdv2(const char *name, const char *parent_name,