diff options
Diffstat (limited to 'arch/frv')
-rw-r--r-- | arch/frv/include/asm/scatterlist.h | 40 | ||||
-rw-r--r-- | arch/frv/kernel/ptrace.c | 20 | ||||
-rw-r--r-- | arch/frv/kernel/sysctl.c | 18 |
3 files changed, 11 insertions, 67 deletions
diff --git a/arch/frv/include/asm/scatterlist.h b/arch/frv/include/asm/scatterlist.h index 4bca8a28546c..1614bfd7e3a4 100644 --- a/arch/frv/include/asm/scatterlist.h +++ b/arch/frv/include/asm/scatterlist.h | |||
@@ -1,45 +1,7 @@ | |||
1 | #ifndef _ASM_SCATTERLIST_H | 1 | #ifndef _ASM_SCATTERLIST_H |
2 | #define _ASM_SCATTERLIST_H | 2 | #define _ASM_SCATTERLIST_H |
3 | 3 | ||
4 | #include <asm/types.h> | 4 | #include <asm-generic/scatterlist.h> |
5 | |||
6 | /* | ||
7 | * Drivers must set either ->address or (preferred) page and ->offset | ||
8 | * to indicate where data must be transferred to/from. | ||
9 | * | ||
10 | * Using page is recommended since it handles highmem data as well as | ||
11 | * low mem. ->address is restricted to data which has a virtual mapping, and | ||
12 | * it will go away in the future. Updating to page can be automated very | ||
13 | * easily -- something like | ||
14 | * | ||
15 | * sg->address = some_ptr; | ||
16 | * | ||
17 | * can be rewritten as | ||
18 | * | ||
19 | * sg_set_buf(sg, some_ptr, length); | ||
20 | * | ||
21 | * and that's it. There's no excuse for not highmem enabling YOUR driver. /jens | ||
22 | */ | ||
23 | struct scatterlist { | ||
24 | #ifdef CONFIG_DEBUG_SG | ||
25 | unsigned long sg_magic; | ||
26 | #endif | ||
27 | unsigned long page_link; | ||
28 | unsigned int offset; /* for highmem, page offset */ | ||
29 | |||
30 | dma_addr_t dma_address; | ||
31 | unsigned int length; | ||
32 | }; | ||
33 | |||
34 | /* | ||
35 | * These macros should be used after a pci_map_sg call has been done | ||
36 | * to get bus addresses of each of the SG entries and their lengths. | ||
37 | * You should only work with the number of sg entries pci_map_sg | ||
38 | * returns, or alternatively stop on the first sg_dma_len(sg) which | ||
39 | * is 0. | ||
40 | */ | ||
41 | #define sg_dma_address(sg) ((sg)->dma_address) | ||
42 | #define sg_dma_len(sg) ((sg)->length) | ||
43 | 5 | ||
44 | #define ISA_DMA_THRESHOLD (0xffffffffUL) | 6 | #define ISA_DMA_THRESHOLD (0xffffffffUL) |
45 | 7 | ||
diff --git a/arch/frv/kernel/ptrace.c b/arch/frv/kernel/ptrace.c index 60eeed3694c0..fac028936a04 100644 --- a/arch/frv/kernel/ptrace.c +++ b/arch/frv/kernel/ptrace.c | |||
@@ -344,26 +344,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
344 | 0, sizeof(child->thread.user->f), | 344 | 0, sizeof(child->thread.user->f), |
345 | (const void __user *)data); | 345 | (const void __user *)data); |
346 | 346 | ||
347 | case PTRACE_GETFDPIC: | ||
348 | tmp = 0; | ||
349 | switch (addr) { | ||
350 | case PTRACE_GETFDPIC_EXEC: | ||
351 | tmp = child->mm->context.exec_fdpic_loadmap; | ||
352 | break; | ||
353 | case PTRACE_GETFDPIC_INTERP: | ||
354 | tmp = child->mm->context.interp_fdpic_loadmap; | ||
355 | break; | ||
356 | default: | ||
357 | break; | ||
358 | } | ||
359 | |||
360 | ret = 0; | ||
361 | if (put_user(tmp, (unsigned long *) data)) { | ||
362 | ret = -EFAULT; | ||
363 | break; | ||
364 | } | ||
365 | break; | ||
366 | |||
367 | default: | 347 | default: |
368 | ret = ptrace_request(child, request, addr, data); | 348 | ret = ptrace_request(child, request, addr, data); |
369 | break; | 349 | break; |
diff --git a/arch/frv/kernel/sysctl.c b/arch/frv/kernel/sysctl.c index 71abd1510a59..6c155d69da29 100644 --- a/arch/frv/kernel/sysctl.c +++ b/arch/frv/kernel/sysctl.c | |||
@@ -46,8 +46,9 @@ static void frv_change_dcache_mode(unsigned long newmode) | |||
46 | /* | 46 | /* |
47 | * handle requests to dynamically switch the write caching mode delivered by /proc | 47 | * handle requests to dynamically switch the write caching mode delivered by /proc |
48 | */ | 48 | */ |
49 | static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp, | 49 | static int procctl_frv_cachemode(ctl_table *table, int write, |
50 | void __user *buffer, size_t *lenp, loff_t *ppos) | 50 | void __user *buffer, size_t *lenp, |
51 | loff_t *ppos) | ||
51 | { | 52 | { |
52 | unsigned long hsr0; | 53 | unsigned long hsr0; |
53 | char buff[8]; | 54 | char buff[8]; |
@@ -84,7 +85,7 @@ static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp, | |||
84 | } | 85 | } |
85 | 86 | ||
86 | /* read the state */ | 87 | /* read the state */ |
87 | if (filp->f_pos > 0) { | 88 | if (*ppos > 0) { |
88 | *lenp = 0; | 89 | *lenp = 0; |
89 | return 0; | 90 | return 0; |
90 | } | 91 | } |
@@ -110,7 +111,7 @@ static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp, | |||
110 | return -EFAULT; | 111 | return -EFAULT; |
111 | 112 | ||
112 | *lenp = len; | 113 | *lenp = len; |
113 | filp->f_pos = len; | 114 | *ppos = len; |
114 | return 0; | 115 | return 0; |
115 | 116 | ||
116 | } /* end procctl_frv_cachemode() */ | 117 | } /* end procctl_frv_cachemode() */ |
@@ -120,8 +121,9 @@ static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp, | |||
120 | * permit the mm_struct the nominated process is using have its MMU context ID pinned | 121 | * permit the mm_struct the nominated process is using have its MMU context ID pinned |
121 | */ | 122 | */ |
122 | #ifdef CONFIG_MMU | 123 | #ifdef CONFIG_MMU |
123 | static int procctl_frv_pin_cxnr(ctl_table *table, int write, struct file *filp, | 124 | static int procctl_frv_pin_cxnr(ctl_table *table, int write, |
124 | void __user *buffer, size_t *lenp, loff_t *ppos) | 125 | void __user *buffer, size_t *lenp, |
126 | loff_t *ppos) | ||
125 | { | 127 | { |
126 | pid_t pid; | 128 | pid_t pid; |
127 | char buff[16], *p; | 129 | char buff[16], *p; |
@@ -150,7 +152,7 @@ static int procctl_frv_pin_cxnr(ctl_table *table, int write, struct file *filp, | |||
150 | } | 152 | } |
151 | 153 | ||
152 | /* read the currently pinned CXN */ | 154 | /* read the currently pinned CXN */ |
153 | if (filp->f_pos > 0) { | 155 | if (*ppos > 0) { |
154 | *lenp = 0; | 156 | *lenp = 0; |
155 | return 0; | 157 | return 0; |
156 | } | 158 | } |
@@ -163,7 +165,7 @@ static int procctl_frv_pin_cxnr(ctl_table *table, int write, struct file *filp, | |||
163 | return -EFAULT; | 165 | return -EFAULT; |
164 | 166 | ||
165 | *lenp = len; | 167 | *lenp = len; |
166 | filp->f_pos = len; | 168 | *ppos = len; |
167 | return 0; | 169 | return 0; |
168 | 170 | ||
169 | } /* end procctl_frv_pin_cxnr() */ | 171 | } /* end procctl_frv_pin_cxnr() */ |