linux-stable/drivers/clk/mediatek
Chen-Yu Tsai 3c3ba2ab02 clk: mediatek: mtk: Implement error handling in register APIs
The remaining clk registration functions do not stop or return errors
if any clk failed to be registered, nor do they implement error
handling paths. This may result in a partially working device if any
step fails.

Make the register functions return proper error codes, and bail out if
errors occur. Proper cleanup, i.e. unregister any clks that were
successfully registered, is done in the new error path.

This also makes the |struct clk_data *| argument mandatory, as it is
used to track the list of clks registered.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220208124034.414635-27-wenst@chromium.org
Reviewed-by: Chun-Jie Chen <chun-jie.chen@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2022-02-17 12:12:24 -08:00
..
clk-apmixed.c clk: mediatek: Use %pe to print errors 2022-02-17 12:12:21 -08:00
clk-cpumux.c clk: mediatek: cpumux: Implement error handling in register API 2022-02-17 12:12:24 -08:00
clk-cpumux.h clk: mediatek: cpumux: Clean up included headers 2022-02-17 12:12:22 -08:00
clk-gate.c clk: mediatek: gate: Implement error handling in register API 2022-02-17 12:12:24 -08:00
clk-gate.h clk: mediatek: gate: Clean up included headers 2022-02-17 12:12:22 -08:00
clk-mt2701-aud.c clk: mediatek: add audsys support for MT2701 2018-03-20 00:24:42 -07:00
clk-mt2701-bdp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2701-eth.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2701-g3d.c clk: mediatek: add g3dsys support for MT2701 and MT7623 2018-05-15 15:21:36 -07:00
clk-mt2701-hif.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2701-img.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2701-mm.c clk / soc: mediatek: Bind clock and gpu driver for mt2701 2020-05-20 12:47:02 +02:00
clk-mt2701-vdec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2701.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt2712-bdp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2712-img.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2712-jpgdec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2712-mfg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2712-mm.c clk / soc: mediatek: Bind clock and gpu driver for mt2712 2020-05-20 12:47:02 +02:00
clk-mt2712-vdec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2712-venc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt2712.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt6765-audio.c clk: mediatek: Add MT6765 clock support 2020-05-28 21:23:18 -07:00
clk-mt6765-cam.c clk: mediatek: Add MT6765 clock support 2020-05-28 21:23:18 -07:00
clk-mt6765-img.c clk: mediatek: Add MT6765 clock support 2020-05-28 21:23:18 -07:00
clk-mt6765-mipi0a.c clk: mediatek: Add MT6765 clock support 2020-05-28 21:23:18 -07:00
clk-mt6765-mm.c clk: mediatek: Add MT6765 clock support 2020-05-28 21:23:18 -07:00
clk-mt6765-vcodec.c clk: mediatek: Add MT6765 clock support 2020-05-28 21:23:18 -07:00
clk-mt6765.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt6779-aud.c clk: mediatek: support COMMON_CLK_MT6779 module build 2021-09-14 18:20:21 -07:00
clk-mt6779-cam.c clk: mediatek: support COMMON_CLK_MT6779 module build 2021-09-14 18:20:21 -07:00
clk-mt6779-img.c clk: mediatek: support COMMON_CLK_MT6779 module build 2021-09-14 18:20:21 -07:00
clk-mt6779-ipe.c clk: mediatek: support COMMON_CLK_MT6779 module build 2021-09-14 18:20:21 -07:00
clk-mt6779-mfg.c clk: mediatek: support COMMON_CLK_MT6779 module build 2021-09-14 18:20:21 -07:00
clk-mt6779-mm.c clk: mediatek: support COMMON_CLK_MT6779 module build 2021-09-14 18:20:21 -07:00
clk-mt6779-vdec.c clk: mediatek: support COMMON_CLK_MT6779 module build 2021-09-14 18:20:21 -07:00
clk-mt6779-venc.c clk: mediatek: support COMMON_CLK_MT6779 module build 2021-09-14 18:20:21 -07:00
clk-mt6779.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt6797-img.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt6797-mm.c clk/soc: mediatek: mt6797: Bind clock driver from platform device 2020-05-20 12:49:35 +02:00
clk-mt6797-vdec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt6797-venc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt6797.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt7622-aud.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt7622-eth.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt7622-hif.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
clk-mt7622.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt7629-eth.c clk: mediatek: add clock support for MT7629 SoC 2018-11-29 22:52:05 -08:00
clk-mt7629-hif.c clk: mediatek: add clock support for MT7629 SoC 2018-11-29 22:52:05 -08:00
clk-mt7629.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt7986-apmixed.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt7986-eth.c clk: mediatek: add mt7986 clock support 2022-01-06 18:37:55 -08:00
clk-mt7986-infracfg.c clk: mediatek: relicense mt7986 clock driver to GPL-2.0 2022-01-19 12:05:07 -08:00
clk-mt7986-topckgen.c clk: mediatek: relicense mt7986 clock driver to GPL-2.0 2022-01-19 12:05:07 -08:00
clk-mt8135.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt8167-aud.c clk: mediatek: Add MT8167 clock support 2020-10-13 15:46:01 -07:00
clk-mt8167-img.c clk: mediatek: Add MT8167 clock support 2020-10-13 15:46:01 -07:00
clk-mt8167-mfgcfg.c clk: mediatek: Add MT8167 clock support 2020-10-13 15:46:01 -07:00
clk-mt8167-mm.c clk: mediatek: Add MT8167 clock support 2020-10-13 15:46:01 -07:00
clk-mt8167-vdec.c clk: mediatek: Add MT8167 clock support 2020-10-13 15:46:01 -07:00
clk-mt8167.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt8173-mm.c clk / soc: mediatek: Move mt8173 MMSYS to platform driver 2020-04-13 13:01:16 +02:00
clk-mt8173.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt8183-audio.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183-cam.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183-img.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183-ipu0.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183-ipu1.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183-ipu_adl.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183-ipu_conn.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183-mfgcfg.c clk: mediatek: Runtime PM support for MT8183 mcucfg clock provider 2019-09-17 10:22:49 -07:00
clk-mt8183-mm.c clk/soc: mediatek: mt8183: Bind clock driver from platform device 2020-05-20 12:49:35 +02:00
clk-mt8183-vdec.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183-venc.c clk: mediatek: Add MT8183 clock support 2019-04-11 13:29:19 -07:00
clk-mt8183.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt8192-aud.c clk: mediatek: Add MT8192 audio clock support 2021-07-27 10:53:07 -07:00
clk-mt8192-cam.c clk: mediatek: Add MT8192 camsys clock support 2021-07-27 10:53:07 -07:00
clk-mt8192-img.c clk: mediatek: Add MT8192 imgsys clock support 2021-07-27 10:53:08 -07:00
clk-mt8192-imp_iic_wrap.c clk: mediatek: Add MT8192 imp i2c wrapper clock support 2021-07-27 10:53:08 -07:00
clk-mt8192-ipe.c clk: mediatek: Add MT8192 ipesys clock support 2021-07-27 10:53:08 -07:00
clk-mt8192-mdp.c clk: mediatek: Add MT8192 mdpsys clock support 2021-07-27 10:53:09 -07:00
clk-mt8192-mfg.c clk: mediatek: Add MT8192 mfgcfg clock support 2021-07-27 10:53:09 -07:00
clk-mt8192-mm.c clk: mediatek: Add MT8192 mmsys clock support 2021-07-27 10:53:09 -07:00
clk-mt8192-msdc.c clk: mediatek: Add MT8192 msdc clock support 2021-07-27 10:53:09 -07:00
clk-mt8192-scp_adsp.c clk: mediatek: Add MT8192 scp adsp clock support 2021-07-27 10:53:10 -07:00
clk-mt8192-vdec.c clk: mediatek: Add MT8192 vdecsys clock support 2021-07-27 10:53:10 -07:00
clk-mt8192-venc.c clk: mediatek: Add MT8192 vencsys clock support 2021-07-27 10:53:10 -07:00
clk-mt8192.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt8195-apmixedsys.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt8195-apusys_pll.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mt8195-cam.c clk: mediatek: Add MT8195 camsys clock support 2021-09-14 15:05:37 -07:00
clk-mt8195-ccu.c clk: mediatek: Add MT8195 ccusys clock support 2021-09-14 15:05:38 -07:00
clk-mt8195-img.c clk: mediatek: Add MT8195 imgsys clock support 2021-09-14 15:05:38 -07:00
clk-mt8195-imp_iic_wrap.c clk:mediatek: remove duplicate include in clk-mt8195-imp_iic_wrap.c 2021-11-02 15:27:21 -07:00
clk-mt8195-infra_ao.c clk: mediatek: Add MT8195 infrastructure clock support 2021-09-14 15:05:37 -07:00
clk-mt8195-ipe.c clk: mediatek: Add MT8195 ipesys clock support 2021-09-14 15:05:38 -07:00
clk-mt8195-mfg.c clk: mediatek: Add MT8195 mfgcfg clock support 2021-09-14 15:05:38 -07:00
clk-mt8195-peri_ao.c clk: mediatek: Add MT8195 peripheral clock support 2021-09-14 15:05:37 -07:00
clk-mt8195-scp_adsp.c clk: mediatek: Add MT8195 scp adsp clock support 2021-09-14 15:05:38 -07:00
clk-mt8195-topckgen.c clk: mediatek: Add MT8195 topckgen clock support 2021-09-14 15:05:37 -07:00
clk-mt8195-vdec.c clk: mediatek: Add MT8195 vdecsys clock support 2021-09-14 15:05:38 -07:00
clk-mt8195-vdo0.c clk: mediatek: Add MT8195 vdosys0 clock support 2021-09-14 15:05:38 -07:00
clk-mt8195-vdo1.c clk: mediatek: Add MT8195 vdosys1 clock support 2021-09-14 15:05:38 -07:00
clk-mt8195-venc.c clk: mediatek: Add MT8195 vencsys clock support 2021-09-14 15:05:39 -07:00
clk-mt8195-vpp0.c clk: mediatek: Add MT8195 vppsys0 clock support 2021-09-14 15:05:39 -07:00
clk-mt8195-vpp1.c clk: mediatek: Add MT8195 vppsys1 clock support 2021-09-14 15:05:39 -07:00
clk-mt8195-wpe.c clk: mediatek: Add MT8195 wpesys clock support 2021-09-14 15:05:39 -07:00
clk-mt8516-aud.c clk: mediatek: add audsys clock driver for MT8516 2019-06-06 15:56:18 -07:00
clk-mt8516.c clk: mediatek: pll: Split definitions into separate header file 2022-02-17 12:12:23 -08:00
clk-mtk.c clk: mediatek: mtk: Implement error handling in register APIs 2022-02-17 12:12:24 -08:00
clk-mtk.h clk: mediatek: mtk: Implement error handling in register APIs 2022-02-17 12:12:24 -08:00
clk-mux.c clk: mediatek: mux: Implement error handling in register API 2022-02-17 12:12:24 -08:00
clk-mux.h clk: mediatek: mux: Clean up included headers 2022-02-17 12:12:22 -08:00
clk-pll.c clk: mediatek: pll: Implement error handling in register API 2022-02-17 12:12:24 -08:00
clk-pll.h clk: mediatek: pll: Implement error handling in register API 2022-02-17 12:12:24 -08:00
Kconfig clk: mediatek: add mt7986 clock support 2022-01-06 18:37:55 -08:00
Makefile clk: mediatek: add mt7986 clock support 2022-01-06 18:37:55 -08:00
reset.c clk: mediatek: Use %pe to print errors 2022-02-17 12:12:21 -08:00