Linux-2.6.12-rc2
[cascardo/linux.git] / include / asm-ppc64 / iSeries / iSeries_io.h
1 #ifndef _ISERIES_IO_H
2 #define _ISERIES_IO_H
3
4 #include <linux/config.h>
5
6 #ifdef CONFIG_PPC_ISERIES
7 #include <linux/types.h>
8 /************************************************************************/
9 /* File iSeries_io.h created by Allan Trautman on Thu Dec 28 2000.      */
10 /************************************************************************/
11 /* Remaps the io.h for the iSeries Io                                   */
12 /* Copyright (C) 20yy  Allan H Trautman, IBM Corporation                */
13 /*                                                                      */
14 /* This program is free software; you can redistribute it and/or modify */
15 /* it under the terms of the GNU General Public License as published by */
16 /* the Free Software Foundation; either version 2 of the License, or    */
17 /* (at your option) any later version.                                  */
18 /*                                                                      */
19 /* This program is distributed in the hope that it will be useful,      */ 
20 /* but WITHOUT ANY WARRANTY; without even the implied warranty of       */
21 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        */
22 /* GNU General Public License for more details.                         */
23 /*                                                                      */
24 /* You should have received a copy of the GNU General Public License    */ 
25 /* along with this program; if not, write to the:                       */
26 /* Free Software Foundation, Inc.,                                      */ 
27 /* 59 Temple Place, Suite 330,                                          */ 
28 /* Boston, MA  02111-1307  USA                                          */
29 /************************************************************************/
30 /* Change Activity:                                                     */
31 /*   Created December 28, 2000                                          */
32 /* End Change Activity                                                  */
33 /************************************************************************/
34 extern u8   iSeries_Read_Byte(const volatile void __iomem * IoAddress);
35 extern u16  iSeries_Read_Word(const volatile void __iomem * IoAddress);
36 extern u32  iSeries_Read_Long(const volatile void __iomem * IoAddress);
37 extern void iSeries_Write_Byte(u8  IoData, volatile void __iomem * IoAddress);
38 extern void iSeries_Write_Word(u16 IoData, volatile void __iomem * IoAddress);
39 extern void iSeries_Write_Long(u32 IoData, volatile void __iomem * IoAddress);
40
41 extern void iSeries_memset_io(volatile void __iomem *dest, char x, size_t n);
42 extern void iSeries_memcpy_toio(volatile void __iomem *dest, void *source, size_t n);
43 extern void iSeries_memcpy_fromio(void *dest, const volatile void __iomem *source, size_t n);
44
45 #endif /* CONFIG_PPC_ISERIES */
46 #endif /* _ISERIES_IO_H */