home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / sh / include / asm / machvec.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.7 KB  |  64 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
  12.  
  13. #include <linux/types.h>
  14. #include <linux/time.h>
  15. #include <asm/machtypes.h>
  16.  
  17. struct device;
  18.  
  19. struct sh_machine_vector {
  20.     void (*mv_setup)(char **cmdline_p);
  21.     const char *mv_name;
  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.     int (*mv_irq_demux)(int irq);
  46.  
  47.     void (*mv_init_irq)(void);
  48.     void (*mv_init_pci)(void);
  49.  
  50.     void (*mv_heartbeat)(void);
  51.  
  52.     void __iomem *(*mv_ioport_map)(unsigned long port, unsigned int size);
  53.     void (*mv_ioport_unmap)(void __iomem *);
  54. };
  55.  
  56. extern struct sh_machine_vector sh_mv;
  57.  
  58. #define get_system_type()    sh_mv.mv_name
  59.  
  60. #define __initmv \
  61.     __used __section(.machvec.init)
  62.  
  63. #endif /* _ASM_SH_MACHVEC_H */
  64.