1/* 2 * include/asm-sh/hd64465/io.h 3 * 4 * By Greg Banks <gbanks@pocketpenguins.com> 5 * (c) 2000 PocketPenguins Inc. 6 * 7 * Derived from io_hd64461.h, which bore the message: 8 * Copyright 2000 Stuart Menefy (stuart.menefy@st.com) 9 * 10 * May be copied or modified under the terms of the GNU General Public 11 * License. See linux/COPYING for more information. 12 * 13 * IO functions for an HD64465 "Windows CE Intelligent Peripheral Controller". 14 */ 15 16#ifndef _ASM_SH_IO_HD64465_H 17#define _ASM_SH_IO_HD64465_H 18 19extern unsigned char hd64465_inb(unsigned long port); 20extern unsigned short hd64465_inw(unsigned long port); 21extern unsigned int hd64465_inl(unsigned long port); 22 23extern void hd64465_outb(unsigned char value, unsigned long port); 24extern void hd64465_outw(unsigned short value, unsigned long port); 25extern void hd64465_outl(unsigned int value, unsigned long port); 26 27extern unsigned char hd64465_inb_p(unsigned long port); 28extern void hd64465_outb_p(unsigned char value, unsigned long port); 29 30extern unsigned long hd64465_isa_port2addr(unsigned long offset); 31extern int hd64465_irq_demux(int irq); 32/* Provision for generic secondary demux step -- used by PCMCIA code */ 33extern void hd64465_register_irq_demux(int irq, 34 int (*demux)(int irq, void *dev), void *dev); 35extern void hd64465_unregister_irq_demux(int irq); 36/* Set this variable to 1 to see port traffic */ 37extern int hd64465_io_debug; 38/* Map a range of ports to a range of kernel virtual memory. 39 */ 40extern void hd64465_port_map(unsigned short baseport, unsigned int nports, 41 unsigned long addr, unsigned char shift); 42extern void hd64465_port_unmap(unsigned short baseport, unsigned int nports); 43 44#endif /* _ASM_SH_IO_HD64465_H */ 45