diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-18 17:07:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-18 17:07:35 -0400 |
commit | 15fc204afc6feb915c400159546f646eca8ba1d9 (patch) | |
tree | 51bec0710be2a0cb0bedbccbea7813f17fbc61ea /arch/sh/include | |
parent | d2aa4550379f92e929af7ed1dd4f55e6a1e331f8 (diff) | |
parent | 944557116908cbe835be41bfbd39d9706da9fd71 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (56 commits)
sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn
sh: Enable soc-camera in ap325rxa/migor/se7724 defconfigs.
sh: remove stray markers.
sh: defconfig updates.
sh: pci: Initial PCI-Express support for SH7786 Urquell board.
sh: Generic HAVE_PERF_COUNTER support.
SH: convert migor to soc-camera as platform-device
SH: convert ap325rxa to soc-camera as platform-device
soc-camera: unify i2c camera device platform data
sh: add platform data for r8a66597-hcd in setup-sh7723
sh: add platform data for r8a66597-hcd in setup-sh7366
sh: x3proto: add platform data for r8a66597-hcd
sh: highlander: add platform data for r8a66597-hcd
sh: sh7785lcr: add platform data for r8a66597-hcd
sh: turn off irqs when disabling CMT/TMU timers
sh: use kzalloc() for cpg clocks
sh: unbreak WARN_ON()
sh: Use generic atomic64_t implementation.
sh: Revised clock function in highlander
sh: Update r7780mp defconfig
...
Diffstat (limited to 'arch/sh/include')
36 files changed, 98 insertions, 1129 deletions
diff --git a/arch/sh/include/asm/atomic-irq.h b/arch/sh/include/asm/atomic-irq.h index a0b348068cae..467d9415a32e 100644 --- a/arch/sh/include/asm/atomic-irq.h +++ b/arch/sh/include/asm/atomic-irq.h | |||
@@ -10,29 +10,29 @@ static inline void atomic_add(int i, atomic_t *v) | |||
10 | { | 10 | { |
11 | unsigned long flags; | 11 | unsigned long flags; |
12 | 12 | ||
13 | local_irq_save(flags); | 13 | raw_local_irq_save(flags); |
14 | v->counter += i; | 14 | v->counter += i; |
15 | local_irq_restore(flags); | 15 | raw_local_irq_restore(flags); |
16 | } | 16 | } |
17 | 17 | ||
18 | static inline void atomic_sub(int i, atomic_t *v) | 18 | static inline void atomic_sub(int i, atomic_t *v) |
19 | { | 19 | { |
20 | unsigned long flags; | 20 | unsigned long flags; |
21 | 21 | ||
22 | local_irq_save(flags); | 22 | raw_local_irq_save(flags); |
23 | v->counter -= i; | 23 | v->counter -= i; |
24 | local_irq_restore(flags); | 24 | raw_local_irq_restore(flags); |
25 | } | 25 | } |
26 | 26 | ||
27 | static inline int atomic_add_return(int i, atomic_t *v) | 27 | static inline int atomic_add_return(int i, atomic_t *v) |
28 | { | 28 | { |
29 | unsigned long temp, flags; | 29 | unsigned long temp, flags; |
30 | 30 | ||
31 | local_irq_save(flags); | 31 | raw_local_irq_save(flags); |
32 | temp = v->counter; | 32 | temp = v->counter; |
33 | temp += i; | 33 | temp += i; |
34 | v->counter = temp; | 34 | v->counter = temp; |
35 | local_irq_restore(flags); | 35 | raw_local_irq_restore(flags); |
36 | 36 | ||
37 | return temp; | 37 | return temp; |
38 | } | 38 | } |
@@ -41,11 +41,11 @@ static inline int atomic_sub_return(int i, atomic_t *v) | |||
41 | { | 41 | { |
42 | unsigned long temp, flags; | 42 | unsigned long temp, flags; |
43 | 43 | ||
44 | local_irq_save(flags); | 44 | raw_local_irq_save(flags); |
45 | temp = v->counter; | 45 | temp = v->counter; |
46 | temp -= i; | 46 | temp -= i; |
47 | v->counter = temp; | 47 | v->counter = temp; |
48 | local_irq_restore(flags); | 48 | raw_local_irq_restore(flags); |
49 | 49 | ||
50 | return temp; | 50 | return temp; |
51 | } | 51 | } |
@@ -54,18 +54,18 @@ static inline void atomic_clear_mask(unsigned int mask, atomic_t *v) | |||
54 | { | 54 | { |
55 | unsigned long flags; | 55 | unsigned long flags; |
56 | 56 | ||
57 | local_irq_save(flags); | 57 | raw_local_irq_save(flags); |
58 | v->counter &= ~mask; | 58 | v->counter &= ~mask; |
59 | local_irq_restore(flags); | 59 | raw_local_irq_restore(flags); |
60 | } | 60 | } |
61 | 61 | ||
62 | static inline void atomic_set_mask(unsigned int mask, atomic_t *v) | 62 | static inline void atomic_set_mask(unsigned int mask, atomic_t *v) |
63 | { | 63 | { |
64 | unsigned long flags; | 64 | unsigned long flags; |
65 | 65 | ||
66 | local_irq_save(flags); | 66 | raw_local_irq_save(flags); |
67 | v->counter |= mask; | 67 | v->counter |= mask; |
68 | local_irq_restore(flags); | 68 | raw_local_irq_restore(flags); |
69 | } | 69 | } |
70 | 70 | ||
71 | #endif /* __ASM_SH_ATOMIC_IRQ_H */ | 71 | #endif /* __ASM_SH_ATOMIC_IRQ_H */ |
diff --git a/arch/sh/include/asm/atomic.h b/arch/sh/include/asm/atomic.h index 157c320272cb..e8e78137c6f5 100644 --- a/arch/sh/include/asm/atomic.h +++ b/arch/sh/include/asm/atomic.h | |||
@@ -85,4 +85,6 @@ static inline int atomic_add_unless(atomic_t *v, int a, int u) | |||
85 | #define smp_mb__after_atomic_inc() barrier() | 85 | #define smp_mb__after_atomic_inc() barrier() |
86 | 86 | ||
87 | #include <asm-generic/atomic-long.h> | 87 | #include <asm-generic/atomic-long.h> |
88 | #include <asm-generic/atomic64.h> | ||
89 | |||
88 | #endif /* __ASM_SH_ATOMIC_H */ | 90 | #endif /* __ASM_SH_ATOMIC_H */ |
diff --git a/arch/sh/include/asm/checksum.h b/arch/sh/include/asm/checksum.h index 67496ab0ef04..fc26d1f4b590 100644 --- a/arch/sh/include/asm/checksum.h +++ b/arch/sh/include/asm/checksum.h | |||
@@ -1,5 +1,5 @@ | |||
1 | #ifdef CONFIG_SUPERH32 | 1 | #ifdef CONFIG_SUPERH32 |
2 | # include "checksum_32.h" | 2 | # include "checksum_32.h" |
3 | #else | 3 | #else |
4 | # include "checksum_64.h" | 4 | # include <asm-generic/checksum.h> |
5 | #endif | 5 | #endif |
diff --git a/arch/sh/include/asm/checksum_64.h b/arch/sh/include/asm/checksum_64.h deleted file mode 100644 index 9c62a031a8f5..000000000000 --- a/arch/sh/include/asm/checksum_64.h +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | #ifndef __ASM_SH_CHECKSUM_64_H | ||
2 | #define __ASM_SH_CHECKSUM_64_H | ||
3 | |||
4 | /* | ||
5 | * include/asm-sh/checksum_64.h | ||
6 | * | ||
7 | * Copyright (C) 2000, 2001 Paolo Alberelli | ||
8 | * | ||
9 | * This file is subject to the terms and conditions of the GNU General Public | ||
10 | * License. See the file "COPYING" in the main directory of this archive | ||
11 | * for more details. | ||
12 | */ | ||
13 | |||
14 | /* | ||
15 | * computes the checksum of a memory block at buff, length len, | ||
16 | * and adds in "sum" (32-bit) | ||
17 | * | ||
18 | * returns a 32-bit number suitable for feeding into itself | ||
19 | * or csum_tcpudp_magic | ||
20 | * | ||
21 | * this function must be called with even lengths, except | ||
22 | * for the last fragment, which may be odd | ||
23 | * | ||
24 | * it's best to have buff aligned on a 32-bit boundary | ||
25 | */ | ||
26 | asmlinkage __wsum csum_partial(const void *buff, int len, __wsum sum); | ||
27 | |||
28 | /* | ||
29 | * Note: when you get a NULL pointer exception here this means someone | ||
30 | * passed in an incorrect kernel address to one of these functions. | ||
31 | * | ||
32 | * If you use these functions directly please don't forget the | ||
33 | * access_ok(). | ||
34 | */ | ||
35 | |||
36 | |||
37 | __wsum csum_partial_copy_nocheck(const void *src, void *dst, int len, | ||
38 | __wsum sum); | ||
39 | |||
40 | __wsum csum_partial_copy_from_user(const void __user *src, void *dst, | ||
41 | int len, __wsum sum, int *err_ptr); | ||
42 | |||
43 | static inline __sum16 csum_fold(__wsum csum) | ||
44 | { | ||
45 | u32 sum = (__force u32)csum; | ||
46 | sum = (sum & 0xffff) + (sum >> 16); | ||
47 | sum = (sum & 0xffff) + (sum >> 16); | ||
48 | return (__force __sum16)~sum; | ||
49 | } | ||
50 | |||
51 | __sum16 ip_fast_csum(const void *iph, unsigned int ihl); | ||
52 | |||
53 | __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr, | ||
54 | unsigned short len, unsigned short proto, | ||
55 | __wsum sum); | ||
56 | |||
57 | /* | ||
58 | * computes the checksum of the TCP/UDP pseudo-header | ||
59 | * returns a 16-bit checksum, already complemented | ||
60 | */ | ||
61 | static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr, | ||
62 | unsigned short len, | ||
63 | unsigned short proto, | ||
64 | __wsum sum) | ||
65 | { | ||
66 | return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum)); | ||
67 | } | ||
68 | |||
69 | /* | ||
70 | * this routine is used for miscellaneous IP-like checksums, mainly | ||
71 | * in icmp.c | ||
72 | */ | ||
73 | static inline __sum16 ip_compute_csum(const void *buff, int len) | ||
74 | { | ||
75 | return csum_fold(csum_partial(buff, len, 0)); | ||
76 | } | ||
77 | |||
78 | #endif /* __ASM_SH_CHECKSUM_64_H */ | ||
diff --git a/arch/sh/include/asm/current.h b/arch/sh/include/asm/current.h index 62b63880b333..4c51401b5537 100644 --- a/arch/sh/include/asm/current.h +++ b/arch/sh/include/asm/current.h | |||
@@ -1,20 +1 @@ | |||
1 | #ifndef __ASM_SH_CURRENT_H | #include <asm-generic/current.h> | |
2 | #define __ASM_SH_CURRENT_H | ||
3 | |||
4 | /* | ||
5 | * Copyright (C) 1999 Niibe Yutaka | ||
6 | * | ||
7 | */ | ||
8 | |||
9 | #include <linux/thread_info.h> | ||
10 | |||
11 | struct task_struct; | ||
12 | |||
13 | static __inline__ struct task_struct * get_current(void) | ||
14 | { | ||
15 | return current_thread_info()->task; | ||
16 | } | ||
17 | |||
18 | #define current get_current() | ||
19 | |||
20 | #endif /* __ASM_SH_CURRENT_H */ | ||
diff --git a/arch/sh/include/asm/dma.h b/arch/sh/include/asm/dma.h index 6bd178473878..04ad0e1e637e 100644 --- a/arch/sh/include/asm/dma.h +++ b/arch/sh/include/asm/dma.h | |||
@@ -16,13 +16,7 @@ | |||
16 | #include <linux/sched.h> | 16 | #include <linux/sched.h> |
17 | #include <linux/sysdev.h> | 17 | #include <linux/sysdev.h> |
18 | #include <cpu/dma.h> | 18 | #include <cpu/dma.h> |
19 | 19 | #include <asm-generic/dma.h> | |
20 | /* The maximum address that we can perform a DMA transfer to on this platform */ | ||
21 | /* Don't define MAX_DMA_ADDRESS; it's useless on the SuperH and any | ||
22 | occurrence should be flagged as an error. */ | ||
23 | /* But... */ | ||
24 | /* XXX: This is not applicable to SuperH, just needed for alloc_bootmem */ | ||
25 | #define MAX_DMA_ADDRESS (PAGE_OFFSET+0x10000000) | ||
26 | 20 | ||
27 | #ifdef CONFIG_NR_DMA_CHANNELS | 21 | #ifdef CONFIG_NR_DMA_CHANNELS |
28 | # define MAX_DMA_CHANNELS (CONFIG_NR_DMA_CHANNELS) | 22 | # define MAX_DMA_CHANNELS (CONFIG_NR_DMA_CHANNELS) |
@@ -137,8 +131,6 @@ extern int dma_xfer(unsigned int chan, unsigned long from, | |||
137 | 131 | ||
138 | extern int request_dma_bycap(const char **dmac, const char **caps, | 132 | extern int request_dma_bycap(const char **dmac, const char **caps, |
139 | const char *dev_id); | 133 | const char *dev_id); |
140 | extern int request_dma(unsigned int chan, const char *dev_id); | ||
141 | extern void free_dma(unsigned int chan); | ||
142 | extern int get_dma_residue(unsigned int chan); | 134 | extern int get_dma_residue(unsigned int chan); |
143 | extern struct dma_info *get_dma_info(unsigned int chan); | 135 | extern struct dma_info *get_dma_info(unsigned int chan); |
144 | extern struct dma_channel *get_dma_channel(unsigned int chan); | 136 | extern struct dma_channel *get_dma_channel(unsigned int chan); |
diff --git a/arch/sh/include/asm/ipcbuf.h b/arch/sh/include/asm/ipcbuf.h index 5ffc9972a7ea..84c7e51cb6d0 100644 --- a/arch/sh/include/asm/ipcbuf.h +++ b/arch/sh/include/asm/ipcbuf.h | |||
@@ -1,29 +1 @@ | |||
1 | #ifndef __ASM_SH_IPCBUF_H__ | #include <asm-generic/ipcbuf.h> | |
2 | #define __ASM_SH_IPCBUF_H__ | ||
3 | |||
4 | /* | ||
5 | * The ipc64_perm structure for i386 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 | * - 32-bit mode_t and seq | ||
11 | * - 2 miscellaneous 32-bit values | ||
12 | */ | ||
13 | |||
14 | struct ipc64_perm | ||
15 | { | ||
16 | __kernel_key_t key; | ||
17 | __kernel_uid32_t uid; | ||
18 | __kernel_gid32_t gid; | ||
19 | __kernel_uid32_t cuid; | ||
20 | __kernel_gid32_t cgid; | ||
21 | __kernel_mode_t mode; | ||
22 | unsigned short __pad1; | ||
23 | unsigned short seq; | ||
24 | unsigned short __pad2; | ||
25 | unsigned long __unused1; | ||
26 | unsigned long __unused2; | ||
27 | }; | ||
28 | |||
29 | #endif /* __ASM_SH_IPCBUF_H__ */ | ||
diff --git a/arch/sh/include/asm/irq.h b/arch/sh/include/asm/irq.h index a2b8c99cc06f..df8e1500527c 100644 --- a/arch/sh/include/asm/irq.h +++ b/arch/sh/include/asm/irq.h | |||
@@ -39,7 +39,6 @@ static inline int generic_irq_demux(int irq) | |||
39 | return irq; | 39 | return irq; |
40 | } | 40 | } |
41 | 41 | ||
42 | #define irq_canonicalize(irq) (irq) | ||
43 | #define irq_demux(irq) sh_mv.mv_irq_demux(irq) | 42 | #define irq_demux(irq) sh_mv.mv_irq_demux(irq) |
44 | 43 | ||
45 | void init_IRQ(void); | 44 | void init_IRQ(void); |
@@ -54,6 +53,7 @@ extern void irq_ctx_exit(int cpu); | |||
54 | # define irq_ctx_exit(cpu) do { } while (0) | 53 | # define irq_ctx_exit(cpu) do { } while (0) |
55 | #endif | 54 | #endif |
56 | 55 | ||
56 | #include <asm-generic/irq.h> | ||
57 | #ifdef CONFIG_CPU_SH5 | 57 | #ifdef CONFIG_CPU_SH5 |
58 | #include <cpu/irq.h> | 58 | #include <cpu/irq.h> |
59 | #endif | 59 | #endif |
diff --git a/arch/sh/include/asm/mman.h b/arch/sh/include/asm/mman.h index 7d8b72c91a5f..8eebf89f5ab1 100644 --- a/arch/sh/include/asm/mman.h +++ b/arch/sh/include/asm/mman.h | |||
@@ -1,17 +1 @@ | |||
1 | #ifndef __ASM_SH_MMAN_H | #include <asm-generic/mman.h> | |
2 | #define __ASM_SH_MMAN_H | ||
3 | |||
4 | #include <asm-generic/mman-common.h> | ||
5 | |||
6 | #define MAP_GROWSDOWN 0x0100 /* stack-like segment */ | ||
7 | #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ | ||
8 | #define MAP_EXECUTABLE 0x1000 /* mark it as an executable */ | ||
9 | #define MAP_LOCKED 0x2000 /* pages are locked */ | ||
10 | #define MAP_NORESERVE 0x4000 /* don't check for reservations */ | ||
11 | #define MAP_POPULATE 0x8000 /* populate (prefault) page tables */ | ||
12 | #define MAP_NONBLOCK 0x10000 /* do not block on IO */ | ||
13 | |||
14 | #define MCL_CURRENT 1 /* lock all current mappings */ | ||
15 | #define MCL_FUTURE 2 /* lock all future mappings */ | ||
16 | |||
17 | #endif /* __ASM_SH_MMAN_H */ | ||
diff --git a/arch/sh/include/asm/mmu_context.h b/arch/sh/include/asm/mmu_context.h index 2a9c55f1a83f..67d8946db193 100644 --- a/arch/sh/include/asm/mmu_context.h +++ b/arch/sh/include/asm/mmu_context.h | |||
@@ -122,30 +122,30 @@ static inline void switch_mm(struct mm_struct *prev, | |||
122 | unsigned int cpu = smp_processor_id(); | 122 | unsigned int cpu = smp_processor_id(); |
123 | 123 | ||
124 | if (likely(prev != next)) { | 124 | if (likely(prev != next)) { |
125 | cpu_set(cpu, next->cpu_vm_mask); | 125 | cpumask_set_cpu(cpu, mm_cpumask(next)); |
126 | set_TTB(next->pgd); | 126 | set_TTB(next->pgd); |
127 | activate_context(next, cpu); | 127 | activate_context(next, cpu); |
128 | } else | 128 | } else |
129 | if (!cpu_test_and_set(cpu, next->cpu_vm_mask)) | 129 | if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next))) |
130 | activate_context(next, cpu); | 130 | activate_context(next, cpu); |
131 | } | 131 | } |
132 | |||
133 | #define activate_mm(prev, next) switch_mm((prev),(next),NULL) | ||
134 | #define deactivate_mm(tsk,mm) do { } while (0) | ||
135 | #define enter_lazy_tlb(mm,tsk) do { } while (0) | ||
136 | |||
132 | #else | 137 | #else |
133 | #define get_mmu_context(mm) do { } while (0) | 138 | |
134 | #define init_new_context(tsk,mm) (0) | ||
135 | #define destroy_context(mm) do { } while (0) | ||
136 | #define set_asid(asid) do { } while (0) | 139 | #define set_asid(asid) do { } while (0) |
137 | #define get_asid() (0) | 140 | #define get_asid() (0) |
138 | #define cpu_asid(cpu, mm) ({ (void)cpu; NO_CONTEXT; }) | 141 | #define cpu_asid(cpu, mm) ({ (void)cpu; NO_CONTEXT; }) |
139 | #define switch_and_save_asid(asid) (0) | 142 | #define switch_and_save_asid(asid) (0) |
140 | #define set_TTB(pgd) do { } while (0) | 143 | #define set_TTB(pgd) do { } while (0) |
141 | #define get_TTB() (0) | 144 | #define get_TTB() (0) |
142 | #define activate_context(mm,cpu) do { } while (0) | ||
143 | #define switch_mm(prev,next,tsk) do { } while (0) | ||
144 | #endif /* CONFIG_MMU */ | ||
145 | 145 | ||
146 | #define activate_mm(prev, next) switch_mm((prev),(next),NULL) | 146 | #include <asm-generic/mmu_context.h> |
147 | #define deactivate_mm(tsk,mm) do { } while (0) | 147 | |
148 | #define enter_lazy_tlb(mm,tsk) do { } while (0) | 148 | #endif /* CONFIG_MMU */ |
149 | 149 | ||
150 | #if defined(CONFIG_CPU_SH3) || defined(CONFIG_CPU_SH4) | 150 | #if defined(CONFIG_CPU_SH3) || defined(CONFIG_CPU_SH4) |
151 | /* | 151 | /* |
diff --git a/arch/sh/include/asm/module.h b/arch/sh/include/asm/module.h index 46eccd331660..068bf1659750 100644 --- a/arch/sh/include/asm/module.h +++ b/arch/sh/include/asm/module.h | |||
@@ -1,17 +1,7 @@ | |||
1 | #ifndef _ASM_SH_MODULE_H | 1 | #ifndef _ASM_SH_MODULE_H |
2 | #define _ASM_SH_MODULE_H | 2 | #define _ASM_SH_MODULE_H |
3 | 3 | ||
4 | /* | 4 | #include <asm-generic/module.h> |
5 | * This file contains the SH architecture specific module code. | ||
6 | */ | ||
7 | |||
8 | struct mod_arch_specific { | ||
9 | /* Nothing to see here .. */ | ||
10 | }; | ||
11 | |||
12 | #define Elf_Shdr Elf32_Shdr | ||
13 | #define Elf_Sym Elf32_Sym | ||
14 | #define Elf_Ehdr Elf32_Ehdr | ||
15 | 5 | ||
16 | #ifdef CONFIG_CPU_LITTLE_ENDIAN | 6 | #ifdef CONFIG_CPU_LITTLE_ENDIAN |
17 | # ifdef CONFIG_CPU_SH2 | 7 | # ifdef CONFIG_CPU_SH2 |
diff --git a/arch/sh/include/asm/msgbuf.h b/arch/sh/include/asm/msgbuf.h index 517432343fb5..809134c644a6 100644 --- a/arch/sh/include/asm/msgbuf.h +++ b/arch/sh/include/asm/msgbuf.h | |||
@@ -1,31 +1 @@ | |||
1 | #ifndef __ASM_SH_MSGBUF_H | #include <asm-generic/msgbuf.h> | |
2 | #define __ASM_SH_MSGBUF_H | ||
3 | |||
4 | /* | ||
5 | * The msqid64_ds structure for i386 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 | |||
14 | struct msqid64_ds { | ||
15 | struct ipc64_perm msg_perm; | ||
16 | __kernel_time_t msg_stime; /* last msgsnd time */ | ||
17 | unsigned long __unused1; | ||
18 | __kernel_time_t msg_rtime; /* last msgrcv time */ | ||
19 | unsigned long __unused2; | ||
20 | __kernel_time_t msg_ctime; /* last change time */ | ||
21 | unsigned long __unused3; | ||
22 | unsigned long msg_cbytes; /* current number of bytes on queue */ | ||
23 | unsigned long msg_qnum; /* number of messages in queue */ | ||
24 | unsigned long msg_qbytes; /* max number of bytes on queue */ | ||
25 | __kernel_pid_t msg_lspid; /* pid of last msgsnd */ | ||
26 | __kernel_pid_t msg_lrpid; /* last receive pid */ | ||
27 | unsigned long __unused4; | ||
28 | unsigned long __unused5; | ||
29 | }; | ||
30 | |||
31 | #endif /* __ASM_SH_MSGBUF_H */ | ||
diff --git a/arch/sh/include/asm/param.h b/arch/sh/include/asm/param.h index ae245afdfd6a..965d45427975 100644 --- a/arch/sh/include/asm/param.h +++ b/arch/sh/include/asm/param.h | |||
@@ -1,22 +1 @@ | |||
1 | #ifndef __ASM_SH_PARAM_H | #include <asm-generic/param.h> | |
2 | #define __ASM_SH_PARAM_H | ||
3 | |||
4 | #ifdef __KERNEL__ | ||
5 | # define HZ CONFIG_HZ | ||
6 | # define USER_HZ 100 /* User interfaces are in "ticks" */ | ||
7 | # define CLOCKS_PER_SEC (USER_HZ) /* frequency at which times() counts */ | ||
8 | #endif | ||
9 | |||
10 | #ifndef HZ | ||
11 | #define HZ 100 | ||
12 | #endif | ||
13 | |||
14 | #define EXEC_PAGESIZE 4096 | ||
15 | |||
16 | #ifndef NOGROUP | ||
17 | #define NOGROUP (-1) | ||
18 | #endif | ||
19 | |||
20 | #define MAXHOSTNAMELEN 64 /* max length of hostname */ | ||
21 | |||
22 | #endif /* __ASM_SH_PARAM_H */ | ||
diff --git a/arch/sh/include/asm/parport.h b/arch/sh/include/asm/parport.h index f67ba60a2acd..cf252af64590 100644 --- a/arch/sh/include/asm/parport.h +++ b/arch/sh/include/asm/parport.h | |||
@@ -1,16 +1 @@ | |||
1 | /* | #include <asm-generic/parport.h> | |
2 | * Copyright (C) 1999, 2000 Tim Waugh <tim@cyberelk.demon.co.uk> | ||
3 | * | ||
4 | * This file should only be included by drivers/parport/parport_pc.c. | ||
5 | */ | ||
6 | #ifndef __ASM_SH_PARPORT_H | ||
7 | #define __ASM_SH_PARPORT_H | ||
8 | |||
9 | static int __devinit parport_pc_find_isa_ports(int autoirq, int autodma); | ||
10 | |||
11 | static int __devinit parport_pc_find_nonpci_ports(int autoirq, int autodma) | ||
12 | { | ||
13 | return parport_pc_find_isa_ports(autoirq, autodma); | ||
14 | } | ||
15 | |||
16 | #endif /* __ASM_SH_PARPORT_H */ | ||
diff --git a/arch/sh/include/asm/perf_counter.h b/arch/sh/include/asm/perf_counter.h new file mode 100644 index 000000000000..a8153c2aa6fa --- /dev/null +++ b/arch/sh/include/asm/perf_counter.h | |||
@@ -0,0 +1,7 @@ | |||
1 | #ifndef __ASM_SH_PERF_COUNTER_H | ||
2 | #define __ASM_SH_PERF_COUNTER_H | ||
3 | |||
4 | /* SH only supports software counters through this interface. */ | ||
5 | #define set_perf_counter_pending() do { } while (0) | ||
6 | |||
7 | #endif /* __ASM_SH_PERF_COUNTER_H */ | ||
diff --git a/arch/sh/include/asm/posix_types_32.h b/arch/sh/include/asm/posix_types_32.h index 2172732c55c8..6a9ceaaf1aea 100644 --- a/arch/sh/include/asm/posix_types_32.h +++ b/arch/sh/include/asm/posix_types_32.h | |||
@@ -1,118 +1,29 @@ | |||
1 | #ifndef __ASM_SH_POSIX_TYPES_H | 1 | #ifndef __ASM_SH_POSIX_TYPES_32_H |
2 | #define __ASM_SH_POSIX_TYPES_H | 2 | #define __ASM_SH_POSIX_TYPES_32_H |
3 | 3 | ||
4 | /* | ||
5 | * This file is generally used by user-level software, so you need to | ||
6 | * be a little careful about namespace pollution etc. Also, we cannot | ||
7 | * assume GCC is being used. | ||
8 | */ | ||
9 | |||
10 | typedef unsigned long __kernel_ino_t; | ||
11 | typedef unsigned short __kernel_mode_t; | 4 | typedef unsigned short __kernel_mode_t; |
5 | #define __kernel_mode_t __kernel_mode_t | ||
12 | typedef unsigned short __kernel_nlink_t; | 6 | typedef unsigned short __kernel_nlink_t; |
13 | typedef long __kernel_off_t; | 7 | #define __kernel_nlink_t __kernel_nlink_t |
14 | typedef int __kernel_pid_t; | ||
15 | typedef unsigned short __kernel_ipc_pid_t; | 8 | typedef unsigned short __kernel_ipc_pid_t; |
9 | #define __kernel_ipc_pid_t __kernel_ipc_pid_t | ||
16 | typedef unsigned short __kernel_uid_t; | 10 | typedef unsigned short __kernel_uid_t; |
11 | #define __kernel_uid_t __kernel_uid_t | ||
17 | typedef unsigned short __kernel_gid_t; | 12 | typedef unsigned short __kernel_gid_t; |
18 | typedef unsigned int __kernel_size_t; | 13 | #define __kernel_gid_t __kernel_gid_t |
19 | typedef int __kernel_ssize_t; | 14 | |
20 | typedef int __kernel_ptrdiff_t; | ||
21 | typedef long __kernel_time_t; | ||
22 | typedef long __kernel_suseconds_t; | ||
23 | typedef long __kernel_clock_t; | ||
24 | typedef int __kernel_timer_t; | ||
25 | typedef int __kernel_clockid_t; | ||
26 | typedef int __kernel_daddr_t; | ||
27 | typedef char * __kernel_caddr_t; | ||
28 | typedef unsigned short __kernel_uid16_t; | ||
29 | typedef unsigned short __kernel_gid16_t; | ||
30 | typedef unsigned int __kernel_uid32_t; | 15 | typedef unsigned int __kernel_uid32_t; |
16 | #define __kernel_uid32_t __kernel_uid32_t | ||
31 | typedef unsigned int __kernel_gid32_t; | 17 | typedef unsigned int __kernel_gid32_t; |
18 | #define __kernel_gid32_t __kernel_gid32_t | ||
32 | 19 | ||
33 | typedef unsigned short __kernel_old_uid_t; | 20 | typedef unsigned short __kernel_old_uid_t; |
21 | #define __kernel_old_uid_t __kernel_old_uid_t | ||
34 | typedef unsigned short __kernel_old_gid_t; | 22 | typedef unsigned short __kernel_old_gid_t; |
23 | #define __kernel_old_gid_t __kernel_old_gid_t | ||
35 | typedef unsigned short __kernel_old_dev_t; | 24 | typedef unsigned short __kernel_old_dev_t; |
25 | #define __kernel_old_dev_t __kernel_old_dev_t | ||
36 | 26 | ||
37 | #ifdef __GNUC__ | 27 | #include <asm-generic/posix_types.h> |
38 | typedef long long __kernel_loff_t; | ||
39 | #endif | ||
40 | |||
41 | typedef struct { | ||
42 | int val[2]; | ||
43 | } __kernel_fsid_t; | ||
44 | |||
45 | #if defined(__KERNEL__) | ||
46 | |||
47 | #undef __FD_SET | ||
48 | static __inline__ void __FD_SET(unsigned long __fd, __kernel_fd_set *__fdsetp) | ||
49 | { | ||
50 | unsigned long __tmp = __fd / __NFDBITS; | ||
51 | unsigned long __rem = __fd % __NFDBITS; | ||
52 | __fdsetp->fds_bits[__tmp] |= (1UL<<__rem); | ||
53 | } | ||
54 | |||
55 | #undef __FD_CLR | ||
56 | static __inline__ void __FD_CLR(unsigned long __fd, __kernel_fd_set *__fdsetp) | ||
57 | { | ||
58 | unsigned long __tmp = __fd / __NFDBITS; | ||
59 | unsigned long __rem = __fd % __NFDBITS; | ||
60 | __fdsetp->fds_bits[__tmp] &= ~(1UL<<__rem); | ||
61 | } | ||
62 | |||
63 | |||
64 | #undef __FD_ISSET | ||
65 | static __inline__ int __FD_ISSET(unsigned long __fd, const __kernel_fd_set *__p) | ||
66 | { | ||
67 | unsigned long __tmp = __fd / __NFDBITS; | ||
68 | unsigned long __rem = __fd % __NFDBITS; | ||
69 | return (__p->fds_bits[__tmp] & (1UL<<__rem)) != 0; | ||
70 | } | ||
71 | |||
72 | /* | ||
73 | * This will unroll the loop for the normal constant case (8 ints, | ||
74 | * for a 256-bit fd_set) | ||
75 | */ | ||
76 | #undef __FD_ZERO | ||
77 | static __inline__ void __FD_ZERO(__kernel_fd_set *__p) | ||
78 | { | ||
79 | unsigned long *__tmp = __p->fds_bits; | ||
80 | int __i; | ||
81 | |||
82 | if (__builtin_constant_p(__FDSET_LONGS)) { | ||
83 | switch (__FDSET_LONGS) { | ||
84 | case 16: | ||
85 | __tmp[ 0] = 0; __tmp[ 1] = 0; | ||
86 | __tmp[ 2] = 0; __tmp[ 3] = 0; | ||
87 | __tmp[ 4] = 0; __tmp[ 5] = 0; | ||
88 | __tmp[ 6] = 0; __tmp[ 7] = 0; | ||
89 | __tmp[ 8] = 0; __tmp[ 9] = 0; | ||
90 | __tmp[10] = 0; __tmp[11] = 0; | ||
91 | __tmp[12] = 0; __tmp[13] = 0; | ||
92 | __tmp[14] = 0; __tmp[15] = 0; | ||
93 | return; | ||
94 | |||
95 | case 8: | ||
96 | __tmp[ 0] = 0; __tmp[ 1] = 0; | ||
97 | __tmp[ 2] = 0; __tmp[ 3] = 0; | ||
98 | __tmp[ 4] = 0; __tmp[ 5] = 0; | ||
99 | __tmp[ 6] = 0; __tmp[ 7] = 0; | ||
100 | return; | ||
101 | |||
102 | case 4: | ||
103 | __tmp[ 0] = 0; __tmp[ 1] = 0; | ||
104 | __tmp[ 2] = 0; __tmp[ 3] = 0; | ||
105 | return; | ||
106 | } | ||
107 | } | ||
108 | __i = __FDSET_LONGS; | ||
109 | while (__i) { | ||
110 | __i--; | ||
111 | *__tmp = 0; | ||
112 | __tmp++; | ||
113 | } | ||
114 | } | ||
115 | |||
116 | #endif /* defined(__KERNEL__) */ | ||
117 | 28 | ||
118 | #endif /* __ASM_SH_POSIX_TYPES_H */ | 29 | #endif /* __ASM_SH_POSIX_TYPES_32_H */ |
diff --git a/arch/sh/include/asm/posix_types_64.h b/arch/sh/include/asm/posix_types_64.h index f83e9bd463d8..8cd11485c06b 100644 --- a/arch/sh/include/asm/posix_types_64.h +++ b/arch/sh/include/asm/posix_types_64.h | |||
@@ -1,127 +1,34 @@ | |||
1 | #ifndef __ASM_SH64_POSIX_TYPES_H | 1 | #ifndef __ASM_SH_POSIX_TYPES_64_H |
2 | #define __ASM_SH64_POSIX_TYPES_H | 2 | #define __ASM_SH_POSIX_TYPES_64_H |
3 | 3 | ||
4 | /* | ||
5 | * This file is subject to the terms and conditions of the GNU General Public | ||
6 | * License. See the file "COPYING" in the main directory of this archive | ||
7 | * for more details. | ||
8 | * | ||
9 | * include/asm-sh64/posix_types.h | ||
10 | * | ||
11 | * Copyright (C) 2000, 2001 Paolo Alberelli | ||
12 | * Copyright (C) 2003 Paul Mundt | ||
13 | * | ||
14 | * This file is generally used by user-level software, so you need to | ||
15 | * be a little careful about namespace pollution etc. Also, we cannot | ||
16 | * assume GCC is being used. | ||
17 | */ | ||
18 | |||
19 | typedef unsigned long __kernel_ino_t; | ||
20 | typedef unsigned short __kernel_mode_t; | 4 | typedef unsigned short __kernel_mode_t; |
5 | #define __kernel_mode_t __kernel_mode_t | ||
21 | typedef unsigned short __kernel_nlink_t; | 6 | typedef unsigned short __kernel_nlink_t; |
22 | typedef long __kernel_off_t; | 7 | #define __kernel_nlink_t __kernel_nlink_t |
23 | typedef int __kernel_pid_t; | ||
24 | typedef unsigned short __kernel_ipc_pid_t; | 8 | typedef unsigned short __kernel_ipc_pid_t; |
9 | #define __kernel_ipc_pid_t __kernel_ipc_pid_t | ||
25 | typedef unsigned short __kernel_uid_t; | 10 | typedef unsigned short __kernel_uid_t; |
11 | #define __kernel_uid_t __kernel_uid_t | ||
26 | typedef unsigned short __kernel_gid_t; | 12 | typedef unsigned short __kernel_gid_t; |
13 | #define __kernel_gid_t __kernel_gid_t | ||
27 | typedef long unsigned int __kernel_size_t; | 14 | typedef long unsigned int __kernel_size_t; |
15 | #define __kernel_size_t __kernel_size_t | ||
28 | typedef int __kernel_ssize_t; | 16 | typedef int __kernel_ssize_t; |
17 | #define __kernel_ssize_t __kernel_ssize_t | ||
29 | typedef int __kernel_ptrdiff_t; | 18 | typedef int __kernel_ptrdiff_t; |
30 | typedef long __kernel_time_t; | 19 | #define __kernel_ptrdiff_t __kernel_ptrdiff_t |
31 | typedef long __kernel_suseconds_t; | ||
32 | typedef long __kernel_clock_t; | ||
33 | typedef int __kernel_timer_t; | ||
34 | typedef int __kernel_clockid_t; | ||
35 | typedef int __kernel_daddr_t; | ||
36 | typedef char * __kernel_caddr_t; | ||
37 | typedef unsigned short __kernel_uid16_t; | ||
38 | typedef unsigned short __kernel_gid16_t; | ||
39 | typedef unsigned int __kernel_uid32_t; | 20 | typedef unsigned int __kernel_uid32_t; |
21 | #define __kernel_uid32_t __kernel_uid32_t | ||
40 | typedef unsigned int __kernel_gid32_t; | 22 | typedef unsigned int __kernel_gid32_t; |
23 | #define __kernel_gid32_t __kernel_gid32_t | ||
41 | 24 | ||
42 | typedef unsigned short __kernel_old_uid_t; | 25 | typedef unsigned short __kernel_old_uid_t; |
26 | #define __kernel_old_uid_t __kernel_old_uid_t | ||
43 | typedef unsigned short __kernel_old_gid_t; | 27 | typedef unsigned short __kernel_old_gid_t; |
28 | #define __kernel_old_gid_t __kernel_old_gid_t | ||
44 | typedef unsigned short __kernel_old_dev_t; | 29 | typedef unsigned short __kernel_old_dev_t; |
30 | #define __kernel_old_dev_t __kernel_old_dev_t | ||
45 | 31 | ||
46 | #ifdef __GNUC__ | 32 | #include <asm-generic/posix_types.h> |
47 | typedef long long __kernel_loff_t; | ||
48 | #endif | ||
49 | |||
50 | typedef struct { | ||
51 | int val[2]; | ||
52 | } __kernel_fsid_t; | ||
53 | |||
54 | #if defined(__KERNEL__) | ||
55 | |||
56 | #undef __FD_SET | ||
57 | static __inline__ void __FD_SET(unsigned long __fd, __kernel_fd_set *__fdsetp) | ||
58 | { | ||
59 | unsigned long __tmp = __fd / __NFDBITS; | ||
60 | unsigned long __rem = __fd % __NFDBITS; | ||
61 | __fdsetp->fds_bits[__tmp] |= (1UL<<__rem); | ||
62 | } | ||
63 | |||
64 | #undef __FD_CLR | ||
65 | static __inline__ void __FD_CLR(unsigned long __fd, __kernel_fd_set *__fdsetp) | ||
66 | { | ||
67 | unsigned long __tmp = __fd / __NFDBITS; | ||
68 | unsigned long __rem = __fd % __NFDBITS; | ||
69 | __fdsetp->fds_bits[__tmp] &= ~(1UL<<__rem); | ||
70 | } | ||
71 | |||
72 | |||
73 | #undef __FD_ISSET | ||
74 | static __inline__ int __FD_ISSET(unsigned long __fd, const __kernel_fd_set *__p) | ||
75 | { | ||
76 | unsigned long __tmp = __fd / __NFDBITS; | ||
77 | unsigned long __rem = __fd % __NFDBITS; | ||
78 | return (__p->fds_bits[__tmp] & (1UL<<__rem)) != 0; | ||
79 | } | ||
80 | |||
81 | /* | ||
82 | * This will unroll the loop for the normal constant case (8 ints, | ||
83 | * for a 256-bit fd_set) | ||
84 | */ | ||
85 | #undef __FD_ZERO | ||
86 | static __inline__ void __FD_ZERO(__kernel_fd_set *__p) | ||
87 | { | ||
88 | unsigned long *__tmp = __p->fds_bits; | ||
89 | int __i; | ||
90 | |||
91 | if (__builtin_constant_p(__FDSET_LONGS)) { | ||
92 | switch (__FDSET_LONGS) { | ||
93 | case 16: | ||
94 | __tmp[ 0] = 0; __tmp[ 1] = 0; | ||
95 | __tmp[ 2] = 0; __tmp[ 3] = 0; | ||
96 | __tmp[ 4] = 0; __tmp[ 5] = 0; | ||
97 | __tmp[ 6] = 0; __tmp[ 7] = 0; | ||
98 | __tmp[ 8] = 0; __tmp[ 9] = 0; | ||
99 | __tmp[10] = 0; __tmp[11] = 0; | ||
100 | __tmp[12] = 0; __tmp[13] = 0; | ||
101 | __tmp[14] = 0; __tmp[15] = 0; | ||
102 | return; | ||
103 | |||
104 | case 8: | ||
105 | __tmp[ 0] = 0; __tmp[ 1] = 0; | ||
106 | __tmp[ 2] = 0; __tmp[ 3] = 0; | ||
107 | __tmp[ 4] = 0; __tmp[ 5] = 0; | ||
108 | __tmp[ 6] = 0; __tmp[ 7] = 0; | ||
109 | return; | ||
110 | |||
111 | case 4: | ||
112 | __tmp[ 0] = 0; __tmp[ 1] = 0; | ||
113 | __tmp[ 2] = 0; __tmp[ 3] = 0; | ||
114 | return; | ||
115 | } | ||
116 | } | ||
117 | __i = __FDSET_LONGS; | ||
118 | while (__i) { | ||
119 | __i--; | ||
120 | *__tmp = 0; | ||
121 | __tmp++; | ||
122 | } | ||
123 | } | ||
124 | |||
125 | #endif /* defined(__KERNEL__) */ | ||
126 | 33 | ||
127 | #endif /* __ASM_SH64_POSIX_TYPES_H */ | 34 | #endif /* __ASM_SH_POSIX_TYPES_64_H */ |
diff --git a/arch/sh/include/asm/scatterlist.h b/arch/sh/include/asm/scatterlist.h index c693d268a413..327cc2e4c97b 100644 --- a/arch/sh/include/asm/scatterlist.h +++ b/arch/sh/include/asm/scatterlist.h | |||
@@ -1,28 +1,8 @@ | |||
1 | #ifndef __ASM_SH_SCATTERLIST_H | 1 | #ifndef __ASM_SH_SCATTERLIST_H |
2 | #define __ASM_SH_SCATTERLIST_H | 2 | #define __ASM_SH_SCATTERLIST_H |
3 | 3 | ||
4 | #include <asm/types.h> | ||
5 | |||
6 | struct scatterlist { | ||
7 | #ifdef CONFIG_DEBUG_SG | ||
8 | unsigned long sg_magic; | ||
9 | #endif | ||
10 | unsigned long page_link; | ||
11 | unsigned int offset; /* for highmem, page offset */ | ||
12 | unsigned int length; | ||
13 | dma_addr_t dma_address; | ||
14 | unsigned int dma_length; | ||
15 | }; | ||
16 | |||
17 | #define ISA_DMA_THRESHOLD PHYS_ADDR_MASK | 4 | #define ISA_DMA_THRESHOLD PHYS_ADDR_MASK |
18 | 5 | ||
19 | /* These macros should be used after a pci_map_sg call has been done | 6 | #include <asm-generic/scatterlist.h> |
20 | * to get bus addresses of each of the SG entries and their lengths. | ||
21 | * You should only work with the number of sg entries pci_map_sg | ||
22 | * returns, or alternatively stop on the first sg_dma_len(sg) which | ||
23 | * is 0. | ||
24 | */ | ||
25 | #define sg_dma_address(sg) ((sg)->dma_address) | ||
26 | #define sg_dma_len(sg) ((sg)->length) | ||
27 | 7 | ||
28 | #endif /* !(__ASM_SH_SCATTERLIST_H) */ | 8 | #endif /* __ASM_SH_SCATTERLIST_H */ |
diff --git a/arch/sh/include/asm/sembuf.h b/arch/sh/include/asm/sembuf.h index d79f3bd570b2..7673b83cfef7 100644 --- a/arch/sh/include/asm/sembuf.h +++ b/arch/sh/include/asm/sembuf.h | |||
@@ -1,25 +1 @@ | |||
1 | #ifndef __ASM_SH_SEMBUF_H | #include <asm-generic/sembuf.h> | |
2 | #define __ASM_SH_SEMBUF_H | ||
3 | |||
4 | /* | ||
5 | * The semid64_ds structure for i386 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 | |||
14 | struct 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 /* __ASM_SH_SEMBUF_H */ | ||
diff --git a/arch/sh/include/asm/serial.h b/arch/sh/include/asm/serial.h index 11f854dd1363..a0cb0caff152 100644 --- a/arch/sh/include/asm/serial.h +++ b/arch/sh/include/asm/serial.h | |||
@@ -1,19 +1 @@ | |||
1 | /* | #include <asm-generic/serial.h> | |
2 | * include/asm-sh/serial.h | ||
3 | * | ||
4 | * Configuration details for 8250, 16450, 16550, etc. serial ports | ||
5 | */ | ||
6 | |||
7 | #ifndef _ASM_SERIAL_H | ||
8 | #define _ASM_SERIAL_H | ||
9 | |||
10 | /* | ||
11 | * This assumes you have a 1.8432 MHz clock for your UART. | ||
12 | * | ||
13 | * It'd be nice if someone built a serial card with a 24.576 MHz | ||
14 | * clock, since the 16550A is capable of handling a top speed of 1.5 | ||
15 | * megabits/second; but this requires the faster clock. | ||
16 | */ | ||
17 | #define BASE_BAUD ( 1843200 / 16 ) | ||
18 | |||
19 | #endif /* _ASM_SERIAL_H */ | ||
diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h index d450bcf59ee2..ce3743599b27 100644 --- a/arch/sh/include/asm/setup.h +++ b/arch/sh/include/asm/setup.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _SH_SETUP_H | 1 | #ifndef _SH_SETUP_H |
2 | #define _SH_SETUP_H | 2 | #define _SH_SETUP_H |
3 | 3 | ||
4 | #define COMMAND_LINE_SIZE 256 | 4 | #include <asm-generic/setup.h> |
5 | 5 | ||
6 | #ifdef __KERNEL__ | 6 | #ifdef __KERNEL__ |
7 | /* | 7 | /* |
diff --git a/arch/sh/include/asm/shmbuf.h b/arch/sh/include/asm/shmbuf.h index b2101f490521..83c05fc2de38 100644 --- a/arch/sh/include/asm/shmbuf.h +++ b/arch/sh/include/asm/shmbuf.h | |||
@@ -1,42 +1 @@ | |||
1 | #ifndef __ASM_SH_SHMBUF_H | #include <asm-generic/shmbuf.h> | |
2 | #define __ASM_SH_SHMBUF_H | ||
3 | |||
4 | /* | ||
5 | * The shmid64_ds structure for i386 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 | |||
14 | struct 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 | |||
30 | struct 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 /* __ASM_SH_SHMBUF_H */ | ||
diff --git a/arch/sh/include/asm/signal.h b/arch/sh/include/asm/signal.h index 9cc5f0144689..9ac530a90bce 100644 --- a/arch/sh/include/asm/signal.h +++ b/arch/sh/include/asm/signal.h | |||
@@ -1,114 +1,10 @@ | |||
1 | #ifndef __ASM_SH_SIGNAL_H | 1 | #ifndef __ASM_SH_SIGNAL_H |
2 | #define __ASM_SH_SIGNAL_H | 2 | #define __ASM_SH_SIGNAL_H |
3 | 3 | ||
4 | #include <linux/types.h> | ||
5 | |||
6 | /* Avoid too many header ordering problems. */ | ||
7 | struct pt_regs; | ||
8 | struct siginfo; | ||
9 | |||
10 | #ifdef __KERNEL__ | ||
11 | /* Most things should be clean enough to redefine this at will, if care | ||
12 | is taken to make libc match. */ | ||
13 | |||
14 | #define _NSIG 64 | ||
15 | #define _NSIG_BPW 32 | ||
16 | #define _NSIG_WORDS (_NSIG / _NSIG_BPW) | ||
17 | |||
18 | typedef unsigned long old_sigset_t; /* at least 32 bits */ | ||
19 | |||
20 | typedef struct { | ||
21 | unsigned long sig[_NSIG_WORDS]; | ||
22 | } sigset_t; | ||
23 | |||
24 | #else | ||
25 | /* Here we must cater to libcs that poke about in kernel headers. */ | ||
26 | |||
27 | #define NSIG 32 | ||
28 | typedef unsigned long sigset_t; | ||
29 | |||
30 | #endif /* __KERNEL__ */ | ||
31 | |||
32 | #define SIGHUP 1 | ||
33 | #define SIGINT 2 | ||
34 | #define SIGQUIT 3 | ||
35 | #define SIGILL 4 | ||
36 | #define SIGTRAP 5 | ||
37 | #define SIGABRT 6 | ||
38 | #define SIGIOT 6 | ||
39 | #define SIGBUS 7 | ||
40 | #define SIGFPE 8 | ||
41 | #define SIGKILL 9 | ||
42 | #define SIGUSR1 10 | ||
43 | #define SIGSEGV 11 | ||
44 | #define SIGUSR2 12 | ||
45 | #define SIGPIPE 13 | ||
46 | #define SIGALRM 14 | ||
47 | #define SIGTERM 15 | ||
48 | #define SIGSTKFLT 16 | ||
49 | #define SIGCHLD 17 | ||
50 | #define SIGCONT 18 | ||
51 | #define SIGSTOP 19 | ||
52 | #define SIGTSTP 20 | ||
53 | #define SIGTTIN 21 | ||
54 | #define SIGTTOU 22 | ||
55 | #define SIGURG 23 | ||
56 | #define SIGXCPU 24 | ||
57 | #define SIGXFSZ 25 | ||
58 | #define SIGVTALRM 26 | ||
59 | #define SIGPROF 27 | ||
60 | #define SIGWINCH 28 | ||
61 | #define SIGIO 29 | ||
62 | #define SIGPOLL SIGIO | ||
63 | /* | ||
64 | #define SIGLOST 29 | ||
65 | */ | ||
66 | #define SIGPWR 30 | ||
67 | #define SIGSYS 31 | ||
68 | #define SIGUNUSED 31 | ||
69 | |||
70 | /* These should not be considered constants from userland. */ | ||
71 | #define SIGRTMIN 32 | ||
72 | #define SIGRTMAX _NSIG | ||
73 | |||
74 | /* | ||
75 | * SA_FLAGS values: | ||
76 | * | ||
77 | * SA_ONSTACK indicates that a registered stack_t will be used. | ||
78 | * SA_RESTART flag to get restarting signals (which were the default long ago) | ||
79 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. | ||
80 | * SA_RESETHAND clears the handler when the signal is delivered. | ||
81 | * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. | ||
82 | * SA_NODEFER prevents the current signal from being masked in the handler. | ||
83 | * | ||
84 | * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single | ||
85 | * Unix names RESETHAND and NODEFER respectively. | ||
86 | */ | ||
87 | #define SA_NOCLDSTOP 0x00000001 | ||
88 | #define SA_NOCLDWAIT 0x00000002 | ||
89 | #define SA_SIGINFO 0x00000004 | ||
90 | #define SA_ONSTACK 0x08000000 | ||
91 | #define SA_RESTART 0x10000000 | ||
92 | #define SA_NODEFER 0x40000000 | ||
93 | #define SA_RESETHAND 0x80000000 | ||
94 | |||
95 | #define SA_NOMASK SA_NODEFER | ||
96 | #define SA_ONESHOT SA_RESETHAND | ||
97 | |||
98 | #define SA_RESTORER 0x04000000 | 4 | #define SA_RESTORER 0x04000000 |
99 | 5 | ||
100 | /* | 6 | #include <asm-generic/signal.h> |
101 | * sigaltstack controls | ||
102 | */ | ||
103 | #define SS_ONSTACK 1 | ||
104 | #define SS_DISABLE 2 | ||
105 | |||
106 | #define MINSIGSTKSZ 2048 | ||
107 | #define SIGSTKSZ 8192 | ||
108 | 7 | ||
109 | #include <asm-generic/signal-defs.h> | ||
110 | |||
111 | #ifdef __KERNEL__ | ||
112 | struct old_sigaction { | 8 | struct old_sigaction { |
113 | __sighandler_t sa_handler; | 9 | __sighandler_t sa_handler; |
114 | old_sigset_t sa_mask; | 10 | old_sigset_t sa_mask; |
@@ -116,45 +12,4 @@ struct old_sigaction { | |||
116 | void (*sa_restorer)(void); | 12 | void (*sa_restorer)(void); |
117 | }; | 13 | }; |
118 | 14 | ||
119 | struct sigaction { | ||
120 | __sighandler_t sa_handler; | ||
121 | unsigned long sa_flags; | ||
122 | void (*sa_restorer)(void); | ||
123 | sigset_t sa_mask; /* mask last for extensibility */ | ||
124 | }; | ||
125 | |||
126 | struct k_sigaction { | ||
127 | struct sigaction sa; | ||
128 | }; | ||
129 | #else | ||
130 | /* Here we must cater to libcs that poke about in kernel headers. */ | ||
131 | |||
132 | struct sigaction { | ||
133 | union { | ||
134 | __sighandler_t _sa_handler; | ||
135 | void (*_sa_sigaction)(int, struct siginfo *, void *); | ||
136 | } _u; | ||
137 | sigset_t sa_mask; | ||
138 | unsigned long sa_flags; | ||
139 | void (*sa_restorer)(void); | ||
140 | }; | ||
141 | |||
142 | #define sa_handler _u._sa_handler | ||
143 | #define sa_sigaction _u._sa_sigaction | ||
144 | |||
145 | #endif /* __KERNEL__ */ | ||
146 | |||
147 | typedef struct sigaltstack { | ||
148 | void *ss_sp; | ||
149 | int ss_flags; | ||
150 | size_t ss_size; | ||
151 | } stack_t; | ||
152 | |||
153 | #ifdef __KERNEL__ | ||
154 | #include <asm/sigcontext.h> | ||
155 | |||
156 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) | ||
157 | |||
158 | #endif /* __KERNEL__ */ | ||
159 | |||
160 | #endif /* __ASM_SH_SIGNAL_H */ | 15 | #endif /* __ASM_SH_SIGNAL_H */ |
diff --git a/arch/sh/include/asm/smp.h b/arch/sh/include/asm/smp.h index c24e9c6a1736..ca64f43abe67 100644 --- a/arch/sh/include/asm/smp.h +++ b/arch/sh/include/asm/smp.h | |||
@@ -43,7 +43,8 @@ void plat_start_cpu(unsigned int cpu, unsigned long entry_point); | |||
43 | void plat_send_ipi(unsigned int cpu, unsigned int message); | 43 | void plat_send_ipi(unsigned int cpu, unsigned int message); |
44 | 44 | ||
45 | void arch_send_call_function_single_ipi(int cpu); | 45 | void arch_send_call_function_single_ipi(int cpu); |
46 | void arch_send_call_function_ipi(cpumask_t mask); | 46 | extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); |
47 | #define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask | ||
47 | 48 | ||
48 | #else | 49 | #else |
49 | 50 | ||
diff --git a/arch/sh/include/asm/socket.h b/arch/sh/include/asm/socket.h index 345653b96826..6b71384b9d8b 100644 --- a/arch/sh/include/asm/socket.h +++ b/arch/sh/include/asm/socket.h | |||
@@ -1,60 +1 @@ | |||
1 | #ifndef __ASM_SH_SOCKET_H | #include <asm-generic/socket.h> | |
2 | #define __ASM_SH_SOCKET_H | ||
3 | |||
4 | #include <asm/sockios.h> | ||
5 | |||
6 | /* For setsockopt(2) */ | ||
7 | #define SOL_SOCKET 1 | ||
8 | |||
9 | #define SO_DEBUG 1 | ||
10 | #define SO_REUSEADDR 2 | ||
11 | #define SO_TYPE 3 | ||
12 | #define SO_ERROR 4 | ||
13 | #define SO_DONTROUTE 5 | ||
14 | #define SO_BROADCAST 6 | ||
15 | #define SO_SNDBUF 7 | ||
16 | #define SO_RCVBUF 8 | ||
17 | #define SO_RCVBUFFORCE 32 | ||
18 | #define SO_SNDBUFFORCE 33 | ||
19 | #define SO_KEEPALIVE 9 | ||
20 | #define SO_OOBINLINE 10 | ||
21 | #define SO_NO_CHECK 11 | ||
22 | #define SO_PRIORITY 12 | ||
23 | #define SO_LINGER 13 | ||
24 | #define SO_BSDCOMPAT 14 | ||
25 | /* To add :#define SO_REUSEPORT 15 */ | ||
26 | #define SO_PASSCRED 16 | ||
27 | #define SO_PEERCRED 17 | ||
28 | #define SO_RCVLOWAT 18 | ||
29 | #define SO_SNDLOWAT 19 | ||
30 | #define SO_RCVTIMEO 20 | ||
31 | #define SO_SNDTIMEO 21 | ||
32 | |||
33 | /* Security levels - as per NRL IPv6 - don't actually do anything */ | ||
34 | #define SO_SECURITY_AUTHENTICATION 22 | ||
35 | #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 | ||
36 | #define SO_SECURITY_ENCRYPTION_NETWORK 24 | ||
37 | |||
38 | #define SO_BINDTODEVICE 25 | ||
39 | |||
40 | /* Socket filtering */ | ||
41 | #define SO_ATTACH_FILTER 26 | ||
42 | #define SO_DETACH_FILTER 27 | ||
43 | |||
44 | #define SO_PEERNAME 28 | ||
45 | #define SO_TIMESTAMP 29 | ||
46 | #define SCM_TIMESTAMP SO_TIMESTAMP | ||
47 | |||
48 | #define SO_ACCEPTCONN 30 | ||
49 | |||
50 | #define SO_PEERSEC 31 | ||
51 | #define SO_PASSSEC 34 | ||
52 | #define SO_TIMESTAMPNS 35 | ||
53 | #define SCM_TIMESTAMPNS SO_TIMESTAMPNS | ||
54 | |||
55 | #define SO_MARK 36 | ||
56 | |||
57 | #define SO_TIMESTAMPING 37 | ||
58 | #define SCM_TIMESTAMPING SO_TIMESTAMPING | ||
59 | |||
60 | #endif /* __ASM_SH_SOCKET_H */ | ||
diff --git a/arch/sh/include/asm/swab.h b/arch/sh/include/asm/swab.h index 0e08fe54ad71..1cd09767a7a3 100644 --- a/arch/sh/include/asm/swab.h +++ b/arch/sh/include/asm/swab.h | |||
@@ -7,8 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | #include <linux/compiler.h> | 8 | #include <linux/compiler.h> |
9 | #include <linux/types.h> | 9 | #include <linux/types.h> |
10 | 10 | #include <asm-generic/swab.h> | |
11 | #define __SWAB_64_THRU_32__ | ||
12 | 11 | ||
13 | static inline __attribute_const__ __u32 __arch_swab32(__u32 x) | 12 | static inline __attribute_const__ __u32 __arch_swab32(__u32 x) |
14 | { | 13 | { |
diff --git a/arch/sh/include/asm/termbits.h b/arch/sh/include/asm/termbits.h index 77db116948cf..3935b106de79 100644 --- a/arch/sh/include/asm/termbits.h +++ b/arch/sh/include/asm/termbits.h | |||
@@ -1,198 +1 @@ | |||
1 | #ifndef __ASM_SH_TERMBITS_H | #include <asm-generic/termbits.h> | |
2 | #define __ASM_SH_TERMBITS_H | ||
3 | |||
4 | #include <linux/posix_types.h> | ||
5 | |||
6 | typedef unsigned char cc_t; | ||
7 | typedef unsigned int speed_t; | ||
8 | typedef unsigned int tcflag_t; | ||
9 | |||
10 | #define NCCS 19 | ||
11 | struct termios { | ||
12 | tcflag_t c_iflag; /* input mode flags */ | ||
13 | tcflag_t c_oflag; /* output mode flags */ | ||
14 | tcflag_t c_cflag; /* control mode flags */ | ||
15 | tcflag_t c_lflag; /* local mode flags */ | ||
16 | cc_t c_line; /* line discipline */ | ||
17 | cc_t c_cc[NCCS]; /* control characters */ | ||
18 | }; | ||
19 | |||
20 | struct termios2 { | ||
21 | tcflag_t c_iflag; /* input mode flags */ | ||
22 | tcflag_t c_oflag; /* output mode flags */ | ||
23 | tcflag_t c_cflag; /* control mode flags */ | ||
24 | tcflag_t c_lflag; /* local mode flags */ | ||
25 | cc_t c_line; /* line discipline */ | ||
26 | cc_t c_cc[NCCS]; /* control characters */ | ||
27 | speed_t c_ispeed; /* input speed */ | ||
28 | speed_t c_ospeed; /* output speed */ | ||
29 | }; | ||
30 | |||
31 | struct ktermios { | ||
32 | tcflag_t c_iflag; /* input mode flags */ | ||
33 | tcflag_t c_oflag; /* output mode flags */ | ||
34 | tcflag_t c_cflag; /* control mode flags */ | ||
35 | tcflag_t c_lflag; /* local mode flags */ | ||
36 | cc_t c_line; /* line discipline */ | ||
37 | cc_t c_cc[NCCS]; /* control characters */ | ||
38 | speed_t c_ispeed; /* input speed */ | ||
39 | speed_t c_ospeed; /* output speed */ | ||
40 | }; | ||
41 | |||
42 | /* c_cc characters */ | ||
43 | #define VINTR 0 | ||
44 | #define VQUIT 1 | ||
45 | #define VERASE 2 | ||
46 | #define VKILL 3 | ||
47 | #define VEOF 4 | ||
48 | #define VTIME 5 | ||
49 | #define VMIN 6 | ||
50 | #define VSWTC 7 | ||
51 | #define VSTART 8 | ||
52 | #define VSTOP 9 | ||
53 | #define VSUSP 10 | ||
54 | #define VEOL 11 | ||
55 | #define VREPRINT 12 | ||
56 | #define VDISCARD 13 | ||
57 | #define VWERASE 14 | ||
58 | #define VLNEXT 15 | ||
59 | #define VEOL2 16 | ||
60 | |||
61 | /* c_iflag bits */ | ||
62 | #define IGNBRK 0000001 | ||
63 | #define BRKINT 0000002 | ||
64 | #define IGNPAR 0000004 | ||
65 | #define PARMRK 0000010 | ||
66 | #define INPCK 0000020 | ||
67 | #define ISTRIP 0000040 | ||
68 | #define INLCR 0000100 | ||
69 | #define IGNCR 0000200 | ||
70 | #define ICRNL 0000400 | ||
71 | #define IUCLC 0001000 | ||
72 | #define IXON 0002000 | ||
73 | #define IXANY 0004000 | ||
74 | #define IXOFF 0010000 | ||
75 | #define IMAXBEL 0020000 | ||
76 | #define IUTF8 0040000 | ||
77 | |||
78 | /* c_oflag bits */ | ||
79 | #define OPOST 0000001 | ||
80 | #define OLCUC 0000002 | ||
81 | #define ONLCR 0000004 | ||
82 | #define OCRNL 0000010 | ||
83 | #define ONOCR 0000020 | ||
84 | #define ONLRET 0000040 | ||
85 | #define OFILL 0000100 | ||
86 | #define OFDEL 0000200 | ||
87 | #define NLDLY 0000400 | ||
88 | #define NL0 0000000 | ||
89 | #define NL1 0000400 | ||
90 | #define CRDLY 0003000 | ||
91 | #define CR0 0000000 | ||
92 | #define CR1 0001000 | ||
93 | #define CR2 0002000 | ||
94 | #define CR3 0003000 | ||
95 | #define TABDLY 0014000 | ||
96 | #define TAB0 0000000 | ||
97 | #define TAB1 0004000 | ||
98 | #define TAB2 0010000 | ||
99 | #define TAB3 0014000 | ||
100 | #define XTABS 0014000 | ||
101 | #define BSDLY 0020000 | ||
102 | #define BS0 0000000 | ||
103 | #define BS1 0020000 | ||
104 | #define VTDLY 0040000 | ||
105 | #define VT0 0000000 | ||
106 | #define VT1 0040000 | ||
107 | #define FFDLY 0100000 | ||
108 | #define FF0 0000000 | ||
109 | #define FF1 0100000 | ||
110 | |||
111 | /* c_cflag bit meaning */ | ||
112 | #define CBAUD 0010017 | ||
113 | #define B0 0000000 /* hang up */ | ||
114 | #define B50 0000001 | ||
115 | #define B75 0000002 | ||
116 | #define B110 0000003 | ||
117 | #define B134 0000004 | ||
118 | #define B150 0000005 | ||
119 | #define B200 0000006 | ||
120 | #define B300 0000007 | ||
121 | #define B600 0000010 | ||
122 | #define B1200 0000011 | ||
123 | #define B1800 0000012 | ||
124 | #define B2400 0000013 | ||
125 | #define B4800 0000014 | ||
126 | #define B9600 0000015 | ||
127 | #define B19200 0000016 | ||
128 | #define B38400 0000017 | ||
129 | #define EXTA B19200 | ||
130 | #define EXTB B38400 | ||
131 | #define CSIZE 0000060 | ||
132 | #define CS5 0000000 | ||
133 | #define CS6 0000020 | ||
134 | #define CS7 0000040 | ||
135 | #define CS8 0000060 | ||
136 | #define CSTOPB 0000100 | ||
137 | #define CREAD 0000200 | ||
138 | #define PARENB 0000400 | ||
139 | #define PARODD 0001000 | ||
140 | #define HUPCL 0002000 | ||
141 | #define CLOCAL 0004000 | ||
142 | #define CBAUDEX 0010000 | ||
143 | #define BOTHER 0010000 | ||
144 | #define B57600 0010001 | ||
145 | #define B115200 0010002 | ||
146 | #define B230400 0010003 | ||
147 | #define B460800 0010004 | ||
148 | #define B500000 0010005 | ||
149 | #define B576000 0010006 | ||
150 | #define B921600 0010007 | ||
151 | #define B1000000 0010010 | ||
152 | #define B1152000 0010011 | ||
153 | #define B1500000 0010012 | ||
154 | #define B2000000 0010013 | ||
155 | #define B2500000 0010014 | ||
156 | #define B3000000 0010015 | ||
157 | #define B3500000 0010016 | ||
158 | #define B4000000 0010017 | ||
159 | #define CIBAUD 002003600000 /* input baud rate */ | ||
160 | #define CMSPAR 010000000000 /* mark or space (stick) parity */ | ||
161 | #define CRTSCTS 020000000000 /* flow control */ | ||
162 | |||
163 | #define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ | ||
164 | |||
165 | /* c_lflag bits */ | ||
166 | #define ISIG 0000001 | ||
167 | #define ICANON 0000002 | ||
168 | #define XCASE 0000004 | ||
169 | #define ECHO 0000010 | ||
170 | #define ECHOE 0000020 | ||
171 | #define ECHOK 0000040 | ||
172 | #define ECHONL 0000100 | ||
173 | #define NOFLSH 0000200 | ||
174 | #define TOSTOP 0000400 | ||
175 | #define ECHOCTL 0001000 | ||
176 | #define ECHOPRT 0002000 | ||
177 | #define ECHOKE 0004000 | ||
178 | #define FLUSHO 0010000 | ||
179 | #define PENDIN 0040000 | ||
180 | #define IEXTEN 0100000 | ||
181 | |||
182 | /* tcflow() and TCXONC use these */ | ||
183 | #define TCOOFF 0 | ||
184 | #define TCOON 1 | ||
185 | #define TCIOFF 2 | ||
186 | #define TCION 3 | ||
187 | |||
188 | /* tcflush() and TCFLSH use these */ | ||
189 | #define TCIFLUSH 0 | ||
190 | #define TCOFLUSH 1 | ||
191 | #define TCIOFLUSH 2 | ||
192 | |||
193 | /* tcsetattr uses these */ | ||
194 | #define TCSANOW 0 | ||
195 | #define TCSADRAIN 1 | ||
196 | #define TCSAFLUSH 2 | ||
197 | |||
198 | #endif /* __ASM_SH_TERMBITS_H */ | ||
diff --git a/arch/sh/include/asm/termios.h b/arch/sh/include/asm/termios.h index 0a8c793c76f2..280d78a9d966 100644 --- a/arch/sh/include/asm/termios.h +++ b/arch/sh/include/asm/termios.h | |||
@@ -1,90 +1 @@ | |||
1 | #ifndef __ASM_SH_TERMIOS_H | #include <asm-generic/termios.h> | |
2 | #define __ASM_SH_TERMIOS_H | ||
3 | |||
4 | #include <asm/termbits.h> | ||
5 | #include <asm/ioctls.h> | ||
6 | |||
7 | struct winsize { | ||
8 | unsigned short ws_row; | ||
9 | unsigned short ws_col; | ||
10 | unsigned short ws_xpixel; | ||
11 | unsigned short ws_ypixel; | ||
12 | }; | ||
13 | |||
14 | #define NCC 8 | ||
15 | struct termio { | ||
16 | unsigned short c_iflag; /* input mode flags */ | ||
17 | unsigned short c_oflag; /* output mode flags */ | ||
18 | unsigned short c_cflag; /* control mode flags */ | ||
19 | unsigned short c_lflag; /* local mode flags */ | ||
20 | unsigned char c_line; /* line discipline */ | ||
21 | unsigned char c_cc[NCC]; /* control characters */ | ||
22 | }; | ||
23 | |||
24 | /* modem lines */ | ||
25 | #define TIOCM_LE 0x001 | ||
26 | #define TIOCM_DTR 0x002 | ||
27 | #define TIOCM_RTS 0x004 | ||
28 | #define TIOCM_ST 0x008 | ||
29 | #define TIOCM_SR 0x010 | ||
30 | #define TIOCM_CTS 0x020 | ||
31 | #define TIOCM_CAR 0x040 | ||
32 | #define TIOCM_RNG 0x080 | ||
33 | #define TIOCM_DSR 0x100 | ||
34 | #define TIOCM_CD TIOCM_CAR | ||
35 | #define TIOCM_RI TIOCM_RNG | ||
36 | #define TIOCM_OUT1 0x2000 | ||
37 | #define TIOCM_OUT2 0x4000 | ||
38 | #define TIOCM_LOOP 0x8000 | ||
39 | |||
40 | /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ | ||
41 | |||
42 | #ifdef __KERNEL__ | ||
43 | |||
44 | /* intr=^C quit=^\ erase=del kill=^U | ||
45 | eof=^D vtime=\0 vmin=\1 sxtc=\0 | ||
46 | start=^Q stop=^S susp=^Z eol=\0 | ||
47 | reprint=^R discard=^U werase=^W lnext=^V | ||
48 | eol2=\0 | ||
49 | */ | ||
50 | #define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" | ||
51 | |||
52 | /* | ||
53 | * Translate a "termio" structure into a "termios". Ugh. | ||
54 | */ | ||
55 | #define SET_LOW_TERMIOS_BITS(termios, termio, x) { \ | ||
56 | unsigned short __tmp; \ | ||
57 | get_user(__tmp,&(termio)->x); \ | ||
58 | *(unsigned short *) &(termios)->x = __tmp; \ | ||
59 | } | ||
60 | |||
61 | #define user_termio_to_kernel_termios(termios, termio) \ | ||
62 | ({ \ | ||
63 | SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \ | ||
64 | SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \ | ||
65 | SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \ | ||
66 | SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \ | ||
67 | copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \ | ||
68 | }) | ||
69 | |||
70 | /* | ||
71 | * Translate a "termios" structure into a "termio". Ugh. | ||
72 | */ | ||
73 | #define kernel_termios_to_user_termio(termio, termios) \ | ||
74 | ({ \ | ||
75 | put_user((termios)->c_iflag, &(termio)->c_iflag); \ | ||
76 | put_user((termios)->c_oflag, &(termio)->c_oflag); \ | ||
77 | put_user((termios)->c_cflag, &(termio)->c_cflag); \ | ||
78 | put_user((termios)->c_lflag, &(termio)->c_lflag); \ | ||
79 | put_user((termios)->c_line, &(termio)->c_line); \ | ||
80 | copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ | ||
81 | }) | ||
82 | |||
83 | #define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2)) | ||
84 | #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2)) | ||
85 | #define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios)) | ||
86 | #define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios)) | ||
87 | |||
88 | #endif /* __KERNEL__ */ | ||
89 | |||
90 | #endif /* __ASM_SH_TERMIOS_H */ | ||
diff --git a/arch/sh/include/asm/timex.h b/arch/sh/include/asm/timex.h index a873e24113cf..b556d49e5f2b 100644 --- a/arch/sh/include/asm/timex.h +++ b/arch/sh/include/asm/timex.h | |||
@@ -8,11 +8,6 @@ | |||
8 | 8 | ||
9 | #define CLOCK_TICK_RATE (CONFIG_SH_PCLK_FREQ / 4) /* Underlying HZ */ | 9 | #define CLOCK_TICK_RATE (CONFIG_SH_PCLK_FREQ / 4) /* Underlying HZ */ |
10 | 10 | ||
11 | typedef unsigned long long cycles_t; | 11 | #include <asm-generic/timex.h> |
12 | |||
13 | static __inline__ cycles_t get_cycles (void) | ||
14 | { | ||
15 | return 0; | ||
16 | } | ||
17 | 12 | ||
18 | #endif /* __ASM_SH_TIMEX_H */ | 13 | #endif /* __ASM_SH_TIMEX_H */ |
diff --git a/arch/sh/include/asm/topology.h b/arch/sh/include/asm/topology.h index 8489a0905a87..b69ee850906d 100644 --- a/arch/sh/include/asm/topology.h +++ b/arch/sh/include/asm/topology.h | |||
@@ -35,9 +35,6 @@ | |||
35 | #define cpumask_of_node(node) ((void)node, cpu_online_mask) | 35 | #define cpumask_of_node(node) ((void)node, cpu_online_mask) |
36 | 36 | ||
37 | #define pcibus_to_node(bus) ((void)(bus), -1) | 37 | #define pcibus_to_node(bus) ((void)(bus), -1) |
38 | #define pcibus_to_cpumask(bus) (pcibus_to_node(bus) == -1 ? \ | ||
39 | CPU_MASK_ALL : \ | ||
40 | node_to_cpumask(pcibus_to_node(bus))) | ||
41 | #define cpumask_of_pcibus(bus) (pcibus_to_node(bus) == -1 ? \ | 38 | #define cpumask_of_pcibus(bus) (pcibus_to_node(bus) == -1 ? \ |
42 | CPU_MASK_ALL_PTR : \ | 39 | CPU_MASK_ALL_PTR : \ |
43 | cpumask_of_node(pcibus_to_node(bus))) | 40 | cpumask_of_node(pcibus_to_node(bus))) |
diff --git a/arch/sh/include/asm/types.h b/arch/sh/include/asm/types.h index b13caca62a76..c7f3c94837dd 100644 --- a/arch/sh/include/asm/types.h +++ b/arch/sh/include/asm/types.h | |||
@@ -1,27 +1,14 @@ | |||
1 | #ifndef __ASM_SH_TYPES_H | 1 | #ifndef __ASM_SH_TYPES_H |
2 | #define __ASM_SH_TYPES_H | 2 | #define __ASM_SH_TYPES_H |
3 | 3 | ||
4 | #include <asm-generic/int-ll64.h> | 4 | #include <asm-generic/types.h> |
5 | |||
6 | #ifndef __ASSEMBLY__ | ||
7 | |||
8 | typedef unsigned short umode_t; | ||
9 | |||
10 | #endif /* __ASSEMBLY__ */ | ||
11 | 5 | ||
12 | /* | 6 | /* |
13 | * These aren't exported outside the kernel to avoid name space clashes | 7 | * These aren't exported outside the kernel to avoid name space clashes |
14 | */ | 8 | */ |
15 | #ifdef __KERNEL__ | 9 | #ifdef __KERNEL__ |
16 | |||
17 | #define BITS_PER_LONG 32 | ||
18 | |||
19 | #ifndef __ASSEMBLY__ | 10 | #ifndef __ASSEMBLY__ |
20 | 11 | ||
21 | /* Dma addresses are 32-bits wide. */ | ||
22 | |||
23 | typedef u32 dma_addr_t; | ||
24 | |||
25 | #ifdef CONFIG_SUPERH32 | 12 | #ifdef CONFIG_SUPERH32 |
26 | typedef u16 insn_size_t; | 13 | typedef u16 insn_size_t; |
27 | #else | 14 | #else |
@@ -29,7 +16,6 @@ typedef u32 insn_size_t; | |||
29 | #endif | 16 | #endif |
30 | 17 | ||
31 | #endif /* __ASSEMBLY__ */ | 18 | #endif /* __ASSEMBLY__ */ |
32 | |||
33 | #endif /* __KERNEL__ */ | 19 | #endif /* __KERNEL__ */ |
34 | 20 | ||
35 | #endif /* __ASM_SH_TYPES_H */ | 21 | #endif /* __ASM_SH_TYPES_H */ |
diff --git a/arch/sh/include/asm/ucontext.h b/arch/sh/include/asm/ucontext.h index 202ef1d5a3c4..9bc07b9f30fb 100644 --- a/arch/sh/include/asm/ucontext.h +++ b/arch/sh/include/asm/ucontext.h | |||
@@ -1,12 +1 @@ | |||
1 | #ifndef __ASM_SH_UCONTEXT_H | #include <asm-generic/ucontext.h> | |
2 | #define __ASM_SH_UCONTEXT_H | ||
3 | |||
4 | struct ucontext { | ||
5 | unsigned long uc_flags; | ||
6 | struct ucontext *uc_link; | ||
7 | stack_t uc_stack; | ||
8 | struct sigcontext uc_mcontext; | ||
9 | sigset_t uc_sigmask; /* mask last for extensibility */ | ||
10 | }; | ||
11 | |||
12 | #endif /* __ASM_SH_UCONTEXT_H */ | ||
diff --git a/arch/sh/include/asm/unaligned.h b/arch/sh/include/asm/unaligned.h index 8c0ad5e4487a..7d14e0669961 100644 --- a/arch/sh/include/asm/unaligned.h +++ b/arch/sh/include/asm/unaligned.h | |||
@@ -6,19 +6,7 @@ | |||
6 | #include <asm/unaligned-sh4a.h> | 6 | #include <asm/unaligned-sh4a.h> |
7 | #else | 7 | #else |
8 | /* Otherwise, SH can't handle unaligned accesses. */ | 8 | /* Otherwise, SH can't handle unaligned accesses. */ |
9 | #ifdef __LITTLE_ENDIAN__ | 9 | #include <asm-generic/unaligned.h> |
10 | # include <linux/unaligned/le_struct.h> | ||
11 | # include <linux/unaligned/be_byteshift.h> | ||
12 | # include <linux/unaligned/generic.h> | ||
13 | # define get_unaligned __get_unaligned_le | ||
14 | # define put_unaligned __put_unaligned_le | ||
15 | #else | ||
16 | # include <linux/unaligned/be_struct.h> | ||
17 | # include <linux/unaligned/le_byteshift.h> | ||
18 | # include <linux/unaligned/generic.h> | ||
19 | # define get_unaligned __get_unaligned_be | ||
20 | # define put_unaligned __put_unaligned_be | ||
21 | #endif | ||
22 | #endif | 10 | #endif |
23 | 11 | ||
24 | #endif /* _ASM_SH_UNALIGNED_H */ | 12 | #endif /* _ASM_SH_UNALIGNED_H */ |
diff --git a/arch/sh/include/asm/unistd_32.h b/arch/sh/include/asm/unistd_32.h index 65197086a1c5..61d6ad93d786 100644 --- a/arch/sh/include/asm/unistd_32.h +++ b/arch/sh/include/asm/unistd_32.h | |||
@@ -344,8 +344,9 @@ | |||
344 | #define __NR_preadv 333 | 344 | #define __NR_preadv 333 |
345 | #define __NR_pwritev 334 | 345 | #define __NR_pwritev 334 |
346 | #define __NR_rt_tgsigqueueinfo 335 | 346 | #define __NR_rt_tgsigqueueinfo 335 |
347 | #define __NR_perf_counter_open 336 | ||
347 | 348 | ||
348 | #define NR_syscalls 336 | 349 | #define NR_syscalls 337 |
349 | 350 | ||
350 | #ifdef __KERNEL__ | 351 | #ifdef __KERNEL__ |
351 | 352 | ||
diff --git a/arch/sh/include/asm/unistd_64.h b/arch/sh/include/asm/unistd_64.h index 8014aea88ec3..a751699afda3 100644 --- a/arch/sh/include/asm/unistd_64.h +++ b/arch/sh/include/asm/unistd_64.h | |||
@@ -384,10 +384,11 @@ | |||
384 | #define __NR_preadv 361 | 384 | #define __NR_preadv 361 |
385 | #define __NR_pwritev 362 | 385 | #define __NR_pwritev 362 |
386 | #define __NR_rt_tgsigqueueinfo 363 | 386 | #define __NR_rt_tgsigqueueinfo 363 |
387 | #define __NR_perf_counter_open 364 | ||
387 | 388 | ||
388 | #ifdef __KERNEL__ | 389 | #ifdef __KERNEL__ |
389 | 390 | ||
390 | #define NR_syscalls 364 | 391 | #define NR_syscalls 365 |
391 | 392 | ||
392 | #define __ARCH_WANT_IPC_PARSE_VERSION | 393 | #define __ARCH_WANT_IPC_PARSE_VERSION |
393 | #define __ARCH_WANT_OLD_READDIR | 394 | #define __ARCH_WANT_OLD_READDIR |
diff --git a/arch/sh/include/mach-common/mach/highlander.h b/arch/sh/include/mach-common/mach/highlander.h index bd26a848cb0b..5d9d4d5154be 100644 --- a/arch/sh/include/mach-common/mach/highlander.h +++ b/arch/sh/include/mach-common/mach/highlander.h | |||
@@ -2,6 +2,9 @@ | |||
2 | #define __ASM_SH_RENESAS_R7780RP_H | 2 | #define __ASM_SH_RENESAS_R7780RP_H |
3 | 3 | ||
4 | /* Box specific addresses. */ | 4 | /* Box specific addresses. */ |
5 | #define PA_NORFLASH_ADDR 0x00000000 | ||
6 | #define PA_NORFLASH_SIZE 0x04000000 | ||
7 | |||
5 | #if defined(CONFIG_SH_R7780MP) | 8 | #if defined(CONFIG_SH_R7780MP) |
6 | #define PA_BCR 0xa4000000 /* FPGA */ | 9 | #define PA_BCR 0xa4000000 /* FPGA */ |
7 | #define PA_SDPOW (-1) | 10 | #define PA_SDPOW (-1) |