home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-sh / machvec.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.9 KB  |  69 lines

  1. /*
  2.  * include/asm-sh/machvec.h
  3.  *
  4.  * Copyright 2000 Stuart Menefy (stuart.menefy@st.com)
  5.  *
  6.  * May be copied or modified under the terms of the GNU General Public
  7.  * License.  See linux/COPYING for more information.
  8.  */
  9.  
  10. #ifndef _ASM_SH_MACHVEC_H
  11. #define _ASM_SH_MACHVEC_H 1
  12.  
  13. #include <linux/types.h>
  14. #include <linux/time.h>
  15.  
  16. #include <asm/machtypes.h>
  17. #include <asm/machvec_init.h>
  18.  
  19. struct device;
  20.  
  21. struct sh_machine_vector {
  22.     int mv_nr_irqs;
  23.  
  24.     u8 (*mv_inb)(unsigned long);
  25.     u16 (*mv_inw)(unsigned long);
  26.     u32 (*mv_inl)(unsigned long);
  27.     void (*mv_outb)(u8, unsigned long);
  28.     void (*mv_outw)(u16, unsigned long);
  29.     void (*mv_outl)(u32, unsigned long);
  30.  
  31.     u8 (*mv_inb_p)(unsigned long);
  32.     u16 (*mv_inw_p)(unsigned long);
  33.     u32 (*mv_inl_p)(unsigned long);
  34.     void (*mv_outb_p)(u8, unsigned long);
  35.     void (*mv_outw_p)(u16, unsigned long);
  36.     void (*mv_outl_p)(u32, unsigned long);
  37.  
  38.     void (*mv_insb)(unsigned long, void *dst, unsigned long count);
  39.     void (*mv_insw)(unsigned long, void *dst, unsigned long count);
  40.     void (*mv_insl)(unsigned long, void *dst, unsigned long count);
  41.     void (*mv_outsb)(unsigned long, const void *src, unsigned long count);
  42.     void (*mv_outsw)(unsigned long, const void *src, unsigned long count);
  43.     void (*mv_outsl)(unsigned long, const void *src, unsigned long count);
  44.  
  45.     u8 (*mv_readb)(void __iomem *);
  46.     u16 (*mv_readw)(void __iomem *);
  47.     u32 (*mv_readl)(void __iomem *);
  48.     void (*mv_writeb)(u8, void __iomem *);
  49.     void (*mv_writew)(u16, void __iomem *);
  50.     void (*mv_writel)(u32, void __iomem *);
  51.  
  52.     int (*mv_irq_demux)(int irq);
  53.  
  54.     void (*mv_init_irq)(void);
  55.     void (*mv_init_pci)(void);
  56.  
  57.     void (*mv_heartbeat)(void);
  58.  
  59.     void *(*mv_consistent_alloc)(struct device *, size_t, dma_addr_t *, gfp_t);
  60.     int (*mv_consistent_free)(struct device *, size_t, void *, dma_addr_t);
  61.  
  62.     void __iomem *(*mv_ioport_map)(unsigned long port, unsigned int size);
  63.     void (*mv_ioport_unmap)(void __iomem *);
  64. };
  65.  
  66. extern struct sh_machine_vector sh_mv;
  67.  
  68. #endif /* _ASM_SH_MACHVEC_H */
  69.