diff --git a/arch/parisc/include/asm/processor.h b/arch/parisc/include/asm/processor.h index 44e9a03fd778..c6a526b6353c 100644 --- a/arch/parisc/include/asm/processor.h +++ b/arch/parisc/include/asm/processor.h @@ -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 lba_init(void); extern void sba_init(void); struct parisc_device; struct resource; diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c index 444357815c2d..3b8ba550f029 100644 --- a/arch/parisc/kernel/setup.c +++ b/arch/parisc/kernel/setup.c @@ -286,9 +286,6 @@ static int __init parisc_init(void) #if defined(CONFIG_IOMMU_SBA) sba_init(); #endif -#if defined(CONFIG_PCI_LBA) - lba_init(); -#endif #ifdef CONFIG_CHASSIS_LCD_LED register_led_regions(); /* register LED port info in procfs */ diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c index 9e22b117fb3a..3fc3765fddaa 100644 --- a/drivers/parisc/lba_pci.c +++ b/drivers/parisc/lba_pci.c @@ -1682,10 +1682,11 @@ static struct parisc_driver lba_driver __refdata = { ** One time initialization to let the world know the LBA was found. ** Must be called exactly once before pci_init(). */ -void __init lba_init(void) +static int __init lba_init(void) { - register_parisc_driver(&lba_driver); + return register_parisc_driver(&lba_driver); } +arch_initcall(lba_init); /* ** Initialize the IBASE/IMASK registers for LBA (Elroy).