summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-18 00:46:33 +0200
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-18 00:46:33 +0200
commit0e33555fffdc8490630d98070e76e5fe031bcac2 (patch)
tree74ef5a7427db1deef3994a0342767bf0b4ffafe1
parent359c2e2d2039029a8167fb00499296b228928024 (diff)
downloadlinux-0e33555fffdc8490630d98070e76e5fe031bcac2.tar.gz
linux-0e33555fffdc8490630d98070e76e5fe031bcac2.tar.bz2
linux-0e33555fffdc8490630d98070e76e5fe031bcac2.zip
ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2)
* Add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS to drivers/ide/Kconfig and use it instead of defining IDE_ARCH_OBSOLETE_DEFAULTS in <arch/ide.h>. v2: * Define ide_default_irq() in ide-probe.c/ns87415.c if not already defined and drop defining ide_default_irq() for CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS=n. [ Thanks to Stephen Rothwell and David Miller for noticing the problem. ] Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: David Miller <davem@davemloft.net> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r--drivers/ide/Kconfig3
-rw-r--r--drivers/ide/ide-probe.c4
-rw-r--r--drivers/ide/ide.c4
-rw-r--r--drivers/ide/pci/ns87415.c4
-rw-r--r--include/asm-alpha/ide.h3
-rw-r--r--include/asm-ia64/ide.h2
-rw-r--r--include/asm-m32r/ide.h2
-rw-r--r--include/asm-mips/mach-generic/ide.h2
-rw-r--r--include/asm-powerpc/ide.h2
-rw-r--r--include/asm-x86/ide.h2
-rw-r--r--include/linux/ide.h7
11 files changed, 15 insertions, 20 deletions
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
index 4dc2761e9704..a57893c03b7a 100644
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -1092,6 +1092,9 @@ config BLK_DEV_IDEDMA
config IDE_ARCH_OBSOLETE_INIT
def_bool ALPHA || (ARM && !ARCH_L7200) || BLACKFIN || X86 || IA64 || M32R || MIPS || PARISC || PPC || (SUPERH64 && BLK_DEV_IDEPCI) || SPARC
+config IDE_ARCH_OBSOLETE_DEFAULTS
+ def_bool ALPHA || X86 || IA64 || M32R || MIPS || PPC32
+
endif
config BLK_DEV_HD_ONLY
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 10ccf278d5be..6a196c27b0aa 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1233,6 +1233,10 @@ static void drive_release_dev (struct device *dev)
complete(&drive->gendev_rel_comp);
}
+#ifndef ide_default_irq
+#define ide_default_irq(irq) 0
+#endif
+
static int hwif_init(ide_hwif_t *hwif)
{
int old_irq;
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index c2fb5c964a51..a1a02c74d77f 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -165,6 +165,10 @@ static void ide_port_init_devices_data(ide_hwif_t *hwif)
}
}
+#ifndef CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS
+# define ide_default_io_base(index) (0)
+# define ide_init_default_irq(base) (0)
+#endif
/*
* init_ide_data() sets reasonable default values into all fields
diff --git a/drivers/ide/pci/ns87415.c b/drivers/ide/pci/ns87415.c
index bf0d3b2931f1..75513320aad9 100644
--- a/drivers/ide/pci/ns87415.c
+++ b/drivers/ide/pci/ns87415.c
@@ -181,6 +181,10 @@ static int ns87415_ide_dma_setup(ide_drive_t *drive)
return 1;
}
+#ifndef ide_default_irq
+#define ide_default_irq(irq) 0
+#endif
+
static void __devinit init_hwif_ns87415 (ide_hwif_t *hwif)
{
struct pci_dev *dev = to_pci_dev(hwif->dev);
diff --git a/include/asm-alpha/ide.h b/include/asm-alpha/ide.h
index b7bf68d0407b..a2feed30bb68 100644
--- a/include/asm-alpha/ide.h
+++ b/include/asm-alpha/ide.h
@@ -13,9 +13,6 @@
#ifdef __KERNEL__
-
-#define IDE_ARCH_OBSOLETE_DEFAULTS
-
static inline int ide_default_irq(unsigned long base)
{
switch (base) {
diff --git a/include/asm-ia64/ide.h b/include/asm-ia64/ide.h
index 1ccf23809329..09c2a05e1c8a 100644
--- a/include/asm-ia64/ide.h
+++ b/include/asm-ia64/ide.h
@@ -16,8 +16,6 @@
#include <linux/irq.h>
-#define IDE_ARCH_OBSOLETE_DEFAULTS
-
static inline int ide_default_irq(unsigned long base)
{
switch (base) {
diff --git a/include/asm-m32r/ide.h b/include/asm-m32r/ide.h
index 5d2044e529ab..feb7f0d7aca9 100644
--- a/include/asm-m32r/ide.h
+++ b/include/asm-m32r/ide.h
@@ -23,8 +23,6 @@
# endif
#endif
-#define IDE_ARCH_OBSOLETE_DEFAULTS
-
static __inline__ int ide_default_irq(unsigned long base)
{
switch (base) {
diff --git a/include/asm-mips/mach-generic/ide.h b/include/asm-mips/mach-generic/ide.h
index 4ec2b930dfbb..45e24474cf43 100644
--- a/include/asm-mips/mach-generic/ide.h
+++ b/include/asm-mips/mach-generic/ide.h
@@ -27,8 +27,6 @@
# endif
#endif
-#define IDE_ARCH_OBSOLETE_DEFAULTS
-
static __inline__ int ide_probe_legacy(void)
{
#ifdef CONFIG_PCI
diff --git a/include/asm-powerpc/ide.h b/include/asm-powerpc/ide.h
index 06549456c953..fef2ef1dbe86 100644
--- a/include/asm-powerpc/ide.h
+++ b/include/asm-powerpc/ide.h
@@ -31,8 +31,6 @@
#include <linux/hdreg.h>
#include <linux/ioport.h>
-#define IDE_ARCH_OBSOLETE_DEFAULTS
-
/* FIXME: use ide_platform host driver */
static __inline__ int ide_default_irq(unsigned long base)
{
diff --git a/include/asm-x86/ide.h b/include/asm-x86/ide.h
index c2552d8bebf7..58080a7111de 100644
--- a/include/asm-x86/ide.h
+++ b/include/asm-x86/ide.h
@@ -20,8 +20,6 @@
# endif
#endif
-#define IDE_ARCH_OBSOLETE_DEFAULTS
-
static __inline__ int ide_default_irq(unsigned long base)
{
switch (base) {
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 65445b7efc63..6c39482fd1a1 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -194,13 +194,6 @@ static inline void ide_std_init_ports(hw_regs_t *hw,
#define MAX_HWIFS CONFIG_IDE_MAX_HWIFS
#endif
-/* needed on alpha, x86/x86_64, ia64, mips, ppc32 and sh */
-#ifndef IDE_ARCH_OBSOLETE_DEFAULTS
-# define ide_default_io_base(index) (0)
-# define ide_default_irq(base) (0)
-# define ide_init_default_irq(base) (0)
-#endif
-
/* Currently only m68k, apus and m8xx need it */
#ifndef IDE_ARCH_ACK_INTR
# define ide_ack_intr(hwif) (1)