From 08ebd4c56aa23c710fa9d6832ae1df225d35ea0c Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Mon, 16 Jun 2025 22:43:44 +0930 Subject: [PATCH] soc: aspeed: lpc-snoop: Switch to devm_clk_get_enabled() Simplify clock handling as done in other drivers. Link: https://patch.msgid.link/20250616-aspeed-lpc-snoop-fixes-v2-7-3cdd59c934d3@codeconstruct.com.au Acked-by: Jean Delvare Signed-off-by: Andrew Jeffery --- drivers/soc/aspeed/aspeed-lpc-snoop.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/drivers/soc/aspeed/aspeed-lpc-snoop.c b/drivers/soc/aspeed/aspeed-lpc-snoop.c index 9e5820374328f..d07c3b2d29406 100644 --- a/drivers/soc/aspeed/aspeed-lpc-snoop.c +++ b/drivers/soc/aspeed/aspeed-lpc-snoop.c @@ -328,26 +328,21 @@ static int aspeed_lpc_snoop_probe(struct platform_device *pdev) return -ENODEV; } - lpc_snoop->clk = devm_clk_get(dev, NULL); + lpc_snoop->clk = devm_clk_get_enabled(dev, NULL); if (IS_ERR(lpc_snoop->clk)) { rc = PTR_ERR(lpc_snoop->clk); if (rc != -EPROBE_DEFER) dev_err(dev, "couldn't get clock\n"); return rc; } - rc = clk_prepare_enable(lpc_snoop->clk); - if (rc) { - dev_err(dev, "couldn't enable clock\n"); - return rc; - } rc = aspeed_lpc_snoop_config_irq(lpc_snoop, pdev); if (rc) - goto err; + return rc; rc = aspeed_lpc_enable_snoop(lpc_snoop, dev, ASPEED_LPC_SNOOP_INDEX_0, port); if (rc) - goto err; + return rc; /* Configuration of 2nd snoop channel port is optional */ if (of_property_read_u32_index(dev->of_node, "snoop-ports", @@ -355,16 +350,11 @@ static int aspeed_lpc_snoop_probe(struct platform_device *pdev) rc = aspeed_lpc_enable_snoop(lpc_snoop, dev, ASPEED_LPC_SNOOP_INDEX_1, port); if (rc) { aspeed_lpc_disable_snoop(lpc_snoop, ASPEED_LPC_SNOOP_INDEX_0); - goto err; + return rc; } } return 0; - -err: - clk_disable_unprepare(lpc_snoop->clk); - - return rc; } static void aspeed_lpc_snoop_remove(struct platform_device *pdev) @@ -374,8 +364,6 @@ static void aspeed_lpc_snoop_remove(struct platform_device *pdev) /* Disable both snoop channels */ aspeed_lpc_disable_snoop(lpc_snoop, ASPEED_LPC_SNOOP_INDEX_0); aspeed_lpc_disable_snoop(lpc_snoop, ASPEED_LPC_SNOOP_INDEX_1); - - clk_disable_unprepare(lpc_snoop->clk); } static const struct aspeed_lpc_snoop_model_data ast2400_model_data = { -- 2.47.2