diff options
Diffstat (limited to 'arch/powerpc/platforms/iseries')
-rw-r--r-- | arch/powerpc/platforms/iseries/irq.h | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/setup.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/vio.c | 10 |
3 files changed, 10 insertions, 8 deletions
diff --git a/arch/powerpc/platforms/iseries/irq.h b/arch/powerpc/platforms/iseries/irq.h index 69f1b437fc7..a1c23607403 100644 --- a/arch/powerpc/platforms/iseries/irq.h +++ b/arch/powerpc/platforms/iseries/irq.h @@ -1,9 +1,13 @@ #ifndef _ISERIES_IRQ_H #define _ISERIES_IRQ_H +#ifdef CONFIG_PCI extern void iSeries_init_IRQ(void); extern int iSeries_allocate_IRQ(HvBusNumber, HvSubBusNumber, u32); extern void iSeries_activate_IRQs(void); +#else +#define iSeries_init_IRQ NULL +#endif extern unsigned int iSeries_get_irq(void); #endif /* _ISERIES_IRQ_H */ diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index 37ae07ee54a..0877a883411 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c @@ -617,10 +617,6 @@ static void iseries_dedicated_idle(void) } } -#ifndef CONFIG_PCI -void __init iSeries_init_IRQ(void) { } -#endif - static void __iomem *iseries_ioremap(phys_addr_t address, unsigned long size, unsigned long flags) { diff --git a/arch/powerpc/platforms/iseries/vio.c b/arch/powerpc/platforms/iseries/vio.c index d6435b03971..be06cfd9fa3 100644 --- a/arch/powerpc/platforms/iseries/vio.c +++ b/arch/powerpc/platforms/iseries/vio.c @@ -523,15 +523,16 @@ static void __init get_viotape_info(struct device_node *vio_root) static int __init iseries_vio_init(void) { struct device_node *vio_root; + int ret = -ENODEV; if (!firmware_has_feature(FW_FEATURE_ISERIES)) - return -ENODEV; + goto out; iommu_vio_init(); vio_root = of_find_node_by_path("/vdevice"); if (!vio_root) - return -ENODEV; + goto out; if (viopath_hostLp == HvLpIndexInvalid) { vio_set_hostlp(); @@ -544,10 +545,11 @@ static int __init iseries_vio_init(void) get_viocd_info(vio_root); get_viotape_info(vio_root); - return 0; + ret = 0; put_node: of_node_put(vio_root); - return -ENODEV; + out: + return ret; } arch_initcall(iseries_vio_init); |