Commit 162b1696 authored by Zhang Zekun's avatar Zhang Zekun Committed by Bartosz Golaszewski

gpio: mb86s7x: Use helper function devm_clk_get_optional_enabled()

devm_clk_get_optional() and clk_prepare_enable() can be replaced by helper
function devm_clk_get_optional_enabled(). Let's simplify code with use of
devm_clk_get_optional_enabled() and avoid calling clk_disable_unprepare().
Signed-off-by: default avatarZhang Zekun <zhangzekun11@huawei.com>
Link: https://lore.kernel.org/r/20240904092311.9544-4-zhangzekun11@huawei.comSigned-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 8abc67ad
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
struct mb86s70_gpio_chip { struct mb86s70_gpio_chip {
struct gpio_chip gc; struct gpio_chip gc;
void __iomem *base; void __iomem *base;
struct clk *clk;
spinlock_t lock; spinlock_t lock;
}; };
...@@ -157,6 +156,7 @@ static int mb86s70_gpio_to_irq(struct gpio_chip *gc, unsigned int offset) ...@@ -157,6 +156,7 @@ static int mb86s70_gpio_to_irq(struct gpio_chip *gc, unsigned int offset)
static int mb86s70_gpio_probe(struct platform_device *pdev) static int mb86s70_gpio_probe(struct platform_device *pdev)
{ {
struct mb86s70_gpio_chip *gchip; struct mb86s70_gpio_chip *gchip;
struct clk *clk;
int ret; int ret;
gchip = devm_kzalloc(&pdev->dev, sizeof(*gchip), GFP_KERNEL); gchip = devm_kzalloc(&pdev->dev, sizeof(*gchip), GFP_KERNEL);
...@@ -169,13 +169,9 @@ static int mb86s70_gpio_probe(struct platform_device *pdev) ...@@ -169,13 +169,9 @@ static int mb86s70_gpio_probe(struct platform_device *pdev)
if (IS_ERR(gchip->base)) if (IS_ERR(gchip->base))
return PTR_ERR(gchip->base); return PTR_ERR(gchip->base);
gchip->clk = devm_clk_get_optional(&pdev->dev, NULL); clk = devm_clk_get_optional_enabled(&pdev->dev, NULL);
if (IS_ERR(gchip->clk)) if (IS_ERR(clk))
return PTR_ERR(gchip->clk); return PTR_ERR(clk);
ret = clk_prepare_enable(gchip->clk);
if (ret)
return ret;
spin_lock_init(&gchip->lock); spin_lock_init(&gchip->lock);
...@@ -193,11 +189,9 @@ static int mb86s70_gpio_probe(struct platform_device *pdev) ...@@ -193,11 +189,9 @@ static int mb86s70_gpio_probe(struct platform_device *pdev)
gchip->gc.base = -1; gchip->gc.base = -1;
ret = gpiochip_add_data(&gchip->gc, gchip); ret = gpiochip_add_data(&gchip->gc, gchip);
if (ret) { if (ret)
dev_err(&pdev->dev, "couldn't register gpio driver\n"); return dev_err_probe(&pdev->dev, ret,
clk_disable_unprepare(gchip->clk); "couldn't register gpio driver\n");
return ret;
}
acpi_gpiochip_request_interrupts(&gchip->gc); acpi_gpiochip_request_interrupts(&gchip->gc);
...@@ -210,7 +204,6 @@ static void mb86s70_gpio_remove(struct platform_device *pdev) ...@@ -210,7 +204,6 @@ static void mb86s70_gpio_remove(struct platform_device *pdev)
acpi_gpiochip_free_interrupts(&gchip->gc); acpi_gpiochip_free_interrupts(&gchip->gc);
gpiochip_remove(&gchip->gc); gpiochip_remove(&gchip->gc);
clk_disable_unprepare(gchip->clk);
} }
static const struct of_device_id mb86s70_gpio_dt_ids[] = { static const struct of_device_id mb86s70_gpio_dt_ids[] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment