Merge tag 'zonefs-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal...
[sfrench/cifs-2.6.git] / drivers / irqchip / irq-imx-intmux.c
index aa041e4dfee0916659358687e8e9cdf857828d0d..511adfaeec8227f018a07c1d8fb472c86323bf3c 100644 (file)
@@ -166,6 +166,10 @@ static int imx_intmux_irq_select(struct irq_domain *d, struct irq_fwspec *fwspec
        if (fwspec->fwnode != d->fwnode)
                return false;
 
+       /* Handle pure domain searches */
+       if (!fwspec->param_count)
+               return d->bus_token == bus_token;
+
        return irqchip_data->chanidx == fwspec->param[1];
 }
 
@@ -282,7 +286,7 @@ out:
        return ret;
 }
 
-static int imx_intmux_remove(struct platform_device *pdev)
+static void imx_intmux_remove(struct platform_device *pdev)
 {
        struct intmux_data *data = platform_get_drvdata(pdev);
        int i;
@@ -298,8 +302,6 @@ static int imx_intmux_remove(struct platform_device *pdev)
        }
 
        pm_runtime_disable(&pdev->dev);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
@@ -354,11 +356,11 @@ static const struct of_device_id imx_intmux_id[] = {
 
 static struct platform_driver imx_intmux_driver = {
        .driver = {
-               .name = "imx-intmux",
-               .of_match_table = imx_intmux_id,
-               .pm = &imx_intmux_pm_ops,
+               .name           = "imx-intmux",
+               .of_match_table = imx_intmux_id,
+               .pm             = &imx_intmux_pm_ops,
        },
-       .probe = imx_intmux_probe,
-       .remove = imx_intmux_remove,
+       .probe          = imx_intmux_probe,
+       .remove_new     = imx_intmux_remove,
 };
 builtin_platform_driver(imx_intmux_driver);