lkml.org 
[lkml]   [2022]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 7/8] clk: mediatek: clk-apmixed: Add helper function to unregister ref2usb_tx
    Date
    The ref2usb_tx clock was introduced a long time ago and, at that time,
    the MediaTek clock drivers were using CLK_OF_DECLARE, so they would
    never unregister.

    Nowadays, unregistering clock drivers is a thing, as we're registering
    them as platform_driver and allowing them to be kernel modules: add a
    helper function to cleanup the ref2usb_tx clock during error handling
    and upon module removal.

    Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    ---
    drivers/clk/mediatek/clk-apmixed.c | 9 +++++++++
    drivers/clk/mediatek/clk-mtk.h | 1 +
    2 files changed, 10 insertions(+)

    diff --git a/drivers/clk/mediatek/clk-apmixed.c b/drivers/clk/mediatek/clk-apmixed.c
    index f126da693a7f..60e34f124250 100644
    --- a/drivers/clk/mediatek/clk-apmixed.c
    +++ b/drivers/clk/mediatek/clk-apmixed.c
    @@ -100,4 +100,13 @@ struct clk_hw *mtk_clk_register_ref2usb_tx(const char *name,
    }
    EXPORT_SYMBOL_GPL(mtk_clk_register_ref2usb_tx);

    +void mtk_clk_unregister_ref2usb_tx(struct clk_hw *hw)
    +{
    + struct mtk_ref2usb_tx *tx = to_mtk_ref2usb_tx(hw);
    +
    + clk_hw_unregister(hw);
    + kfree(tx);
    +}
    +EXPORT_SYMBOL_GPL(mtk_clk_unregister_ref2usb_tx);
    +
    MODULE_LICENSE("GPL");
    diff --git a/drivers/clk/mediatek/clk-mtk.h b/drivers/clk/mediatek/clk-mtk.h
    index 1b95c484d5aa..62d650045cba 100644
    --- a/drivers/clk/mediatek/clk-mtk.h
    +++ b/drivers/clk/mediatek/clk-mtk.h
    @@ -188,6 +188,7 @@ void mtk_free_clk_data(struct clk_hw_onecell_data *clk_data);

    struct clk_hw *mtk_clk_register_ref2usb_tx(const char *name,
    const char *parent_name, void __iomem *reg);
    +void mtk_clk_unregister_ref2usb_tx(struct clk_hw *hw);

    struct mtk_clk_desc {
    const struct mtk_gate *clks;
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-07-22 11:07    [W:3.748 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site