staging: fsl-mc: Remove unnecessary dependency
authorIoana Radulescu <ruxandra.radulescu@nxp.com>
Tue, 16 Jan 2018 13:19:07 +0000 (15:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 16 Jan 2018 15:14:39 +0000 (16:14 +0100)
The function that enables fsl-mc msi interrupts doesn't need
to be explicitly called from the fsl-mc bus driver initialization
routine.

Mark it to be independently called at system init; this is in line
with how things are handled by other GICv3 irqchip users.

Due to this change we now have an unused cleanup function, so
remove it.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Reviewed-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fsl-mc/bus/fsl-mc-allocator.c
drivers/staging/fsl-mc/bus/fsl-mc-bus.c
drivers/staging/fsl-mc/bus/fsl-mc-private.h
drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c

index 1000fb3..2f77597 100644 (file)
@@ -648,8 +648,3 @@ int __init fsl_mc_allocator_driver_init(void)
 {
        return fsl_mc_driver_register(&fsl_mc_allocator_driver);
 }
-
-void fsl_mc_allocator_driver_exit(void)
-{
-       fsl_mc_driver_unregister(&fsl_mc_allocator_driver);
-}
index e7de8c5..db2c0be 100644 (file)
@@ -933,15 +933,8 @@ static int __init fsl_mc_bus_driver_init(void)
        if (error < 0)
                goto error_cleanup_dprc_driver;
 
-       error = its_fsl_mc_msi_init();
-       if (error < 0)
-               goto error_cleanup_mc_allocator;
-
        return 0;
 
-error_cleanup_mc_allocator:
-       fsl_mc_allocator_driver_exit();
-
 error_cleanup_dprc_driver:
        dprc_driver_exit();
 
index 5b289fd..57e6b7a 100644 (file)
@@ -440,8 +440,6 @@ void dprc_driver_exit(void);
 
 int __init fsl_mc_allocator_driver_init(void);
 
-void fsl_mc_allocator_driver_exit(void);
-
 void fsl_mc_init_all_resource_pools(struct fsl_mc_device *mc_bus_dev);
 
 void fsl_mc_cleanup_all_resource_pools(struct fsl_mc_device *mc_bus_dev);
@@ -458,8 +456,6 @@ int fsl_mc_msi_domain_alloc_irqs(struct device *dev,
 
 void fsl_mc_msi_domain_free_irqs(struct device *dev);
 
-int __init its_fsl_mc_msi_init(void);
-
 int fsl_mc_find_msi_domain(struct device *mc_platform_dev,
                           struct irq_domain **mc_msi_domain);
 
index 0ad14c8..0bb9c75 100644 (file)
@@ -98,3 +98,5 @@ int __init its_fsl_mc_msi_init(void)
 
        return 0;
 }
+
+early_initcall(its_fsl_mc_msi_init);