Simplify rzg2l_irqc_common_init() by using devm_pm_runtime_enable(). Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx> --- drivers/irqchip/irq-renesas-rzg2l.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c index a29c40466137..c024023a1832 100644 --- a/drivers/irqchip/irq-renesas-rzg2l.c +++ b/drivers/irqchip/irq-renesas-rzg2l.c @@ -568,11 +568,16 @@ static int rzg2l_irqc_common_init(struct device_node *node, struct device_node * return PTR_ERR(resetn); } - pm_runtime_enable(dev); + ret = devm_pm_runtime_enable(dev); + if (ret < 0) { + dev_err(dev, "devm_pm_runtime_enable failed: %d\n", ret); + return ret; + } + ret = pm_runtime_resume_and_get(dev); if (ret < 0) { dev_err(dev, "pm_runtime_resume_and_get failed: %d\n", ret); - goto pm_disable; + return ret; } raw_spin_lock_init(&rzg2l_irqc_data->lock); @@ -603,8 +608,7 @@ static int rzg2l_irqc_common_init(struct device_node *node, struct device_node * pm_put: pm_runtime_put(dev); -pm_disable: - pm_runtime_disable(dev); + return ret; } -- 2.34.1