aboutsummaryrefslogtreecommitdiffstats
path: root/arch/cris/include/uapi
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2012-10-09 04:46:45 -0400
committerDavid Howells <dhowells@redhat.com>2012-10-09 04:46:45 -0400
commite717abac8a9f65eee6de3bb37e10c6916bced483 (patch)
tree574926087195e53958eec38886d60942e420c7b8 /arch/cris/include/uapi
parent98d848ea4c017101f7e4a85917d0e0991f388cd8 (diff)
UAPI: (Scripted) Disintegrate arch/cris/include/asm
Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Michael Kerrisk <mtk.manpages@gmail.com> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'arch/cris/include/uapi')
-rw-r--r--arch/cris/include/uapi/asm/Kbuild34
-rw-r--r--arch/cris/include/uapi/asm/auxvec.h4
-rw-r--r--arch/cris/include/uapi/asm/bitsperlong.h1
-rw-r--r--arch/cris/include/uapi/asm/byteorder.h8
-rw-r--r--arch/cris/include/uapi/asm/errno.h6
-rw-r--r--arch/cris/include/uapi/asm/ethernet.h21
-rw-r--r--arch/cris/include/uapi/asm/etraxgpio.h239
-rw-r--r--arch/cris/include/uapi/asm/fcntl.h1
-rw-r--r--arch/cris/include/uapi/asm/ioctl.h1
-rw-r--r--arch/cris/include/uapi/asm/ioctls.h11
-rw-r--r--arch/cris/include/uapi/asm/ipcbuf.h1
-rw-r--r--arch/cris/include/uapi/asm/mman.h1
-rw-r--r--arch/cris/include/uapi/asm/msgbuf.h33
-rw-r--r--arch/cris/include/uapi/asm/param.h10
-rw-r--r--arch/cris/include/uapi/asm/poll.h1
-rw-r--r--arch/cris/include/uapi/asm/posix_types.h35
-rw-r--r--arch/cris/include/uapi/asm/ptrace.h1
-rw-r--r--arch/cris/include/uapi/asm/resource.h6
-rw-r--r--arch/cris/include/uapi/asm/rs485.h18
-rw-r--r--arch/cris/include/uapi/asm/sembuf.h25
-rw-r--r--arch/cris/include/uapi/asm/setup.h6
-rw-r--r--arch/cris/include/uapi/asm/shmbuf.h42
-rw-r--r--arch/cris/include/uapi/asm/sigcontext.h24
-rw-r--r--arch/cris/include/uapi/asm/siginfo.h6
-rw-r--r--arch/cris/include/uapi/asm/signal.h122
-rw-r--r--arch/cris/include/uapi/asm/socket.h76
-rw-r--r--arch/cris/include/uapi/asm/sockios.h13
-rw-r--r--arch/cris/include/uapi/asm/stat.h81
-rw-r--r--arch/cris/include/uapi/asm/statfs.h6
-rw-r--r--arch/cris/include/uapi/asm/swab.h0
-rw-r--r--arch/cris/include/uapi/asm/sync_serial.h132
-rw-r--r--arch/cris/include/uapi/asm/termbits.h235
-rw-r--r--arch/cris/include/uapi/asm/termios.h45
-rw-r--r--arch/cris/include/uapi/asm/types.h1
-rw-r--r--arch/cris/include/uapi/asm/unistd.h344
35 files changed, 1590 insertions, 0 deletions
diff --git a/arch/cris/include/uapi/asm/Kbuild b/arch/cris/include/uapi/asm/Kbuild
index f50236ae9ca3..7d47b366ad82 100644
--- a/arch/cris/include/uapi/asm/Kbuild
+++ b/arch/cris/include/uapi/asm/Kbuild
@@ -3,3 +3,37 @@ include include/uapi/asm-generic/Kbuild.asm
3 3
4header-y += arch-v10/ 4header-y += arch-v10/
5header-y += arch-v32/ 5header-y += arch-v32/
6header-y += auxvec.h
7header-y += bitsperlong.h
8header-y += byteorder.h
9header-y += errno.h
10header-y += ethernet.h
11header-y += etraxgpio.h
12header-y += fcntl.h
13header-y += ioctl.h
14header-y += ioctls.h
15header-y += ipcbuf.h
16header-y += mman.h
17header-y += msgbuf.h
18header-y += param.h
19header-y += poll.h
20header-y += posix_types.h
21header-y += ptrace.h
22header-y += resource.h
23header-y += rs485.h
24header-y += sembuf.h
25header-y += setup.h
26header-y += shmbuf.h
27header-y += sigcontext.h
28header-y += siginfo.h
29header-y += signal.h
30header-y += socket.h
31header-y += sockios.h
32header-y += stat.h
33header-y += statfs.h
34header-y += swab.h
35header-y += sync_serial.h
36header-y += termbits.h
37header-y += termios.h
38header-y += types.h
39header-y += unistd.h
diff --git a/arch/cris/include/uapi/asm/auxvec.h b/arch/cris/include/uapi/asm/auxvec.h
new file mode 100644
index 000000000000..cb30b01bf19f
--- /dev/null
+++ b/arch/cris/include/uapi/asm/auxvec.h
@@ -0,0 +1,4 @@
1#ifndef __ASMCRIS_AUXVEC_H
2#define __ASMCRIS_AUXVEC_H
3
4#endif
diff --git a/arch/cris/include/uapi/asm/bitsperlong.h b/arch/cris/include/uapi/asm/bitsperlong.h
new file mode 100644
index 000000000000..6dc0bb0c13b2
--- /dev/null
+++ b/arch/cris/include/uapi/asm/bitsperlong.h
@@ -0,0 +1 @@
#include <asm-generic/bitsperlong.h>
diff --git a/arch/cris/include/uapi/asm/byteorder.h b/arch/cris/include/uapi/asm/byteorder.h
new file mode 100644
index 000000000000..bcd189798e26
--- /dev/null
+++ b/arch/cris/include/uapi/asm/byteorder.h
@@ -0,0 +1,8 @@
1#ifndef _CRIS_BYTEORDER_H
2#define _CRIS_BYTEORDER_H
3
4#include <linux/byteorder/little_endian.h>
5
6#endif
7
8
diff --git a/arch/cris/include/uapi/asm/errno.h b/arch/cris/include/uapi/asm/errno.h
new file mode 100644
index 000000000000..2bf5eb5fa773
--- /dev/null
+++ b/arch/cris/include/uapi/asm/errno.h
@@ -0,0 +1,6 @@
1#ifndef _CRIS_ERRNO_H
2#define _CRIS_ERRNO_H
3
4#include <asm-generic/errno.h>
5
6#endif
diff --git a/arch/cris/include/uapi/asm/ethernet.h b/arch/cris/include/uapi/asm/ethernet.h
new file mode 100644
index 000000000000..4d58652c3a49
--- /dev/null
+++ b/arch/cris/include/uapi/asm/ethernet.h
@@ -0,0 +1,21 @@
1/*
2 * ioctl defines for ethernet driver
3 *
4 * Copyright (c) 2001 Axis Communications AB
5 *
6 * Author: Mikael Starvik
7 *
8 */
9
10#ifndef _CRIS_ETHERNET_H
11#define _CRIS_ETHERNET_H
12#define SET_ETH_SPEED_AUTO SIOCDEVPRIVATE /* Auto neg speed */
13#define SET_ETH_SPEED_10 SIOCDEVPRIVATE+1 /* 10 Mbps */
14#define SET_ETH_SPEED_100 SIOCDEVPRIVATE+2 /* 100 Mbps. */
15#define SET_ETH_DUPLEX_AUTO SIOCDEVPRIVATE+3 /* Auto neg duplex */
16#define SET_ETH_DUPLEX_HALF SIOCDEVPRIVATE+4 /* Full duplex */
17#define SET_ETH_DUPLEX_FULL SIOCDEVPRIVATE+5 /* Half duplex */
18#define SET_ETH_ENABLE_LEDS SIOCDEVPRIVATE+6 /* Enable net LEDs */
19#define SET_ETH_DISABLE_LEDS SIOCDEVPRIVATE+7 /* Disable net LEDs */
20#define SET_ETH_AUTONEG SIOCDEVPRIVATE+8
21#endif /* _CRIS_ETHERNET_H */
diff --git a/arch/cris/include/uapi/asm/etraxgpio.h b/arch/cris/include/uapi/asm/etraxgpio.h
new file mode 100644
index 000000000000..461c089db765
--- /dev/null
+++ b/arch/cris/include/uapi/asm/etraxgpio.h
@@ -0,0 +1,239 @@
1/*
2 * The following devices are accessible using this driver using
3 * GPIO_MAJOR (120) and a couple of minor numbers.
4 *
5 * For ETRAX 100LX (CONFIG_ETRAX_ARCH_V10):
6 * /dev/gpioa minor 0, 8 bit GPIO, each bit can change direction
7 * /dev/gpiob minor 1, 8 bit GPIO, each bit can change direction
8 * /dev/leds minor 2, Access to leds depending on kernelconfig
9 * /dev/gpiog minor 3
10 * g0dir, g8_15dir, g16_23dir, g24 dir configurable in R_GEN_CONFIG
11 * g1-g7 and g25-g31 is both input and outputs but on different pins
12 * Also note that some bits change pins depending on what interfaces
13 * are enabled.
14 *
15 * For ETRAX FS (CONFIG_ETRAXFS):
16 * /dev/gpioa minor 0, 8 bit GPIO, each bit can change direction
17 * /dev/gpiob minor 1, 18 bit GPIO, each bit can change direction
18 * /dev/gpioc minor 3, 18 bit GPIO, each bit can change direction
19 * /dev/gpiod minor 4, 18 bit GPIO, each bit can change direction
20 * /dev/gpioe minor 5, 18 bit GPIO, each bit can change direction
21 * /dev/leds minor 2, Access to leds depending on kernelconfig
22 *
23 * For ARTPEC-3 (CONFIG_CRIS_MACH_ARTPEC3):
24 * /dev/gpioa minor 0, 32 bit GPIO, each bit can change direction
25 * /dev/gpiob minor 1, 32 bit GPIO, each bit can change direction
26 * /dev/gpioc minor 3, 16 bit GPIO, each bit can change direction
27 * /dev/gpiod minor 4, 32 bit GPIO, input only
28 * /dev/leds minor 2, Access to leds depending on kernelconfig
29 * /dev/pwm0 minor 16, PWM channel 0 on PA30
30 * /dev/pwm1 minor 17, PWM channel 1 on PA31
31 * /dev/pwm2 minor 18, PWM channel 2 on PB26
32 * /dev/ppwm minor 19, PPWM channel
33 *
34 */
35#ifndef _ASM_ETRAXGPIO_H
36#define _ASM_ETRAXGPIO_H
37
38#define GPIO_MINOR_FIRST 0
39
40#define ETRAXGPIO_IOCTYPE 43
41
42/* etraxgpio _IOC_TYPE, bits 8 to 15 in ioctl cmd */
43#ifdef CONFIG_ETRAX_ARCH_V10
44#define GPIO_MINOR_A 0
45#define GPIO_MINOR_B 1
46#define GPIO_MINOR_LEDS 2
47#define GPIO_MINOR_G 3
48#define GPIO_MINOR_LAST 3
49#define GPIO_MINOR_LAST_REAL GPIO_MINOR_LAST
50#endif
51
52#ifdef CONFIG_ETRAXFS
53#define GPIO_MINOR_A 0
54#define GPIO_MINOR_B 1
55#define GPIO_MINOR_LEDS 2
56#define GPIO_MINOR_C 3
57#define GPIO_MINOR_D 4
58#define GPIO_MINOR_E 5
59#ifdef CONFIG_ETRAX_VIRTUAL_GPIO
60#define GPIO_MINOR_V 6
61#define GPIO_MINOR_LAST 6
62#else
63#define GPIO_MINOR_LAST 5
64#endif
65#define GPIO_MINOR_LAST_REAL GPIO_MINOR_LAST
66#endif
67
68#ifdef CONFIG_CRIS_MACH_ARTPEC3
69#define GPIO_MINOR_A 0
70#define GPIO_MINOR_B 1
71#define GPIO_MINOR_LEDS 2
72#define GPIO_MINOR_C 3
73#define GPIO_MINOR_D 4
74#ifdef CONFIG_ETRAX_VIRTUAL_GPIO
75#define GPIO_MINOR_V 6
76#define GPIO_MINOR_LAST 6
77#else
78#define GPIO_MINOR_LAST 4
79#endif
80#define GPIO_MINOR_FIRST_PWM 16
81#define GPIO_MINOR_PWM0 (GPIO_MINOR_FIRST_PWM+0)
82#define GPIO_MINOR_PWM1 (GPIO_MINOR_FIRST_PWM+1)
83#define GPIO_MINOR_PWM2 (GPIO_MINOR_FIRST_PWM+2)
84#define GPIO_MINOR_PPWM (GPIO_MINOR_FIRST_PWM+3)
85#define GPIO_MINOR_LAST_PWM GPIO_MINOR_PPWM
86#define GPIO_MINOR_LAST_REAL GPIO_MINOR_LAST_PWM
87#endif
88
89
90
91/* supported ioctl _IOC_NR's */
92
93#define IO_READBITS 0x1 /* read and return current port bits (obsolete) */
94#define IO_SETBITS 0x2 /* set the bits marked by 1 in the argument */
95#define IO_CLRBITS 0x3 /* clear the bits marked by 1 in the argument */
96
97/* the alarm is waited for by select() */
98
99#define IO_HIGHALARM 0x4 /* set alarm on high for bits marked by 1 */
100#define IO_LOWALARM 0x5 /* set alarm on low for bits marked by 1 */
101#define IO_CLRALARM 0x6 /* clear alarm for bits marked by 1 */
102
103/* LED ioctl */
104#define IO_LEDACTIVE_SET 0x7 /* set active led
105 * 0=off, 1=green, 2=red, 3=yellow */
106
107/* GPIO direction ioctl's */
108#define IO_READDIR 0x8 /* Read direction 0=input 1=output (obsolete) */
109#define IO_SETINPUT 0x9 /* Set direction for bits set, 0=unchanged 1=input,
110 returns mask with current inputs (obsolete) */
111#define IO_SETOUTPUT 0xA /* Set direction for bits set, 0=unchanged 1=output,
112 returns mask with current outputs (obsolete)*/
113
114/* LED ioctl extended */
115#define IO_LED_SETBIT 0xB
116#define IO_LED_CLRBIT 0xC
117
118/* SHUTDOWN ioctl */
119#define IO_SHUTDOWN 0xD
120#define IO_GET_PWR_BT 0xE
121
122/* Bit toggling in driver settings */
123/* bit set in low byte0 is CLK mask (0x00FF),
124 bit set in byte1 is DATA mask (0xFF00)
125 msb, data_mask[7:0] , clk_mask[7:0]
126 */
127#define IO_CFG_WRITE_MODE 0xF
128#define IO_CFG_WRITE_MODE_VALUE(msb, data_mask, clk_mask) \
129 ( (((msb)&1) << 16) | (((data_mask) &0xFF) << 8) | ((clk_mask) & 0xFF) )
130
131/* The following 4 ioctl's take a pointer as argument and handles
132 * 32 bit ports (port G) properly.
133 * These replaces IO_READBITS,IO_SETINPUT AND IO_SETOUTPUT
134 */
135#define IO_READ_INBITS 0x10 /* *arg is result of reading the input pins */
136#define IO_READ_OUTBITS 0x11 /* *arg is result of reading the output shadow */
137#define IO_SETGET_INPUT 0x12 /* bits set in *arg is set to input, */
138 /* *arg updated with current input pins. */
139#define IO_SETGET_OUTPUT 0x13 /* bits set in *arg is set to output, */
140 /* *arg updated with current output pins. */
141
142/* The following ioctl's are applicable to the PWM channels only */
143
144#define IO_PWM_SET_MODE 0x20
145
146enum io_pwm_mode {
147 PWM_OFF = 0, /* disabled, deallocated */
148 PWM_STANDARD = 1, /* 390 kHz, duty cycle 0..255/256 */
149 PWM_FAST = 2, /* variable freq, w/ 10ns active pulse len */
150 PWM_VARFREQ = 3, /* individually configurable high/low periods */
151 PWM_SOFT = 4 /* software generated */
152};
153
154struct io_pwm_set_mode {
155 enum io_pwm_mode mode;
156};
157
158/* Only for mode PWM_VARFREQ. Period lo/high set in increments of 10ns
159 * from 10ns (value = 0) to 81920ns (value = 8191)
160 * (Resulting frequencies range from 50 MHz (10ns + 10ns) down to
161 * 6.1 kHz (81920ns + 81920ns) at 50% duty cycle, to 12.2 kHz at min/max duty
162 * cycle (81920 + 10ns or 10ns + 81920ns, respectively).)
163 */
164#define IO_PWM_SET_PERIOD 0x21
165
166struct io_pwm_set_period {
167 unsigned int lo; /* 0..8191 */
168 unsigned int hi; /* 0..8191 */
169};
170
171/* Only for modes PWM_STANDARD and PWM_FAST.
172 * For PWM_STANDARD, set duty cycle of 390 kHz PWM output signal, from
173 * 0 (value = 0) to 255/256 (value = 255).
174 * For PWM_FAST, set duty cycle of PWM output signal from
175 * 0% (value = 0) to 100% (value = 255). Output signal in this mode
176 * is a 10ns pulse surrounded by a high or low level depending on duty
177 * cycle (except for 0% and 100% which result in a constant output).
178 * Resulting output frequency varies from 50 MHz at 50% duty cycle,
179 * down to 390 kHz at min/max duty cycle.
180 */
181#define IO_PWM_SET_DUTY 0x22
182
183struct io_pwm_set_duty {
184 int duty; /* 0..255 */
185};
186
187/* Returns information about the latest PWM pulse.
188 * lo: Length of the latest low period, in units of 10ns.
189 * hi: Length of the latest high period, in units of 10ns.
190 * cnt: Time since last detected edge, in units of 10ns.
191 *
192 * The input source to PWM is decied by IO_PWM_SET_INPUT_SRC.
193 *
194 * NOTE: All PWM devices is connected to the same input source.
195 */
196#define IO_PWM_GET_PERIOD 0x23
197
198struct io_pwm_get_period {
199 unsigned int lo;
200 unsigned int hi;
201 unsigned int cnt;
202};
203
204/* Sets the input source for the PWM input. For the src value see the
205 * register description for gio:rw_pwm_in_cfg.
206 *
207 * NOTE: All PWM devices is connected to the same input source.
208 */
209#define IO_PWM_SET_INPUT_SRC 0x24
210struct io_pwm_set_input_src {
211 unsigned int src; /* 0..7 */
212};
213
214/* Sets the duty cycles in steps of 1/256, 0 = 0%, 255 = 100% duty cycle */
215#define IO_PPWM_SET_DUTY 0x25
216
217struct io_ppwm_set_duty {
218 int duty; /* 0..255 */
219};
220
221/* Configuraton struct for the IO_PWMCLK_SET_CONFIG ioctl to configure
222 * PWM capable gpio pins:
223 */
224#define IO_PWMCLK_SETGET_CONFIG 0x26
225struct gpio_pwmclk_conf {
226 unsigned int gpiopin; /* The pin number based on the opened device */
227 unsigned int baseclk; /* The base clock to use, or sw will select one close*/
228 unsigned int low; /* The number of low periods of the baseclk */
229 unsigned int high; /* The number of high periods of the baseclk */
230};
231
232/* Examples:
233 * To get a symmetric 12 MHz clock without knowing anything about the hardware:
234 * baseclk = 12000000, low = 0, high = 0
235 * To just get info of current setting:
236 * baseclk = 0, low = 0, high = 0, the values will be updated by driver.
237 */
238
239#endif
diff --git a/arch/cris/include/uapi/asm/fcntl.h b/arch/cris/include/uapi/asm/fcntl.h
new file mode 100644
index 000000000000..46ab12db5739
--- /dev/null
+++ b/arch/cris/include/uapi/asm/fcntl.h
@@ -0,0 +1 @@
#include <asm-generic/fcntl.h>
diff --git a/arch/cris/include/uapi/asm/ioctl.h b/arch/cris/include/uapi/asm/ioctl.h
new file mode 100644
index 000000000000..b279fe06dfe5
--- /dev/null
+++ b/arch/cris/include/uapi/asm/ioctl.h
@@ -0,0 +1 @@
#include <asm-generic/ioctl.h>
diff --git a/arch/cris/include/uapi/asm/ioctls.h b/arch/cris/include/uapi/asm/ioctls.h
new file mode 100644
index 000000000000..488fbb3f5e84
--- /dev/null
+++ b/arch/cris/include/uapi/asm/ioctls.h
@@ -0,0 +1,11 @@
1#ifndef __ARCH_CRIS_IOCTLS_H__
2#define __ARCH_CRIS_IOCTLS_H__
3
4#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
5#define TIOCSERSETRS485 0x5461 /* enable rs-485 (deprecated) */
6#define TIOCSERWRRS485 0x5462 /* write rs-485 */
7#define TIOCSRS485 0x5463 /* enable rs-485 */
8
9#include <asm-generic/ioctls.h>
10
11#endif
diff --git a/arch/cris/include/uapi/asm/ipcbuf.h b/arch/cris/include/uapi/asm/ipcbuf.h
new file mode 100644
index 000000000000..84c7e51cb6d0
--- /dev/null
+++ b/arch/cris/include/uapi/asm/ipcbuf.h
@@ -0,0 +1 @@
#include <asm-generic/ipcbuf.h>
diff --git a/arch/cris/include/uapi/asm/mman.h b/arch/cris/include/uapi/asm/mman.h
new file mode 100644
index 000000000000..8eebf89f5ab1
--- /dev/null
+++ b/arch/cris/include/uapi/asm/mman.h
@@ -0,0 +1 @@
#include <asm-generic/mman.h>
diff --git a/arch/cris/include/uapi/asm/msgbuf.h b/arch/cris/include/uapi/asm/msgbuf.h
new file mode 100644
index 000000000000..ada63df1d574
--- /dev/null
+++ b/arch/cris/include/uapi/asm/msgbuf.h
@@ -0,0 +1,33 @@
1#ifndef _CRIS_MSGBUF_H
2#define _CRIS_MSGBUF_H
3
4/* verbatim copy of asm-i386 version */
5
6/*
7 * The msqid64_ds structure for CRIS architecture.
8 * Note extra padding because this structure is passed back and forth
9 * between kernel and user space.
10 *
11 * Pad space is left for:
12 * - 64-bit time_t to solve y2038 problem
13 * - 2 miscellaneous 32-bit values
14 */
15
16struct msqid64_ds {
17 struct ipc64_perm msg_perm;
18 __kernel_time_t msg_stime; /* last msgsnd time */
19 unsigned long __unused1;
20 __kernel_time_t msg_rtime; /* last msgrcv time */
21 unsigned long __unused2;
22 __kernel_time_t msg_ctime; /* last change time */
23 unsigned long __unused3;
24 unsigned long msg_cbytes; /* current number of bytes on queue */
25 unsigned long msg_qnum; /* number of messages in queue */
26 unsigned long msg_qbytes; /* max number of bytes on queue */
27 __kernel_pid_t msg_lspid; /* pid of last msgsnd */
28 __kernel_pid_t msg_lrpid; /* last receive pid */
29 unsigned long __unused4;
30 unsigned long __unused5;
31};
32
33#endif /* _CRIS_MSGBUF_H */
diff --git a/arch/cris/include/uapi/asm/param.h b/arch/cris/include/uapi/asm/param.h
new file mode 100644
index 000000000000..484fcf8667c0
--- /dev/null
+++ b/arch/cris/include/uapi/asm/param.h
@@ -0,0 +1,10 @@
1#ifndef _ASMCRIS_PARAM_H
2#define _ASMCRIS_PARAM_H
3
4/* Currently we assume that HZ=100 is good for CRIS. */
5
6#define EXEC_PAGESIZE 8192
7
8#include <asm-generic/param.h>
9
10#endif /* _ASMCRIS_PARAM_H */
diff --git a/arch/cris/include/uapi/asm/poll.h b/arch/cris/include/uapi/asm/poll.h
new file mode 100644
index 000000000000..c98509d3149e
--- /dev/null
+++ b/arch/cris/include/uapi/asm/poll.h
@@ -0,0 +1 @@
#include <asm-generic/poll.h>
diff --git a/arch/cris/include/uapi/asm/posix_types.h b/arch/cris/include/uapi/asm/posix_types.h
new file mode 100644
index 000000000000..ce4e51793151
--- /dev/null
+++ b/arch/cris/include/uapi/asm/posix_types.h
@@ -0,0 +1,35 @@
1/* $Id: posix_types.h,v 1.1 2000/07/10 16:32:31 bjornw Exp $ */
2
3/* We cheat a bit and use our C-coded bitops functions from asm/bitops.h */
4/* I guess we should write these in assembler because they are used often. */
5
6#ifndef __ARCH_CRIS_POSIX_TYPES_H
7#define __ARCH_CRIS_POSIX_TYPES_H
8
9/*
10 * This file is generally used by user-level software, so you need to
11 * be a little careful about namespace pollution etc. Also, we cannot
12 * assume GCC is being used.
13 */
14
15typedef unsigned short __kernel_mode_t;
16#define __kernel_mode_t __kernel_mode_t
17
18typedef unsigned short __kernel_ipc_pid_t;
19#define __kernel_ipc_pid_t __kernel_ipc_pid_t
20
21typedef unsigned short __kernel_uid_t;
22typedef unsigned short __kernel_gid_t;
23#define __kernel_uid_t __kernel_uid_t
24
25typedef __SIZE_TYPE__ __kernel_size_t;
26typedef long __kernel_ssize_t;
27typedef int __kernel_ptrdiff_t;
28#define __kernel_size_t __kernel_size_t
29
30typedef unsigned short __kernel_old_dev_t;
31#define __kernel_old_dev_t __kernel_old_dev_t
32
33#include <asm-generic/posix_types.h>
34
35#endif /* __ARCH_CRIS_POSIX_TYPES_H */
diff --git a/arch/cris/include/uapi/asm/ptrace.h b/arch/cris/include/uapi/asm/ptrace.h
new file mode 100644
index 000000000000..c689c9bbbe50
--- /dev/null
+++ b/arch/cris/include/uapi/asm/ptrace.h
@@ -0,0 +1 @@
#include <arch/ptrace.h>
diff --git a/arch/cris/include/uapi/asm/resource.h b/arch/cris/include/uapi/asm/resource.h
new file mode 100644
index 000000000000..b5d29448de4e
--- /dev/null
+++ b/arch/cris/include/uapi/asm/resource.h
@@ -0,0 +1,6 @@
1#ifndef _CRIS_RESOURCE_H
2#define _CRIS_RESOURCE_H
3
4#include <asm-generic/resource.h>
5
6#endif
diff --git a/arch/cris/include/uapi/asm/rs485.h b/arch/cris/include/uapi/asm/rs485.h
new file mode 100644
index 000000000000..ad40f9fbcb8a
--- /dev/null
+++ b/arch/cris/include/uapi/asm/rs485.h
@@ -0,0 +1,18 @@
1/* RS-485 structures */
2
3/* Used with ioctl() TIOCSERSETRS485 for backward compatibility!
4 * XXX: Do not use it for new code!
5 */
6struct rs485_control {
7 unsigned short rts_on_send;
8 unsigned short rts_after_sent;
9 unsigned long delay_rts_before_send;
10 unsigned short enabled;
11};
12
13/* Used with ioctl() TIOCSERWRRS485 */
14struct rs485_write {
15 unsigned short outc_size;
16 unsigned char *outc;
17};
18
diff --git a/arch/cris/include/uapi/asm/sembuf.h b/arch/cris/include/uapi/asm/sembuf.h
new file mode 100644
index 000000000000..7fed9843796d
--- /dev/null
+++ b/arch/cris/include/uapi/asm/sembuf.h
@@ -0,0 +1,25 @@
1#ifndef _CRIS_SEMBUF_H
2#define _CRIS_SEMBUF_H
3
4/*
5 * The semid64_ds structure for CRIS architecture.
6 * Note extra padding because this structure is passed back and forth
7 * between kernel and user space.
8 *
9 * Pad space is left for:
10 * - 64-bit time_t to solve y2038 problem
11 * - 2 miscellaneous 32-bit values
12 */
13
14struct semid64_ds {
15 struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
16 __kernel_time_t sem_otime; /* last semop time */
17 unsigned long __unused1;
18 __kernel_time_t sem_ctime; /* last change time */
19 unsigned long __unused2;
20 unsigned long sem_nsems; /* no. of semaphores in array */
21 unsigned long __unused3;
22 unsigned long __unused4;
23};
24
25#endif /* _CRIS_SEMBUF_H */
diff --git a/arch/cris/include/uapi/asm/setup.h b/arch/cris/include/uapi/asm/setup.h
new file mode 100644
index 000000000000..b90728652d1a
--- /dev/null
+++ b/arch/cris/include/uapi/asm/setup.h
@@ -0,0 +1,6 @@
1#ifndef _CRIS_SETUP_H
2#define _CRIS_SETUP_H
3
4#define COMMAND_LINE_SIZE 256
5
6#endif
diff --git a/arch/cris/include/uapi/asm/shmbuf.h b/arch/cris/include/uapi/asm/shmbuf.h
new file mode 100644
index 000000000000..3239e3f000e8
--- /dev/null
+++ b/arch/cris/include/uapi/asm/shmbuf.h
@@ -0,0 +1,42 @@
1#ifndef _CRIS_SHMBUF_H
2#define _CRIS_SHMBUF_H
3
4/*
5 * The shmid64_ds structure for CRIS architecture (same as for i386)
6 * Note extra padding because this structure is passed back and forth
7 * between kernel and user space.
8 *
9 * Pad space is left for:
10 * - 64-bit time_t to solve y2038 problem
11 * - 2 miscellaneous 32-bit values
12 */
13
14struct shmid64_ds {
15 struct ipc64_perm shm_perm; /* operation perms */
16 size_t shm_segsz; /* size of segment (bytes) */
17 __kernel_time_t shm_atime; /* last attach time */
18 unsigned long __unused1;
19 __kernel_time_t shm_dtime; /* last detach time */
20 unsigned long __unused2;
21 __kernel_time_t shm_ctime; /* last change time */
22 unsigned long __unused3;
23 __kernel_pid_t shm_cpid; /* pid of creator */
24 __kernel_pid_t shm_lpid; /* pid of last operator */
25 unsigned long shm_nattch; /* no. of current attaches */
26 unsigned long __unused4;
27 unsigned long __unused5;
28};
29
30struct shminfo64 {
31 unsigned long shmmax;
32 unsigned long shmmin;
33 unsigned long shmmni;
34 unsigned long shmseg;
35 unsigned long shmall;
36 unsigned long __unused1;
37 unsigned long __unused2;
38 unsigned long __unused3;
39 unsigned long __unused4;
40};
41
42#endif /* _CRIS_SHMBUF_H */
diff --git a/arch/cris/include/uapi/asm/sigcontext.h b/arch/cris/include/uapi/asm/sigcontext.h
new file mode 100644
index 000000000000..a1d634e120df
--- /dev/null
+++ b/arch/cris/include/uapi/asm/sigcontext.h
@@ -0,0 +1,24 @@
1/* $Id: sigcontext.h,v 1.1 2000/07/10 16:32:31 bjornw Exp $ */
2
3#ifndef _ASM_CRIS_SIGCONTEXT_H
4#define _ASM_CRIS_SIGCONTEXT_H
5
6#include <asm/ptrace.h>
7
8/* This struct is saved by setup_frame in signal.c, to keep the current context while
9 a signal handler is executed. It's restored by sys_sigreturn.
10
11 To keep things simple, we use pt_regs here even though normally you just specify
12 the list of regs to save. Then we can use copy_from_user on the entire regs instead
13 of a bunch of get_user's as well...
14
15*/
16
17struct sigcontext {
18 struct pt_regs regs; /* needs to be first */
19 unsigned long oldmask;
20 unsigned long usp; /* usp before stacking this gunk on it */
21};
22
23#endif
24
diff --git a/arch/cris/include/uapi/asm/siginfo.h b/arch/cris/include/uapi/asm/siginfo.h
new file mode 100644
index 000000000000..c1cd6d16928b
--- /dev/null
+++ b/arch/cris/include/uapi/asm/siginfo.h
@@ -0,0 +1,6 @@
1#ifndef _CRIS_SIGINFO_H
2#define _CRIS_SIGINFO_H
3
4#include <asm-generic/siginfo.h>
5
6#endif
diff --git a/arch/cris/include/uapi/asm/signal.h b/arch/cris/include/uapi/asm/signal.h
new file mode 100644
index 000000000000..21624948a96d
--- /dev/null
+++ b/arch/cris/include/uapi/asm/signal.h
@@ -0,0 +1,122 @@
1#ifndef _UAPI_ASM_CRIS_SIGNAL_H
2#define _UAPI_ASM_CRIS_SIGNAL_H
3
4#include <linux/types.h>
5
6/* Avoid too many header ordering problems. */
7struct siginfo;
8
9#ifndef __KERNEL__
10/* Here we must cater to libcs that poke about in kernel headers. */
11
12#define NSIG 32
13typedef unsigned long sigset_t;
14
15#endif /* __KERNEL__ */
16
17#define SIGHUP 1
18#define SIGINT 2
19#define SIGQUIT 3
20#define SIGILL 4
21#define SIGTRAP 5
22#define SIGABRT 6
23#define SIGIOT 6
24#define SIGBUS 7
25#define SIGFPE 8
26#define SIGKILL 9
27#define SIGUSR1 10
28#define SIGSEGV 11
29#define SIGUSR2 12
30#define SIGPIPE 13
31#define SIGALRM 14
32#define SIGTERM 15
33#define SIGSTKFLT 16
34#define SIGCHLD 17
35#define SIGCONT 18
36#define SIGSTOP 19
37#define SIGTSTP 20
38#define SIGTTIN 21
39#define SIGTTOU 22
40#define SIGURG 23
41#define SIGXCPU 24
42#define SIGXFSZ 25
43#define SIGVTALRM 26
44#define SIGPROF 27
45#define SIGWINCH 28
46#define SIGIO 29
47#define SIGPOLL SIGIO
48/*
49#define SIGLOST 29
50*/
51#define SIGPWR 30
52#define SIGSYS 31
53#define SIGUNUSED 31
54
55/* These should not be considered constants from userland. */
56#define SIGRTMIN 32
57#define SIGRTMAX _NSIG
58
59/*
60 * SA_FLAGS values:
61 *
62 * SA_ONSTACK indicates that a registered stack_t will be used.
63 * SA_RESTART flag to get restarting signals (which were the default long ago)
64 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
65 * SA_RESETHAND clears the handler when the signal is delivered.
66 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
67 * SA_NODEFER prevents the current signal from being masked in the handler.
68 *
69 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
70 * Unix names RESETHAND and NODEFER respectively.
71 */
72
73#define SA_NOCLDSTOP 0x00000001u
74#define SA_NOCLDWAIT 0x00000002u
75#define SA_SIGINFO 0x00000004u
76#define SA_ONSTACK 0x08000000u
77#define SA_RESTART 0x10000000u
78#define SA_NODEFER 0x40000000u
79#define SA_RESETHAND 0x80000000u
80
81#define SA_NOMASK SA_NODEFER
82#define SA_ONESHOT SA_RESETHAND
83
84#define SA_RESTORER 0x04000000
85
86/*
87 * sigaltstack controls
88 */
89#define SS_ONSTACK 1
90#define SS_DISABLE 2
91
92#define MINSIGSTKSZ 2048
93#define SIGSTKSZ 8192
94
95#include <asm-generic/signal-defs.h>
96
97#ifndef __KERNEL__
98/* Here we must cater to libcs that poke about in kernel headers. */
99
100struct sigaction {
101 union {
102 __sighandler_t _sa_handler;
103 void (*_sa_sigaction)(int, struct siginfo *, void *);
104 } _u;
105 sigset_t sa_mask;
106 unsigned long sa_flags;
107 void (*sa_restorer)(void);
108};
109
110#define sa_handler _u._sa_handler
111#define sa_sigaction _u._sa_sigaction
112
113#endif /* __KERNEL__ */
114
115typedef struct sigaltstack {
116 void *ss_sp;
117 int ss_flags;
118 size_t ss_size;
119} stack_t;
120
121
122#endif /* _UAPI_ASM_CRIS_SIGNAL_H */
diff --git a/arch/cris/include/uapi/asm/socket.h b/arch/cris/include/uapi/asm/socket.h
new file mode 100644
index 000000000000..ae52825021af
--- /dev/null
+++ b/arch/cris/include/uapi/asm/socket.h
@@ -0,0 +1,76 @@
1#ifndef _ASM_SOCKET_H
2#define _ASM_SOCKET_H
3
4/* almost the same as asm-i386/socket.h */
5
6#include <asm/sockios.h>
7
8/* For setsockoptions(2) */
9#define SOL_SOCKET 1
10
11#define SO_DEBUG 1
12#define SO_REUSEADDR 2
13#define SO_TYPE 3
14#define SO_ERROR 4
15#define SO_DONTROUTE 5
16#define SO_BROADCAST 6
17#define SO_SNDBUF 7
18#define SO_RCVBUF 8
19#define SO_SNDBUFFORCE 32
20#define SO_RCVBUFFORCE 33
21#define SO_KEEPALIVE 9
22#define SO_OOBINLINE 10
23#define SO_NO_CHECK 11
24#define SO_PRIORITY 12
25#define SO_LINGER 13
26#define SO_BSDCOMPAT 14
27/* To add :#define SO_REUSEPORT 15 */
28#define SO_PASSCRED 16
29#define SO_PEERCRED 17
30#define SO_RCVLOWAT 18
31#define SO_SNDLOWAT 19
32#define SO_RCVTIMEO 20
33#define SO_SNDTIMEO 21
34
35/* Security levels - as per NRL IPv6 - don't actually do anything */
36#define SO_SECURITY_AUTHENTICATION 22
37#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
38#define SO_SECURITY_ENCRYPTION_NETWORK 24
39
40#define SO_BINDTODEVICE 25
41
42/* Socket filtering */
43#define SO_ATTACH_FILTER 26
44#define SO_DETACH_FILTER 27
45
46#define SO_PEERNAME 28
47#define SO_TIMESTAMP 29
48#define SCM_TIMESTAMP SO_TIMESTAMP
49
50#define SO_ACCEPTCONN 30
51
52#define SO_PEERSEC 31
53#define SO_PASSSEC 34
54#define SO_TIMESTAMPNS 35
55#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
56
57#define SO_MARK 36
58
59#define SO_TIMESTAMPING 37
60#define SCM_TIMESTAMPING SO_TIMESTAMPING
61
62#define SO_PROTOCOL 38
63#define SO_DOMAIN 39
64
65#define SO_RXQ_OVFL 40
66
67#define SO_WIFI_STATUS 41
68#define SCM_WIFI_STATUS SO_WIFI_STATUS
69#define SO_PEEK_OFF 42
70
71/* Instruct lower device to use last 4-bytes of skb data as FCS */
72#define SO_NOFCS 43
73
74#endif /* _ASM_SOCKET_H */
75
76
diff --git a/arch/cris/include/uapi/asm/sockios.h b/arch/cris/include/uapi/asm/sockios.h
new file mode 100644
index 000000000000..cfe7bfecf599
--- /dev/null
+++ b/arch/cris/include/uapi/asm/sockios.h
@@ -0,0 +1,13 @@
1#ifndef __ARCH_CRIS_SOCKIOS__
2#define __ARCH_CRIS_SOCKIOS__
3
4/* Socket-level I/O control calls. */
5#define FIOSETOWN 0x8901
6#define SIOCSPGRP 0x8902
7#define FIOGETOWN 0x8903
8#define SIOCGPGRP 0x8904
9#define SIOCATMARK 0x8905
10#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
11#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
12
13#endif
diff --git a/arch/cris/include/uapi/asm/stat.h b/arch/cris/include/uapi/asm/stat.h
new file mode 100644
index 000000000000..9e558cc3c43b
--- /dev/null
+++ b/arch/cris/include/uapi/asm/stat.h
@@ -0,0 +1,81 @@
1#ifndef _CRIS_STAT_H
2#define _CRIS_STAT_H
3
4/* Keep this a verbatim copy of i386 version; tweak CRIS-specific bits in
5 the kernel if necessary. */
6
7struct __old_kernel_stat {
8 unsigned short st_dev;
9 unsigned short st_ino;
10 unsigned short st_mode;
11 unsigned short st_nlink;
12 unsigned short st_uid;
13 unsigned short st_gid;
14 unsigned short st_rdev;
15 unsigned long st_size;
16 unsigned long st_atime;
17 unsigned long st_mtime;
18 unsigned long st_ctime;
19};
20
21#define STAT_HAVE_NSEC 1
22
23struct stat {
24 unsigned long st_dev;
25 unsigned long st_ino;
26 unsigned short st_mode;
27 unsigned short st_nlink;
28 unsigned short st_uid;
29 unsigned short st_gid;
30 unsigned long st_rdev;
31 unsigned long st_size;
32 unsigned long st_blksize;
33 unsigned long st_blocks;
34 unsigned long st_atime;
35 unsigned long st_atime_nsec;
36 unsigned long st_mtime;
37 unsigned long st_mtime_nsec;
38 unsigned long st_ctime;
39 unsigned long st_ctime_nsec;
40 unsigned long __unused4;
41 unsigned long __unused5;
42};
43
44/* This matches struct stat64 in glibc2.1, hence the absolutely
45 * insane amounts of padding around dev_t's.
46 */
47struct stat64 {
48 unsigned long long st_dev;
49 unsigned char __pad0[4];
50
51#define STAT64_HAS_BROKEN_ST_INO 1
52 unsigned long __st_ino;
53
54 unsigned int st_mode;
55 unsigned int st_nlink;
56
57 unsigned long st_uid;
58 unsigned long st_gid;
59
60 unsigned long long st_rdev;
61 unsigned char __pad3[4];
62
63 long long st_size;
64 unsigned long st_blksize;
65
66 unsigned long st_blocks; /* Number 512-byte blocks allocated. */
67 unsigned long __pad4; /* future possible st_blocks high bits */
68
69 unsigned long st_atime;
70 unsigned long st_atime_nsec;
71
72 unsigned long st_mtime;
73 unsigned long st_mtime_nsec;
74
75 unsigned long st_ctime;
76 unsigned long st_ctime_nsec; /* will be high 32 bits of ctime someday */
77
78 unsigned long long st_ino;
79};
80
81#endif
diff --git a/arch/cris/include/uapi/asm/statfs.h b/arch/cris/include/uapi/asm/statfs.h
new file mode 100644
index 000000000000..fdaf921844bc
--- /dev/null
+++ b/arch/cris/include/uapi/asm/statfs.h
@@ -0,0 +1,6 @@
1#ifndef _CRIS_STATFS_H
2#define _CRIS_STATFS_H
3
4#include <asm-generic/statfs.h>
5
6#endif
diff --git a/arch/cris/include/uapi/asm/swab.h b/arch/cris/include/uapi/asm/swab.h
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/arch/cris/include/uapi/asm/swab.h
diff --git a/arch/cris/include/uapi/asm/sync_serial.h b/arch/cris/include/uapi/asm/sync_serial.h
new file mode 100644
index 000000000000..7f827fea30e7
--- /dev/null
+++ b/arch/cris/include/uapi/asm/sync_serial.h
@@ -0,0 +1,132 @@
1/*
2 * ioctl defines for synchronous serial port driver
3 *
4 * Copyright (c) 2001-2003 Axis Communications AB
5 *
6 * Author: Mikael Starvik
7 *
8 */
9
10#ifndef SYNC_SERIAL_H
11#define SYNC_SERIAL_H
12
13#include <linux/ioctl.h>
14
15#define SSP_SPEED _IOR('S', 0, unsigned int)
16#define SSP_MODE _IOR('S', 1, unsigned int)
17#define SSP_FRAME_SYNC _IOR('S', 2, unsigned int)
18#define SSP_IPOLARITY _IOR('S', 3, unsigned int)
19#define SSP_OPOLARITY _IOR('S', 4, unsigned int)
20#define SSP_SPI _IOR('S', 5, unsigned int)
21#define SSP_INBUFCHUNK _IOR('S', 6, unsigned int)
22#define SSP_INPUT _IOR('S', 7, unsigned int)
23
24/* Values for SSP_SPEED */
25#define SSP150 0
26#define SSP300 1
27#define SSP600 2
28#define SSP1200 3
29#define SSP2400 4
30#define SSP4800 5
31#define SSP9600 6
32#define SSP19200 7
33#define SSP28800 8
34#define SSP57600 9
35#define SSP115200 10
36#define SSP230400 11
37#define SSP460800 12
38#define SSP921600 13
39#define SSP3125000 14
40#define CODEC 15
41#define CODEC_f32768 16
42
43#define FREQ_4MHz 0
44#define FREQ_2MHz 1
45#define FREQ_1MHz 2
46#define FREQ_512kHz 3
47#define FREQ_256kHz 4
48#define FREQ_128kHz 5
49#define FREQ_64kHz 6
50#define FREQ_32kHz 7
51/* FREQ_* with values where bit (value & 0x10) is set are */
52/* used for CODEC_f32768 */
53#define FREQ_4096kHz 16 /* CODEC_f32768 */
54
55/* Used by application to set CODEC divider, word rate and frame rate */
56#define CODEC_VAL(freq, clk_per_sync, sync_per_frame) \
57 ((CODEC + ((freq & 0x10) >> 4)) | (freq << 8) | \
58 (clk_per_sync << 16) | (sync_per_frame << 28))
59
60/* Used by driver to extract speed */
61#define GET_SPEED(x) (x & 0xff)
62#define GET_FREQ(x) ((x & 0xff00) >> 8)
63#define GET_WORD_RATE(x) (((x & 0x0fff0000) >> 16) - 1)
64#define GET_FRAME_RATE(x) (((x & 0xf0000000) >> 28) - 1)
65
66/* Values for SSP_MODE */
67#define MASTER_OUTPUT 0
68#define SLAVE_OUTPUT 1
69#define MASTER_INPUT 2
70#define SLAVE_INPUT 3
71#define MASTER_BIDIR 4
72#define SLAVE_BIDIR 5
73
74/* Values for SSP_FRAME_SYNC */
75#define NORMAL_SYNC 1
76#define EARLY_SYNC 2
77#define SECOND_WORD_SYNC 0x40000
78#define LATE_SYNC 0x80000
79
80#define BIT_SYNC 4
81#define WORD_SYNC 8
82#define EXTENDED_SYNC 0x10
83
84#define SYNC_OFF 0x20
85#define SYNC_ON 0x40
86#define WORD_SIZE_8 0x80
87#define WORD_SIZE_12 0x100
88#define WORD_SIZE_16 0x200
89#define WORD_SIZE_24 0x400
90#define WORD_SIZE_32 0x800
91#define BIT_ORDER_LSB 0x1000
92#define BIT_ORDER_MSB 0x2000
93#define FLOW_CONTROL_ENABLE 0x4000
94#define FLOW_CONTROL_DISABLE 0x8000
95#define CLOCK_GATED 0x10000
96#define CLOCK_NOT_GATED 0x20000
97
98/* Values for SSP_IPOLARITY and SSP_OPOLARITY */
99#define CLOCK_NORMAL 1
100#define CLOCK_INVERT 2
101#define CLOCK_INEGEDGE CLOCK_NORMAL
102#define CLOCK_IPOSEDGE CLOCK_INVERT
103#define FRAME_NORMAL 4
104#define FRAME_INVERT 8
105#define STATUS_NORMAL 0x10
106#define STATUS_INVERT 0x20
107
108/* Values for SSP_SPI */
109#define SPI_MASTER 0
110#define SPI_SLAVE 1
111
112/* Values for SSP_INBUFCHUNK */
113/* plain integer with the size of DMA chunks */
114
115/* To ensure that the timestamps are aligned with the data being read
116 * the read length MUST be a multiple of the length of the DMA buffers.
117 *
118 * Use a multiple of SSP_INPUT_CHUNK_SIZE defined below.
119 */
120#define SSP_INPUT_CHUNK_SIZE 256
121
122/* Request struct to pass through the ioctl interface to read
123 * data with timestamps.
124 */
125struct ssp_request {
126 char __user *buf; /* Where to put the data. */
127 size_t len; /* Size of buf. MUST be a multiple of */
128 /* SSP_INPUT_CHUNK_SIZE! */
129 struct timespec ts; /* The time the data was sampled. */
130};
131
132#endif
diff --git a/arch/cris/include/uapi/asm/termbits.h b/arch/cris/include/uapi/asm/termbits.h
new file mode 100644
index 000000000000..1c43bc874ccf
--- /dev/null
+++ b/arch/cris/include/uapi/asm/termbits.h
@@ -0,0 +1,235 @@
1/* $Id: termbits.h,v 1.1 2000/07/10 16:32:31 bjornw Exp $ */
2
3#ifndef __ARCH_ETRAX100_TERMBITS_H__
4#define __ARCH_ETRAX100_TERMBITS_H__
5
6#include <linux/posix_types.h>
7
8typedef unsigned char cc_t;
9typedef unsigned int speed_t;
10typedef unsigned int tcflag_t;
11
12#define NCCS 19
13struct termios {
14 tcflag_t c_iflag; /* input mode flags */
15 tcflag_t c_oflag; /* output mode flags */
16 tcflag_t c_cflag; /* control mode flags */
17 tcflag_t c_lflag; /* local mode flags */
18 cc_t c_line; /* line discipline */
19 cc_t c_cc[NCCS]; /* control characters */
20};
21
22struct termios2 {
23 tcflag_t c_iflag; /* input mode flags */
24 tcflag_t c_oflag; /* output mode flags */
25 tcflag_t c_cflag; /* control mode flags */
26 tcflag_t c_lflag; /* local mode flags */
27 cc_t c_line; /* line discipline */
28 cc_t c_cc[NCCS]; /* control characters */
29 speed_t c_ispeed; /* input speed */
30 speed_t c_ospeed; /* output speed */
31};
32
33struct ktermios {
34 tcflag_t c_iflag; /* input mode flags */
35 tcflag_t c_oflag; /* output mode flags */
36 tcflag_t c_cflag; /* control mode flags */
37 tcflag_t c_lflag; /* local mode flags */
38 cc_t c_line; /* line discipline */
39 cc_t c_cc[NCCS]; /* control characters */
40 speed_t c_ispeed; /* input speed */
41 speed_t c_ospeed; /* output speed */
42};
43
44/* c_cc characters */
45#define VINTR 0
46#define VQUIT 1
47#define VERASE 2
48#define VKILL 3
49#define VEOF 4
50#define VTIME 5
51#define VMIN 6
52#define VSWTC 7
53#define VSTART 8
54#define VSTOP 9
55#define VSUSP 10
56#define VEOL 11
57#define VREPRINT 12
58#define VDISCARD 13
59#define VWERASE 14
60#define VLNEXT 15
61#define VEOL2 16
62
63/* c_iflag bits */
64#define IGNBRK 0000001
65#define BRKINT 0000002
66#define IGNPAR 0000004
67#define PARMRK 0000010
68#define INPCK 0000020
69#define ISTRIP 0000040
70#define INLCR 0000100
71#define IGNCR 0000200
72#define ICRNL 0000400
73#define IUCLC 0001000
74#define IXON 0002000
75#define IXANY 0004000
76#define IXOFF 0010000
77#define IMAXBEL 0020000
78#define IUTF8 0040000
79
80/* c_oflag bits */
81#define OPOST 0000001
82#define OLCUC 0000002
83#define ONLCR 0000004
84#define OCRNL 0000010
85#define ONOCR 0000020
86#define ONLRET 0000040
87#define OFILL 0000100
88#define OFDEL 0000200
89#define NLDLY 0000400
90#define NL0 0000000
91#define NL1 0000400
92#define CRDLY 0003000
93#define CR0 0000000
94#define CR1 0001000
95#define CR2 0002000
96#define CR3 0003000
97#define TABDLY 0014000
98#define TAB0 0000000
99#define TAB1 0004000
100#define TAB2 0010000
101#define TAB3 0014000
102#define XTABS 0014000
103#define BSDLY 0020000
104#define BS0 0000000
105#define BS1 0020000
106#define VTDLY 0040000
107#define VT0 0000000
108#define VT1 0040000
109#define FFDLY 0100000
110#define FF0 0000000
111#define FF1 0100000
112
113/* c_cflag bit meaning */
114/*
115 * 3 2 1
116 * 10 987 654 321 098 765 432 109 876 543 210
117 * | | ||| CBAUD
118 * obaud
119 *
120 * ||CSIZE
121 *
122 * |CSTOP
123 * |CREAD
124 * |CPARENB
125 *
126 * |CPARODD
127 * |HUPCL
128 * |CLOCAL
129 * |CBAUDEX
130 * 10 987 654 321 098 765 432 109 876 543 210
131 * | || || CIBAUD, IBSHIFT=16
132 * ibaud
133 * |CMSPAR
134 * | CRTSCTS
135 * x x xxx xxx x x xx Free bits
136 */
137
138#define CBAUD 0010017
139#define B0 0000000 /* hang up */
140#define B50 0000001
141#define B75 0000002
142#define B110 0000003
143#define B134 0000004
144#define B150 0000005
145#define B200 0000006
146#define B300 0000007
147#define B600 0000010
148#define B1200 0000011
149#define B1800 0000012
150#define B2400 0000013
151#define B4800 0000014
152#define B9600 0000015
153#define B19200 0000016
154#define B38400 0000017
155#define EXTA B19200
156#define EXTB B38400
157#define CSIZE 0000060
158#define CS5 0000000
159#define CS6 0000020
160#define CS7 0000040
161#define CS8 0000060
162#define CSTOPB 0000100
163#define CREAD 0000200
164#define PARENB 0000400
165#define PARODD 0001000
166#define HUPCL 0002000
167#define CLOCAL 0004000
168#define CBAUDEX 0010000
169#define BOTHER 0010000
170#define B57600 0010001
171#define B115200 0010002
172#define B230400 0010003
173#define B460800 0010004
174
175/* Unsupported rates, but needed to avoid compile error. */
176#define B500000 0010005
177#define B576000 0010006
178#define B1000000 0010010
179#define B1152000 0010011
180#define B1500000 0010012
181#define B2000000 0010013
182#define B2500000 0010014
183#define B3000000 0010015
184#define B3500000 0010016
185#define B4000000 0010017
186
187/* etrax supports these additional three baud rates */
188#define B921600 0010005
189#define B1843200 0010006
190#define B6250000 0010007
191/* ETRAX FS supports this as well */
192#define B12500000 0010010
193#define CIBAUD 002003600000 /* input baud rate (used in v32) */
194/* The values for CIBAUD bits are the same as the values for CBAUD and CBAUDEX
195 * shifted left IBSHIFT bits.
196 */
197#define IBSHIFT 16
198#define CMSPAR 010000000000 /* mark or space (stick) parity - PARODD=space*/
199#define CRTSCTS 020000000000 /* flow control */
200
201/* c_lflag bits */
202#define ISIG 0000001
203#define ICANON 0000002
204#define XCASE 0000004
205#define ECHO 0000010
206#define ECHOE 0000020
207#define ECHOK 0000040
208#define ECHONL 0000100
209#define NOFLSH 0000200
210#define TOSTOP 0000400
211#define ECHOCTL 0001000
212#define ECHOPRT 0002000
213#define ECHOKE 0004000
214#define FLUSHO 0010000
215#define PENDIN 0040000
216#define IEXTEN 0100000
217#define EXTPROC 0200000
218
219/* tcflow() and TCXONC use these */
220#define TCOOFF 0
221#define TCOON 1
222#define TCIOFF 2
223#define TCION 3
224
225/* tcflush() and TCFLSH use these */
226#define TCIFLUSH 0
227#define TCOFLUSH 1
228#define TCIOFLUSH 2
229
230/* tcsetattr uses these */
231#define TCSANOW 0
232#define TCSADRAIN 1
233#define TCSAFLUSH 2
234
235#endif
diff --git a/arch/cris/include/uapi/asm/termios.h b/arch/cris/include/uapi/asm/termios.h
new file mode 100644
index 000000000000..0a0386a55027
--- /dev/null
+++ b/arch/cris/include/uapi/asm/termios.h
@@ -0,0 +1,45 @@
1#ifndef _UAPI_CRIS_TERMIOS_H
2#define _UAPI_CRIS_TERMIOS_H
3
4#include <asm/termbits.h>
5#include <asm/ioctls.h>
6#include <asm/rs485.h>
7#include <linux/serial.h>
8
9struct winsize {
10 unsigned short ws_row;
11 unsigned short ws_col;
12 unsigned short ws_xpixel;
13 unsigned short ws_ypixel;
14};
15
16#define NCC 8
17struct termio {
18 unsigned short c_iflag; /* input mode flags */
19 unsigned short c_oflag; /* output mode flags */
20 unsigned short c_cflag; /* control mode flags */
21 unsigned short c_lflag; /* local mode flags */
22 unsigned char c_line; /* line discipline */
23 unsigned char c_cc[NCC]; /* control characters */
24};
25
26/* modem lines */
27#define TIOCM_LE 0x001
28#define TIOCM_DTR 0x002
29#define TIOCM_RTS 0x004
30#define TIOCM_ST 0x008
31#define TIOCM_SR 0x010
32#define TIOCM_CTS 0x020
33#define TIOCM_CAR 0x040
34#define TIOCM_RNG 0x080
35#define TIOCM_DSR 0x100
36#define TIOCM_CD TIOCM_CAR
37#define TIOCM_RI TIOCM_RNG
38#define TIOCM_OUT1 0x2000
39#define TIOCM_OUT2 0x4000
40#define TIOCM_LOOP 0x8000
41
42/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
43
44
45#endif /* _UAPI_CRIS_TERMIOS_H */
diff --git a/arch/cris/include/uapi/asm/types.h b/arch/cris/include/uapi/asm/types.h
new file mode 100644
index 000000000000..9ec9d4c5ac4d
--- /dev/null
+++ b/arch/cris/include/uapi/asm/types.h
@@ -0,0 +1 @@
#include <asm-generic/int-ll64.h>
diff --git a/arch/cris/include/uapi/asm/unistd.h b/arch/cris/include/uapi/asm/unistd.h
new file mode 100644
index 000000000000..48842896f6c2
--- /dev/null
+++ b/arch/cris/include/uapi/asm/unistd.h
@@ -0,0 +1,344 @@
1#ifndef _UAPI_ASM_CRIS_UNISTD_H_
2#define _UAPI_ASM_CRIS_UNISTD_H_
3
4/*
5 * This file contains the system call numbers, and stub macros for libc.
6 */
7
8#define __NR_restart_syscall 0
9#define __NR_exit 1
10#define __NR_fork 2
11#define __NR_read 3
12#define __NR_write 4
13#define __NR_open 5
14#define __NR_close 6
15#define __NR_waitpid 7
16#define __NR_creat 8
17#define __NR_link 9
18#define __NR_unlink 10
19#define __NR_execve 11
20#define __NR_chdir 12
21#define __NR_time 13
22#define __NR_mknod 14
23#define __NR_chmod 15
24#define __NR_lchown 16
25#define __NR_break 17
26#define __NR_oldstat 18
27#define __NR_lseek 19
28#define __NR_getpid 20
29#define __NR_mount 21
30#define __NR_umount 22
31#define __NR_setuid 23
32#define __NR_getuid 24
33#define __NR_stime 25
34#define __NR_ptrace 26
35#define __NR_alarm 27
36#define __NR_oldfstat 28
37#define __NR_pause 29
38#define __NR_utime 30
39#define __NR_stty 31
40#define __NR_gtty 32
41#define __NR_access 33
42#define __NR_nice 34
43#define __NR_ftime 35
44#define __NR_sync 36
45#define __NR_kill 37
46#define __NR_rename 38
47#define __NR_mkdir 39
48#define __NR_rmdir 40
49#define __NR_dup 41
50#define __NR_pipe 42
51#define __NR_times 43
52#define __NR_prof 44
53#define __NR_brk 45
54#define __NR_setgid 46
55#define __NR_getgid 47
56#define __NR_signal 48
57#define __NR_geteuid 49
58#define __NR_getegid 50
59#define __NR_acct 51
60#define __NR_umount2 52
61#define __NR_lock 53
62#define __NR_ioctl 54
63#define __NR_fcntl 55
64#define __NR_mpx 56
65#define __NR_setpgid 57
66#define __NR_ulimit 58
67#define __NR_oldolduname 59
68#define __NR_umask 60
69#define __NR_chroot 61
70#define __NR_ustat 62
71#define __NR_dup2 63
72#define __NR_getppid 64
73#define __NR_getpgrp 65
74#define __NR_setsid 66
75#define __NR_sigaction 67
76#define __NR_sgetmask 68
77#define __NR_ssetmask 69
78#define __NR_setreuid 70
79#define __NR_setregid 71
80#define __NR_sigsuspend 72
81#define __NR_sigpending 73
82#define __NR_sethostname 74
83#define __NR_setrlimit 75
84#define __NR_getrlimit 76
85#define __NR_getrusage 77
86#define __NR_gettimeofday 78
87#define __NR_settimeofday 79
88#define __NR_getgroups 80
89#define __NR_setgroups 81
90#define __NR_select 82
91#define __NR_symlink 83
92#define __NR_oldlstat 84
93#define __NR_readlink 85
94#define __NR_uselib 86
95#define __NR_swapon 87
96#define __NR_reboot 88
97#define __NR_readdir 89
98#define __NR_mmap 90
99#define __NR_munmap 91
100#define __NR_truncate 92
101#define __NR_ftruncate 93
102#define __NR_fchmod 94
103#define __NR_fchown 95
104#define __NR_getpriority 96
105#define __NR_setpriority 97
106#define __NR_profil 98
107#define __NR_statfs 99
108#define __NR_fstatfs 100
109#define __NR_ioperm 101
110#define __NR_socketcall 102
111#define __NR_syslog 103
112#define __NR_setitimer 104
113#define __NR_getitimer 105
114#define __NR_stat 106
115#define __NR_lstat 107
116#define __NR_fstat 108
117#define __NR_olduname 109
118#define __NR_iopl 110
119#define __NR_vhangup 111
120#define __NR_idle 112
121#define __NR_vm86 113
122#define __NR_wait4 114
123#define __NR_swapoff 115
124#define __NR_sysinfo 116
125#define __NR_ipc 117
126#define __NR_fsync 118
127#define __NR_sigreturn 119
128#define __NR_clone 120
129#define __NR_setdomainname 121
130#define __NR_uname 122
131#define __NR_modify_ldt 123
132#define __NR_adjtimex 124
133#define __NR_mprotect 125
134#define __NR_sigprocmask 126
135#define __NR_create_module 127
136#define __NR_init_module 128
137#define __NR_delete_module 129
138#define __NR_get_kernel_syms 130
139#define __NR_quotactl 131
140#define __NR_getpgid 132
141#define __NR_fchdir 133
142#define __NR_bdflush 134
143#define __NR_sysfs 135
144#define __NR_personality 136
145#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
146#define __NR_setfsuid 138
147#define __NR_setfsgid 139
148#define __NR__llseek 140
149#define __NR_getdents 141
150#define __NR__newselect 142
151#define __NR_flock 143
152#define __NR_msync 144
153#define __NR_readv 145
154#define __NR_writev 146
155#define __NR_getsid 147
156#define __NR_fdatasync 148
157#define __NR__sysctl 149
158#define __NR_mlock 150
159#define __NR_munlock 151
160#define __NR_mlockall 152
161#define __NR_munlockall 153
162#define __NR_sched_setparam 154
163#define __NR_sched_getparam 155
164#define __NR_sched_setscheduler 156
165#define __NR_sched_getscheduler 157
166#define __NR_sched_yield 158
167#define __NR_sched_get_priority_max 159
168#define __NR_sched_get_priority_min 160
169#define __NR_sched_rr_get_interval 161
170#define __NR_nanosleep 162
171#define __NR_mremap 163
172#define __NR_setresuid 164
173#define __NR_getresuid 165
174
175#define __NR_query_module 167
176#define __NR_poll 168
177#define __NR_nfsservctl 169
178#define __NR_setresgid 170
179#define __NR_getresgid 171
180#define __NR_prctl 172
181#define __NR_rt_sigreturn 173
182#define __NR_rt_sigaction 174
183#define __NR_rt_sigprocmask 175
184#define __NR_rt_sigpending 176
185#define __NR_rt_sigtimedwait 177
186#define __NR_rt_sigqueueinfo 178
187#define __NR_rt_sigsuspend 179
188#define __NR_pread64 180
189#define __NR_pwrite64 181
190#define __NR_chown 182
191#define __NR_getcwd 183
192#define __NR_capget 184
193#define __NR_capset 185
194#define __NR_sigaltstack 186
195#define __NR_sendfile 187
196#define __NR_getpmsg 188 /* some people actually want streams */
197#define __NR_putpmsg 189 /* some people actually want streams */
198#define __NR_vfork 190
199#define __NR_ugetrlimit 191 /* SuS compliant getrlimit */
200#define __NR_mmap2 192
201#define __NR_truncate64 193
202#define __NR_ftruncate64 194
203#define __NR_stat64 195
204#define __NR_lstat64 196
205#define __NR_fstat64 197
206#define __NR_lchown32 198
207#define __NR_getuid32 199
208#define __NR_getgid32 200
209#define __NR_geteuid32 201
210#define __NR_getegid32 202
211#define __NR_setreuid32 203
212#define __NR_setregid32 204
213#define __NR_getgroups32 205
214#define __NR_setgroups32 206
215#define __NR_fchown32 207
216#define __NR_setresuid32 208
217#define __NR_getresuid32 209
218#define __NR_setresgid32 210
219#define __NR_getresgid32 211
220#define __NR_chown32 212
221#define __NR_setuid32 213
222#define __NR_setgid32 214
223#define __NR_setfsuid32 215
224#define __NR_setfsgid32 216
225#define __NR_pivot_root 217
226#define __NR_mincore 218
227#define __NR_madvise 219
228#define __NR_getdents64 220
229#define __NR_fcntl64 221
230/* 223 is unused */
231#define __NR_gettid 224
232#define __NR_readahead 225
233#define __NR_setxattr 226
234#define __NR_lsetxattr 227
235#define __NR_fsetxattr 228
236#define __NR_getxattr 229
237#define __NR_lgetxattr 230
238#define __NR_fgetxattr 231
239#define __NR_listxattr 232
240#define __NR_llistxattr 233
241#define __NR_flistxattr 234
242#define __NR_removexattr 235
243#define __NR_lremovexattr 236
244#define __NR_fremovexattr 237
245#define __NR_tkill 238
246#define __NR_sendfile64 239
247#define __NR_futex 240
248#define __NR_sched_setaffinity 241
249#define __NR_sched_getaffinity 242
250#define __NR_set_thread_area 243
251#define __NR_get_thread_area 244
252#define __NR_io_setup 245
253#define __NR_io_destroy 246
254#define __NR_io_getevents 247
255#define __NR_io_submit 248
256#define __NR_io_cancel 249
257#define __NR_fadvise64 250
258/* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
259#define __NR_exit_group 252
260#define __NR_lookup_dcookie 253
261#define __NR_epoll_create 254
262#define __NR_epoll_ctl 255
263#define __NR_epoll_wait 256
264#define __NR_remap_file_pages 257
265#define __NR_set_tid_address 258
266#define __NR_timer_create 259
267#define __NR_timer_settime (__NR_timer_create+1)
268#define __NR_timer_gettime (__NR_timer_create+2)
269#define __NR_timer_getoverrun (__NR_timer_create+3)
270#define __NR_timer_delete (__NR_timer_create+4)
271#define __NR_clock_settime (__NR_timer_create+5)
272#define __NR_clock_gettime (__NR_timer_create+6)
273#define __NR_clock_getres (__NR_timer_create+7)
274#define __NR_clock_nanosleep (__NR_timer_create+8)
275#define __NR_statfs64 268
276#define __NR_fstatfs64 269
277#define __NR_tgkill 270
278#define __NR_utimes 271
279#define __NR_fadvise64_64 272
280#define __NR_vserver 273
281#define __NR_mbind 274
282#define __NR_get_mempolicy 275
283#define __NR_set_mempolicy 276
284#define __NR_mq_open 277
285#define __NR_mq_unlink (__NR_mq_open+1)
286#define __NR_mq_timedsend (__NR_mq_open+2)
287#define __NR_mq_timedreceive (__NR_mq_open+3)
288#define __NR_mq_notify (__NR_mq_open+4)
289#define __NR_mq_getsetattr (__NR_mq_open+5)
290#define __NR_kexec_load 283
291#define __NR_waitid 284
292/* #define __NR_sys_setaltroot 285 */
293#define __NR_add_key 286
294#define __NR_request_key 287
295#define __NR_keyctl 288
296#define __NR_ioprio_set 289
297#define __NR_ioprio_get 290
298#define __NR_inotify_init 291
299#define __NR_inotify_add_watch 292
300#define __NR_inotify_rm_watch 293
301#define __NR_migrate_pages 294
302#define __NR_openat 295
303#define __NR_mkdirat 296
304#define __NR_mknodat 297
305#define __NR_fchownat 298
306#define __NR_futimesat 299
307#define __NR_fstatat64 300
308#define __NR_unlinkat 301
309#define __NR_renameat 302
310#define __NR_linkat 303
311#define __NR_symlinkat 304
312#define __NR_readlinkat 305
313#define __NR_fchmodat 306
314#define __NR_faccessat 307
315#define __NR_pselect6 308
316#define __NR_ppoll 309
317#define __NR_unshare 310
318#define __NR_set_robust_list 311
319#define __NR_get_robust_list 312
320#define __NR_splice 313
321#define __NR_sync_file_range 314
322#define __NR_tee 315
323#define __NR_vmsplice 316
324#define __NR_move_pages 317
325#define __NR_getcpu 318
326#define __NR_epoll_pwait 319
327#define __NR_utimensat 320
328#define __NR_signalfd 321
329#define __NR_timerfd_create 322
330#define __NR_eventfd 323
331#define __NR_fallocate 324
332#define __NR_timerfd_settime 325
333#define __NR_timerfd_gettime 326
334#define __NR_signalfd4 327
335#define __NR_eventfd2 328
336#define __NR_epoll_create1 329
337#define __NR_dup3 330
338#define __NR_pipe2 331
339#define __NR_inotify_init1 332
340#define __NR_preadv 333
341#define __NR_pwritev 334
342#define __NR_setns 335
343
344#endif /* _UAPI_ASM_CRIS_UNISTD_H_ */