Merge master.kernel.org:/home/rmk/linux-2.6-arm
[pandora-kernel.git] / include / asm-powerpc / iseries / iseries_io.h
1 #ifndef _ASM_POWERPC_ISERIES_ISERIES_IO_H
2 #define _ASM_POWERPC_ISERIES_ISERIES_IO_H
3
4 #include <linux/config.h>
5
6 #ifdef CONFIG_PPC_ISERIES
7 #include <linux/types.h>
8 /*
9  * Created by Allan Trautman on Thu Dec 28 2000.
10  *
11  * Remaps the io.h for the iSeries Io
12  * Copyright (C) 2000  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
35 #ifdef CONFIG_PCI
36 extern u8   iSeries_Read_Byte(const volatile void __iomem * IoAddress);
37 extern u16  iSeries_Read_Word(const volatile void __iomem * IoAddress);
38 extern u32  iSeries_Read_Long(const volatile void __iomem * IoAddress);
39 extern void iSeries_Write_Byte(u8  IoData, volatile void __iomem * IoAddress);
40 extern void iSeries_Write_Word(u16 IoData, volatile void __iomem * IoAddress);
41 extern void iSeries_Write_Long(u32 IoData, volatile void __iomem * IoAddress);
42
43 extern void iSeries_memset_io(volatile void __iomem *dest, char x, size_t n);
44 extern void iSeries_memcpy_toio(volatile void __iomem *dest, void *source,
45                 size_t n);
46 extern void iSeries_memcpy_fromio(void *dest,
47                 const volatile void __iomem *source, size_t n);
48 #else
49 static inline u8 iSeries_Read_Byte(const volatile void __iomem *IoAddress)
50 {
51         return 0xff;
52 }
53
54 static inline void iSeries_Write_Byte(u8 IoData,
55                 volatile void __iomem *IoAddress)
56 {
57 }
58 #endif  /* CONFIG_PCI */
59
60 #endif /* CONFIG_PPC_ISERIES */
61 #endif /* _ASM_POWERPC_ISERIES_ISERIES_IO_H */