Merge to Fedora kernel-2.6.6-1.422
[linux-2.6.git] / include / linux / ide.h
index 0aef418..8a773de 100644 (file)
@@ -305,14 +305,17 @@ static inline void ide_std_init_ports(hw_regs_t *hw,
 
 #include <asm/ide.h>
 
+/* 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
+
 /*
  * ide_init_hwif_ports() is OBSOLETE and will be removed in 2.7 series.
  * New ports shouldn't define IDE_ARCH_OBSOLETE_INIT in <asm/ide.h>.
- *
- * m68k, m68knommu (broken) and i386-pc9800 (broken)
- * still have their own versions.
  */
-#ifndef CONFIG_M68K
 #ifdef IDE_ARCH_OBSOLETE_INIT
 static inline void ide_init_hwif_ports(hw_regs_t *hw,
                                       unsigned long io_addr,
@@ -335,9 +338,15 @@ static inline void ide_init_hwif_ports(hw_regs_t *hw,
 #endif
 }
 #else
-# define ide_init_hwif_ports(hw, io, ctl, irq) do {} while (0)
+static inline void ide_init_hwif_ports(hw_regs_t *hw,
+                                      unsigned long io_addr,
+                                      unsigned long ctl_addr,
+                                      int *irq)
+{
+       if (io_addr || ctl_addr)
+               printk(KERN_WARNING "%s: must not be called\n", __FUNCTION__);
+}
 #endif /* IDE_ARCH_OBSOLETE_INIT */
-#endif /* !M68K */
 
 /* Currently only m68k, apus and m8xx need it */
 #ifndef IDE_ARCH_ACK_INTR
@@ -1552,9 +1561,15 @@ typedef struct ide_pci_enablebit_s {
        u8      val;    /* value of masked reg when "enabled" */
 } ide_pci_enablebit_t;
 
+enum {
+       /* Uses ISA control ports not PCI ones. */
+       IDEPCI_FLAG_ISA_PORTS           = (1 << 0),
+
+       IDEPCI_FLAG_FORCE_MASTER        = (1 << 1),
+       IDEPCI_FLAG_FORCE_PDC           = (1 << 2),
+};
+
 typedef struct ide_pci_device_s {
-       u16                     vendor;
-       u16                     device;
        char                    *name;
        void                    (*init_setup)(struct pci_dev *, struct ide_pci_device_s *);
        void                    (*init_setup_dma)(struct pci_dev *, struct ide_pci_device_s *, ide_hwif_t *);
@@ -1568,7 +1583,7 @@ typedef struct ide_pci_device_s {
        u8                      bootable;
        unsigned int            extra;
        struct ide_pci_device_s *next;
-       u8                      isa_ports;      /* Uses ISA control ports not PCI ones */
+       u8                      flags;
 } ide_pci_device_t;
 
 extern void ide_setup_pci_device(struct pci_dev *, ide_pci_device_t *);