IRQCHIP_PLATFORM_DRIVER_* doesn't allow some fields (such as .pm)
to be set in the platform_driver structure.
Make IRQCHIP_PLATFORM_DRIVER_END variadic so that .pm or another
field can be set if needed.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
[maz: revamped commit message]
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220922161246.20586-3-Frank.Li@nxp.com
 #define IRQCHIP_MATCH(compat, fn) { .compatible = compat,              \
                                    .data = typecheck_irq_init_cb(fn), },
 
-#define IRQCHIP_PLATFORM_DRIVER_END(drv_name)                          \
+
+#define IRQCHIP_PLATFORM_DRIVER_END(drv_name, ...)                     \
        {},                                                             \
 };                                                                     \
 MODULE_DEVICE_TABLE(of, drv_name##_irqchip_match_table);               \
                .owner = THIS_MODULE,                                   \
                .of_match_table = drv_name##_irqchip_match_table,       \
                .suppress_bind_attrs = true,                            \
+               __VA_ARGS__                                             \
        },                                                              \
 };                                                                     \
 builtin_platform_driver(drv_name##_driver)