mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 23:56:16 +07:00
clk: composite: Add unregister function
The composite clock didn't have any unregistration function, which forced us to use clk_unregister directly on it. While it was already not great from an API point of view, it also meant that we were leaking the clk_composite structure allocated in clk_register_composite. Add a clk_unregister_composite function to fix this. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
parent
f55532a0c0
commit
92a39d9043
@ -286,3 +286,18 @@ struct clk *clk_register_composite(struct device *dev, const char *name,
|
||||
kfree(composite);
|
||||
return clk;
|
||||
}
|
||||
|
||||
void clk_unregister_composite(struct clk *clk)
|
||||
{
|
||||
struct clk_composite *composite;
|
||||
struct clk_hw *hw;
|
||||
|
||||
hw = __clk_get_hw(clk);
|
||||
if (!hw)
|
||||
return;
|
||||
|
||||
composite = to_clk_composite(hw);
|
||||
|
||||
clk_unregister(clk);
|
||||
kfree(composite);
|
||||
}
|
||||
|
@ -603,6 +603,7 @@ struct clk *clk_register_composite(struct device *dev, const char *name,
|
||||
struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
|
||||
struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
|
||||
unsigned long flags);
|
||||
void clk_unregister_composite(struct clk *clk);
|
||||
|
||||
/***
|
||||
* struct clk_gpio_gate - gpio gated clock
|
||||
|
Loading…
Reference in New Issue
Block a user