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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 359c2e2d
...@@ -1092,6 +1092,9 @@ config BLK_DEV_IDEDMA ...@@ -1092,6 +1092,9 @@ config BLK_DEV_IDEDMA
config IDE_ARCH_OBSOLETE_INIT config IDE_ARCH_OBSOLETE_INIT
def_bool ALPHA || (ARM && !ARCH_L7200) || BLACKFIN || X86 || IA64 || M32R || MIPS || PARISC || PPC || (SUPERH64 && BLK_DEV_IDEPCI) || SPARC 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 endif
config BLK_DEV_HD_ONLY config BLK_DEV_HD_ONLY
......
...@@ -1233,6 +1233,10 @@ static void drive_release_dev (struct device *dev) ...@@ -1233,6 +1233,10 @@ static void drive_release_dev (struct device *dev)
complete(&drive->gendev_rel_comp); complete(&drive->gendev_rel_comp);
} }
#ifndef ide_default_irq
#define ide_default_irq(irq) 0
#endif
static int hwif_init(ide_hwif_t *hwif) static int hwif_init(ide_hwif_t *hwif)
{ {
int old_irq; int old_irq;
......
...@@ -165,6 +165,10 @@ static void ide_port_init_devices_data(ide_hwif_t *hwif) ...@@ -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 * init_ide_data() sets reasonable default values into all fields
......
...@@ -181,6 +181,10 @@ static int ns87415_ide_dma_setup(ide_drive_t *drive) ...@@ -181,6 +181,10 @@ static int ns87415_ide_dma_setup(ide_drive_t *drive)
return 1; return 1;
} }
#ifndef ide_default_irq
#define ide_default_irq(irq) 0
#endif
static void __devinit init_hwif_ns87415 (ide_hwif_t *hwif) static void __devinit init_hwif_ns87415 (ide_hwif_t *hwif)
{ {
struct pci_dev *dev = to_pci_dev(hwif->dev); struct pci_dev *dev = to_pci_dev(hwif->dev);
......
...@@ -13,9 +13,6 @@ ...@@ -13,9 +13,6 @@
#ifdef __KERNEL__ #ifdef __KERNEL__
#define IDE_ARCH_OBSOLETE_DEFAULTS
static inline int ide_default_irq(unsigned long base) static inline int ide_default_irq(unsigned long base)
{ {
switch (base) { switch (base) {
......
...@@ -16,8 +16,6 @@ ...@@ -16,8 +16,6 @@
#include <linux/irq.h> #include <linux/irq.h>
#define IDE_ARCH_OBSOLETE_DEFAULTS
static inline int ide_default_irq(unsigned long base) static inline int ide_default_irq(unsigned long base)
{ {
switch (base) { switch (base) {
......
...@@ -23,8 +23,6 @@ ...@@ -23,8 +23,6 @@
# endif # endif
#endif #endif
#define IDE_ARCH_OBSOLETE_DEFAULTS
static __inline__ int ide_default_irq(unsigned long base) static __inline__ int ide_default_irq(unsigned long base)
{ {
switch (base) { switch (base) {
......
...@@ -27,8 +27,6 @@ ...@@ -27,8 +27,6 @@
# endif # endif
#endif #endif
#define IDE_ARCH_OBSOLETE_DEFAULTS
static __inline__ int ide_probe_legacy(void) static __inline__ int ide_probe_legacy(void)
{ {
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
......
...@@ -31,8 +31,6 @@ ...@@ -31,8 +31,6 @@
#include <linux/hdreg.h> #include <linux/hdreg.h>
#include <linux/ioport.h> #include <linux/ioport.h>
#define IDE_ARCH_OBSOLETE_DEFAULTS
/* FIXME: use ide_platform host driver */ /* FIXME: use ide_platform host driver */
static __inline__ int ide_default_irq(unsigned long base) static __inline__ int ide_default_irq(unsigned long base)
{ {
......
...@@ -20,8 +20,6 @@ ...@@ -20,8 +20,6 @@
# endif # endif
#endif #endif
#define IDE_ARCH_OBSOLETE_DEFAULTS
static __inline__ int ide_default_irq(unsigned long base) static __inline__ int ide_default_irq(unsigned long base)
{ {
switch (base) { switch (base) {
......
...@@ -194,13 +194,6 @@ static inline void ide_std_init_ports(hw_regs_t *hw, ...@@ -194,13 +194,6 @@ static inline void ide_std_init_ports(hw_regs_t *hw,
#define MAX_HWIFS CONFIG_IDE_MAX_HWIFS #define MAX_HWIFS CONFIG_IDE_MAX_HWIFS
#endif #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 */ /* Currently only m68k, apus and m8xx need it */
#ifndef IDE_ARCH_ACK_INTR #ifndef IDE_ARCH_ACK_INTR
# define ide_ack_intr(hwif) (1) # define ide_ack_intr(hwif) (1)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment