parisc: sba_iommu: Convert SBA IOMMU driver to use arch_initcall()
authorHelge Deller <deller@gmx.de>
Sun, 27 Aug 2023 07:38:32 +0000 (09:38 +0200)
committerHelge Deller <deller@gmx.de>
Sun, 27 Aug 2023 07:38:32 +0000 (09:38 +0200)
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/include/asm/processor.h
arch/parisc/kernel/setup.c
drivers/parisc/sba_iommu.c

index c6a526b..eb0ecd9 100644 (file)
@@ -315,7 +315,6 @@ extern int show_cpuinfo (struct seq_file *m, void *v);
 /* driver code in driver/parisc */
 extern void processor_init(void);
 extern void iosapic_init(void);
-extern void sba_init(void);
 struct parisc_device;
 struct resource;
 extern void sba_distributed_lmmio(struct parisc_device *, struct resource *);
index ef642a2..84a1dce 100644 (file)
@@ -283,9 +283,6 @@ static int __init parisc_init(void)
 #if defined(CONFIG_IOSAPIC)
        iosapic_init();
 #endif
-#if defined(CONFIG_IOMMU_SBA)
-       sba_init();
-#endif
        return 0;
 }
 arch_initcall(parisc_init);
index 8b1dcd5..33da29d 100644 (file)
@@ -1994,10 +1994,11 @@ static int __init sba_driver_callback(struct parisc_device *dev)
 ** This is the only routine which is NOT static.
 ** Must be called exactly once before pci_init().
 */
-void __init sba_init(void)
+static int __init sba_init(void)
 {
-       register_parisc_driver(&sba_driver);
+       return register_parisc_driver(&sba_driver);
 }
+arch_initcall(sba_init);
 
 
 /**