Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  *  Copyright (C) 1994-1996  Linus Torvalds & authors
  3  */
  4 
  5 /*
  6  *  This file contains the i386 architecture specific IDE code.
  7  */
  8 
  9 #ifndef __ASMi386_IDE_H
 10 #define __ASMi386_IDE_H
 11 
 12 #ifdef __KERNEL__
 13 
 14 
 15 #ifndef MAX_HWIFS
 16 # ifdef CONFIG_BLK_DEV_IDEPCI
 17 #define MAX_HWIFS       10
 18 # else
 19 #define MAX_HWIFS       6
 20 # endif
 21 #endif
 22 
 23 #define IDE_ARCH_OBSOLETE_DEFAULTS
 24 
 25 static __inline__ int ide_default_irq(unsigned long base)
 26 {
 27         switch (base) {
 28                 case 0x1f0: return 14;
 29                 case 0x170: return 15;
 30                 case 0x1e8: return 11;
 31                 case 0x168: return 10;
 32                 case 0x1e0: return 8;
 33                 case 0x160: return 12;
 34                 default:
 35                         return 0;
 36         }
 37 }
 38 
 39 static __inline__ unsigned long ide_default_io_base(int index)
 40 {
 41         /*
 42          *      If PCI is present then it is not safe to poke around
 43          *      the other legacy IDE ports. Only 0x1f0 and 0x170 are
 44          *      defined compatibility mode ports for PCI. A user can 
 45          *      override this using ide= but we must default safe.
 46          */
 47         if (no_pci_devices()) {
 48                 switch(index) {
 49                         case 2: return 0x1e8;
 50                         case 3: return 0x168;
 51                         case 4: return 0x1e0;
 52                         case 5: return 0x160;
 53                 }
 54         }
 55         switch (index) {
 56                 case 0: return 0x1f0;
 57                 case 1: return 0x170;
 58                 default:
 59                         return 0;
 60         }
 61 }
 62 
 63 #define ide_default_io_ctl(base)        ((base) + 0x206) /* obsolete */
 64 
 65 #ifdef CONFIG_BLK_DEV_IDEPCI
 66 #define ide_init_default_irq(base)      (0)
 67 #else
 68 #define ide_init_default_irq(base)      ide_default_irq(base)
 69 #endif
 70 
 71 #include <asm-generic/ide_iops.h>
 72 
 73 #endif /* __KERNEL__ */
 74 
 75 #endif /* __ASMi386_IDE_H */
 76 
  This page was automatically generated by the LXR engine.