ide-generic: remove ide_default_{io_base,irq}() inlines
PATCH 9/10 ide-generic: remove ide_default_{io_base,irq}() inlines
Replace ide_default_{io_base,irq}() inlines by legacy_{bases,irqs}[].
There should be no functional changes caused by this patch.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/ide-generic.c | 30 +++++++++++++++++++-- include/asm-alpha/ide.h | 24 ----------------- include/asm-ia64/ide.h | 29 -------------------- include/asm-m32r/ide.h | 50 ------------------------------------ include/asm-mips/mach-generic/ide.h | 28 -------------------- include/asm-x86/ide.h | 28 -------------------- 6 files changed, 27 insertions(+), 162 deletions(-)
drivers/ide/ide-generic.c +27 -3
@@ -20,6 +20,11 @@#include <linux/module.h> #include <linux/ide.h> +/* FIXME: convert m32r to use ide_platform host driver */ +#ifdef CONFIG_M32R +#include <asm/m32r.h> +#endif +#define DRV_NAME "ide_generic"static int probe_mask =0x03 ;
@@ -80,6 +85,21 @@ static int __init ide_generic_sysfs_initreturn 0 ; } +#if defined(CONFIG_PLAT_M32700UT ) || defined(CONFIG_PLAT_MAPPI2 ) \ + || defined(CONFIG_PLAT_OPSPUT ) +static const u16 legacy_bases[] = {0x1f0 }; +static const int legacy_irqs[] = {PLD_IRQ_CFIREQ }; +#elif defined(CONFIG_PLAT_MAPPI3 ) +static const u16 legacy_bases[] = {0x1f0 ,0x170 }; +static const int legacy_irqs[] = {PLD_IRQ_CFIREQ ,PLD_IRQ_IDEIREQ }; +#elif defined(CONFIG_ALPHA ) +static const u16 legacy_bases[] = {0x1f0 ,0x170 ,0x1e8 ,0x168 }; +static const int legacy_irqs[] = {14 ,15 ,11 ,10 }; +#else +static const u16 legacy_bases[] = {0x1f0 ,0x170 ,0x1e8 ,0x168 ,0x1e0 ,0x160 }; +static const int legacy_irqs[] = {14 ,15 ,11 ,10 ,8 ,12 }; +#endif +static int __init ide_generic_init (void ) {hw_regs_t hw[MAX_HWIFS ], *hws[MAX_HWIFS ];
@@ -94,8 +114,8 @@ static int __init ide_generic_init(void) printk(KERN_INFO DRV_NAME ": please use \"probe_mask=0x3f\" module " "parameter for probing all legacy ISA IDE ports\n"); -for (i =0 ; i <MAX_HWIFS ; i++) { - io_addr =ide_default_io_base (i); +for (i =0 ; i <ARRAY_SIZE (legacy_bases); i++) { + io_addr = legacy_bases[i]; hws[i] =NULL ;
@@ -117,7 +137,11 @@ static int __init ide_generic_init(void)memset (&hw[i],0 ,sizeof (hw[i]));ide_std_init_ports (&hw[i], io_addr, io_addr +0x206 ); - hw[i].irq =ide_default_irq (io_addr); +#ifdef CONFIG_IA64 + hw[i].irq =isa_irq_to_vector (legacy_irqs[i]); +#else + hw[i].irq = legacy_irqs[i]; +#endif hw[i].chipset = ide_generic; hws[i] = &hw[i];
include/asm-alpha/ide.h +0 -24
@@ -13,30 +13,6 @@#ifdef __KERNEL__ -static inline int ide_default_irq (unsigned long base) -{ -switch (base) { -case 0x1f0 :return 14 ; -case 0x170 :return 15 ; -case 0x1e8 :return 11 ; -case 0x168 :return 10 ; -default : -return 0 ; - } -} - -static inline unsigned long ide_default_io_base (int index) -{ -switch (index) { -case 0 :return 0x1f0 ; -case 1 :return 0x170 ; -case 2 :return 0x1e8 ; -case 3 :return 0x168 ; -default : -return 0 ; - } -} -#include <asm-generic/ide_iops.h> #endif /* __KERNEL__ */
include/asm-ia64/ide.h +0 -29
@@ -13,37 +13,8 @@#ifdef __KERNEL__ -#include <linux/irq.h> -static inline int ide_default_irq (unsigned long base) -{ -switch (base) { -case 0x1f0 :return isa_irq_to_vector (14 ); -case 0x170 :return isa_irq_to_vector (15 ); -case 0x1e8 :return isa_irq_to_vector (11 ); -case 0x168 :return isa_irq_to_vector (10 ); -case 0x1e0 :return isa_irq_to_vector (8 ); -case 0x160 :return isa_irq_to_vector (12 ); -default : -return 0 ; - } -} - -static inline unsigned long ide_default_io_base (int index) -{ -switch (index) { -case 0 :return 0x1f0 ; -case 1 :return 0x170 ; -case 2 :return 0x1e8 ; -case 3 :return 0x168 ; -case 4 :return 0x1e0 ; -case 5 :return 0x160 ; -default : -return 0 ; - } -} -#include <asm-generic/ide_iops.h> #endif /* __KERNEL__ */
include/asm-m32r/ide.h +0 -50
56 lines not on this page · raw message
include/asm-mips/mach-generic/ide.h +0 -28
@@ -48,34 +48,6 @@ found:#endif } -static __inline__int ide_default_irq (unsigned long base) -{ -switch (base) { -case 0x1f0 :return 14 ; -case 0x170 :return 15 ; -case 0x1e8 :return 11 ; -case 0x168 :return 10 ; -case 0x1e0 :return 8 ; -case 0x160 :return 12 ; -default : -return 0 ; - } -} - -static __inline__unsigned long ide_default_io_base (int index) -{ -switch (index) { -case 0 :return 0x1f0 ; -case 1 :return 0x170 ; -case 2 :return 0x1e8 ; -case 3 :return 0x168 ; -case 4 :return 0x1e0 ; -case 5 :return 0x160 ; -default : -return 0 ; - } -} -/* MIPS port and memory-mapped I/O string operations. */ static inline void __ide_flush_prologue (void ) {
include/asm-x86/ide.h +0 -28
@@ -11,34 +11,6 @@#ifdef __KERNEL__ -static __inline__int ide_default_irq (unsigned long base) -{ -switch (base) { -case 0x1f0 :return 14 ; -case 0x170 :return 15 ; -case 0x1e8 :return 11 ; -case 0x168 :return 10 ; -case 0x1e0 :return 8 ; -case 0x160 :return 12 ; -default : -return 0 ; - } -} - -static __inline__unsigned long ide_default_io_base (int index) -{ -switch (index) { -case 0 :return 0x1f0 ; -case 1 :return 0x170 ; -case 2 :return 0x1e8 ; -case 3 :return 0x168 ; -case 4 :return 0x1e0 ; -case 5 :return 0x160 ; -default : -return 0 ; - } -} -#include <asm-generic/ide_iops.h> #endif /* __KERNEL__ */