diff options
author | Ioana Radulescu <ruxandra.radulescu@nxp.com> | 2018-01-16 15:19:07 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-01-16 16:14:39 +0100 |
commit | 1d11d5566ca8e9f6d88c9b383d7e1386f7bbebc2 (patch) | |
tree | 2e55f4bee54cef69aac7b2e2d34ffe36fddb1ce5 /drivers/staging/fsl-mc | |
parent | 880f6ed5a69104b3cacf56f8bbe9f498f34c99b9 (diff) |
staging: fsl-mc: Remove unnecessary dependency
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>
Diffstat (limited to 'drivers/staging/fsl-mc')
-rw-r--r-- | drivers/staging/fsl-mc/bus/fsl-mc-allocator.c | 5 | ||||
-rw-r--r-- | drivers/staging/fsl-mc/bus/fsl-mc-bus.c | 7 | ||||
-rw-r--r-- | drivers/staging/fsl-mc/bus/fsl-mc-private.h | 4 | ||||
-rw-r--r-- | drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c | 2 |
4 files changed, 2 insertions, 16 deletions
diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c b/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c index 1000fb3fbff0..2f77597ef035 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c +++ b/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c @@ -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); -} diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c b/drivers/staging/fsl-mc/bus/fsl-mc-bus.c index e7de8c5ec621..db2c0be84924 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c +++ b/drivers/staging/fsl-mc/bus/fsl-mc-bus.c @@ -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(); diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-private.h b/drivers/staging/fsl-mc/bus/fsl-mc-private.h index 5b289fd91879..57e6b7a9dede 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-private.h +++ b/drivers/staging/fsl-mc/bus/fsl-mc-private.h @@ -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); diff --git a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c index 0ad14c880541..0bb9c752a570 100644 --- a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c +++ b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c @@ -98,3 +98,5 @@ int __init its_fsl_mc_msi_init(void) return 0; } + +early_initcall(its_fsl_mc_msi_init); |