summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2023-08-27 10:33:07 +0200
committerHelge Deller <deller@gmx.de>2023-08-27 10:54:10 +0200
commit9c2ca106c9fecea2f1564ccc276b3db1f2ab25e8 (patch)
tree538dbf97e403282d1fc9280b415cc3d7e1b34239
parentparisc: sba_iommu: Convert SBA IOMMU driver to use arch_initcall() (diff)
downloadlinux-9c2ca106c9fecea2f1564ccc276b3db1f2ab25e8.tar.xz
linux-9c2ca106c9fecea2f1564ccc276b3db1f2ab25e8.zip
parisc: iosapic: Convert I/O Sapic driver to use arch_initcall()
Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r--arch/parisc/include/asm/processor.h1
-rw-r--r--arch/parisc/kernel/setup.c5
-rw-r--r--drivers/parisc/iosapic.c8
3 files changed, 4 insertions, 10 deletions
diff --git a/arch/parisc/include/asm/processor.h b/arch/parisc/include/asm/processor.h
index eb0ecd9b5621..d77c43d32974 100644
--- a/arch/parisc/include/asm/processor.h
+++ b/arch/parisc/include/asm/processor.h
@@ -314,7 +314,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);
struct parisc_device;
struct resource;
extern void sba_distributed_lmmio(struct parisc_device *, struct resource *);
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c
index 84a1dce6c757..fc4134be1742 100644
--- a/arch/parisc/kernel/setup.c
+++ b/arch/parisc/kernel/setup.c
@@ -278,11 +278,6 @@ static int __init parisc_init(void)
apply_alternatives_all();
parisc_setup_cache_timing();
-
- /* These are in a non-obvious order, will fix when we have an iotree */
-#if defined(CONFIG_IOSAPIC)
- iosapic_init();
-#endif
return 0;
}
arch_initcall(parisc_init);
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index 27478e9f4e84..a7df764f1a72 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -348,13 +348,10 @@ iosapic_load_irt(unsigned long cell_num, struct irt_entry **irt)
}
-
-void __init iosapic_init(void)
+static int __init iosapic_init(void)
{
unsigned long cell = 0;
- DBG("iosapic_init()\n");
-
#ifdef __LP64__
if (is_pdc_pat()) {
int status;
@@ -371,7 +368,10 @@ void __init iosapic_init(void)
irt_num_entry = iosapic_load_irt(cell, &irt_cell);
if (irt_num_entry == 0)
irt_cell = NULL; /* old PDC w/o iosapic */
+
+ return 0;
}
+arch_initcall(iosapic_init);
/*