ide.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * linux/include/asm-arm/arch-shark/ide.h
  3.  *
  4.  * by Alexander Schulz
  5.  *
  6.  * derived from:
  7.  * linux/include/asm-arm/arch-ebsa285/ide.h
  8.  * Copyright (c) 1998 Russell King
  9.  */
  10. #include <asm/irq.h>
  11. /*
  12.  * Set up a hw structure for a specified data port, control port and IRQ.
  13.  * This should follow whatever the default interface uses.
  14.  */
  15. static __inline__ void
  16. ide_init_hwif_ports(hw_regs_t *hw, int data_port, int ctrl_port, int *irq)
  17. {
  18. ide_ioreg_t reg = (ide_ioreg_t) data_port;
  19. int i;
  20. memset(hw, 0, sizeof(*hw));
  21. for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
  22. hw->io_ports[i] = reg;
  23. reg += 1;
  24. }
  25. hw->io_ports[IDE_CONTROL_OFFSET] = (ide_ioreg_t) ctrl_port;
  26. if (irq)
  27. *irq = 0;
  28. }
  29. /*
  30.  * This registers the standard ports for this architecture with the IDE
  31.  * driver.
  32.  */
  33. static __inline__ void
  34. ide_init_default_hwifs(void)
  35. {
  36. hw_regs_t hw;
  37. ide_init_hwif_ports(&hw, 0x1f0, 0x3f6, NULL);
  38. hw.irq = 14;
  39. ide_register_hw(&hw, NULL);
  40. }