From 93cd0b75001fdabdda968b897a2082720c3a6fba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Sommer?= Date: Mon, 30 Oct 2023 15:43:03 +0100 Subject: [PATCH 1/2] irq-imx-irqsteer.chans_enable: Fix typo in variable name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörg Sommer --- drivers/irqchip/irq-imx-irqsteer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-irqsteer.c index a5165579bed13..5552e9b059ef9 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -191,7 +191,7 @@ static int imx_irqsteer_chans_enable(struct irqsteer_data *data) { int ret; - ret = clk_prepare_enable(irqsteer_data->ipg_clk); + ret = clk_prepare_enable(data->ipg_clk); if (ret) { dev_err(data->dev, "failed to enable ipg clk: %d\n", ret); return ret; From 7e83eb5f6902797654f9c7ec1e9d797836956386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Sommer?= Date: Mon, 30 Oct 2023 15:45:52 +0100 Subject: [PATCH 2/2] irq-imx-irqsteer: Fix compile without PM_SLEEP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The build of the module without `CONFIG_PM_SLEEP` fails, because the symbols `imx_irqsteer_runtime_suspend` and `imx_irqsteer_runtime_resume` are not defined. This fix defines `imx_irqsteer_pm_ops` only if `PM_SLEEP` is set, and uses *NULL* in `platform_driver->driver->pm` otherwise. This is valid according to *Documentation/power/runtime_pm.rst*: “the PM core will invoke the corresponding driver callback stored in dev->driver->pm directly (if present).” The idea was taken from *drivers/acpi/fan.c*. Signed-off-by: Jörg Sommer --- drivers/irqchip/irq-imx-irqsteer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-irqsteer.c index 5552e9b059ef9..a353734fbfa21 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -378,7 +378,6 @@ static int imx_irqsteer_runtime_resume(struct device *dev) return 0; } -#endif static const struct dev_pm_ops imx_irqsteer_pm_ops = { SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, @@ -387,6 +386,11 @@ static const struct dev_pm_ops imx_irqsteer_pm_ops = { imx_irqsteer_runtime_resume, NULL) }; +#define IRQSTEER_PM_OPS_PTR (&imx_irqsteer_pm_ops) +#else +#define IRQSTEER_PM_OPS_PTR NULL +#endif + static const struct of_device_id imx_irqsteer_dt_ids[] = { { .compatible = "fsl,imx-irqsteer", }, {}, @@ -397,7 +401,7 @@ static struct platform_driver imx_irqsteer_driver = { .driver = { .name = "imx-irqsteer", .of_match_table = imx_irqsteer_dt_ids, - .pm = &imx_irqsteer_pm_ops, + .pm = IRQSTEER_PM_OPS_PTR, }, .probe = imx_irqsteer_probe, .remove = imx_irqsteer_remove,