aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r--arch/blackfin/kernel/asm-offsets.c27
-rw-r--r--arch/blackfin/kernel/bfin_dma_5xx.c10
-rw-r--r--arch/blackfin/kernel/bfin_gpio.c27
-rw-r--r--arch/blackfin/kernel/cplb-mpu/cplbinit.c22
-rw-r--r--arch/blackfin/kernel/cplb-mpu/cplbmgr.c19
-rw-r--r--arch/blackfin/kernel/cplb-nompu/cplbinit.c19
-rw-r--r--arch/blackfin/kernel/cplb-nompu/cplbmgr.c16
-rw-r--r--arch/blackfin/kernel/cplbinfo.c26
-rw-r--r--arch/blackfin/kernel/dma-mapping.c27
-rw-r--r--arch/blackfin/kernel/early_printk.c23
-rw-r--r--arch/blackfin/kernel/entry.S27
-rw-r--r--arch/blackfin/kernel/fixed_code.S5
-rw-r--r--arch/blackfin/kernel/flat.c18
-rw-r--r--arch/blackfin/kernel/init_task.c27
-rw-r--r--arch/blackfin/kernel/irqchip.c27
-rw-r--r--arch/blackfin/kernel/module.c27
-rw-r--r--arch/blackfin/kernel/process.c29
-rw-r--r--arch/blackfin/kernel/ptrace.c30
-rw-r--r--arch/blackfin/kernel/setup.c6
-rw-r--r--arch/blackfin/kernel/shadow_console.c2
-rw-r--r--arch/blackfin/kernel/signal.c27
-rw-r--r--arch/blackfin/kernel/sys_bfin.c41
-rw-r--r--arch/blackfin/kernel/time-ts.c10
-rw-r--r--arch/blackfin/kernel/time.c64
-rw-r--r--arch/blackfin/kernel/traps.c27
-rw-r--r--arch/blackfin/kernel/vmlinux.lds.S27
26 files changed, 99 insertions, 511 deletions
diff --git a/arch/blackfin/kernel/asm-offsets.c b/arch/blackfin/kernel/asm-offsets.c
index f05d1b99b0ef..bd32c09b9349 100644
--- a/arch/blackfin/kernel/asm-offsets.c
+++ b/arch/blackfin/kernel/asm-offsets.c
@@ -1,30 +1,9 @@
1/* 1/*
2 * File: arch/blackfin/kernel/asm-offsets.c 2 * generate definitions needed by assembly language modules
3 * Based on:
4 * Author:
5 * 3 *
6 * Created: 4 * Copyright 2004-2009 Analog Devices Inc.
7 * Description: generate definitions needed by assembly language modules.
8 * 5 *
9 * Modified: 6 * Licensed under the GPL-2 or later
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 7 */
29 8
30#include <linux/stddef.h> 9#include <linux/stddef.h>
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c
index 384868dedac3..3946aff4f414 100644
--- a/arch/blackfin/kernel/bfin_dma_5xx.c
+++ b/arch/blackfin/kernel/bfin_dma_5xx.c
@@ -2,6 +2,7 @@
2 * bfin_dma_5xx.c - Blackfin DMA implementation 2 * bfin_dma_5xx.c - Blackfin DMA implementation
3 * 3 *
4 * Copyright 2004-2008 Analog Devices Inc. 4 * Copyright 2004-2008 Analog Devices Inc.
5 *
5 * Licensed under the GPL-2 or later. 6 * Licensed under the GPL-2 or later.
6 */ 7 */
7 8
@@ -224,8 +225,13 @@ int blackfin_dma_suspend(void)
224void blackfin_dma_resume(void) 225void blackfin_dma_resume(void)
225{ 226{
226 int i; 227 int i;
227 for (i = 0; i < MAX_DMA_SUSPEND_CHANNELS; ++i) 228
228 dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map; 229 for (i = 0; i < MAX_DMA_CHANNELS; ++i) {
230 dma_ch[i].regs->cfg = 0;
231
232 if (i < MAX_DMA_SUSPEND_CHANNELS)
233 dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map;
234 }
229} 235}
230#endif 236#endif
231 237
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c
index fc4681c0170e..22705eeff34f 100644
--- a/arch/blackfin/kernel/bfin_gpio.c
+++ b/arch/blackfin/kernel/bfin_gpio.c
@@ -1,30 +1,9 @@
1/* 1/*
2 * File: arch/blackfin/kernel/bfin_gpio.c 2 * GPIO Abstraction Layer
3 * Based on:
4 * Author: Michael Hennerich (hennerich@blackfin.uclinux.org)
5 * 3 *
6 * Created: 4 * Copyright 2006-2009 Analog Devices Inc.
7 * Description: GPIO Abstraction Layer
8 * 5 *
9 * Modified: 6 * Licensed under the GPL-2 or later
10 * Copyright 2008 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 7 */
29 8
30#include <linux/delay.h> 9#include <linux/delay.h>
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbinit.c b/arch/blackfin/kernel/cplb-mpu/cplbinit.c
index 36193eed9a1f..b52c1f8c4bc0 100644
--- a/arch/blackfin/kernel/cplb-mpu/cplbinit.c
+++ b/arch/blackfin/kernel/cplb-mpu/cplbinit.c
@@ -1,25 +1,11 @@
1/* 1/*
2 * Blackfin CPLB initialization 2 * Blackfin CPLB initialization
3 * 3 *
4 * Copyright 2004-2007 Analog Devices Inc. 4 * Copyright 2008-2009 Analog Devices Inc.
5 * 5 *
6 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 6 * Licensed under the GPL-2 or later.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, see the file COPYING, or write
20 * to the Free Software Foundation, Inc.,
21 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 */ 7 */
8
23#include <linux/module.h> 9#include <linux/module.h>
24 10
25#include <asm/blackfin.h> 11#include <asm/blackfin.h>
@@ -52,7 +38,7 @@ void __init generate_cplb_tables_cpu(unsigned int cpu)
52 38
53#ifdef CONFIG_BFIN_EXTMEM_DCACHEABLE 39#ifdef CONFIG_BFIN_EXTMEM_DCACHEABLE
54 d_cache = CPLB_L1_CHBL; 40 d_cache = CPLB_L1_CHBL;
55#ifdef CONFIG_BFIN_EXTMEM_WRITETROUGH 41#ifdef CONFIG_BFIN_EXTMEM_WRITETHROUGH
56 d_cache |= CPLB_L1_AOW | CPLB_WT; 42 d_cache |= CPLB_L1_AOW | CPLB_WT;
57#endif 43#endif
58#endif 44#endif
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
index 8e1e9e9e9632..69e0e530d70f 100644
--- a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
+++ b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
@@ -1,22 +1,11 @@
1/* 1/*
2 * Blackfin CPLB exception handling. 2 * Blackfin CPLB exception handling for when MPU in on
3 * Copyright 2004-2007 Analog Devices Inc.
4 * 3 *
5 * This program is free software; you can redistribute it and/or modify 4 * Copyright 2008-2009 Analog Devices Inc.
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 * 5 *
10 * This program is distributed in the hope that it will be useful, 6 * Licensed under the GPL-2 or later.
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, see the file COPYING, or write
17 * to the Free Software Foundation, Inc.,
18 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */ 7 */
8
20#include <linux/module.h> 9#include <linux/module.h>
21#include <linux/mm.h> 10#include <linux/mm.h>
22 11
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinit.c b/arch/blackfin/kernel/cplb-nompu/cplbinit.c
index 5d8ad503f82a..fd9a2f31e686 100644
--- a/arch/blackfin/kernel/cplb-nompu/cplbinit.c
+++ b/arch/blackfin/kernel/cplb-nompu/cplbinit.c
@@ -1,24 +1,9 @@
1/* 1/*
2 * Blackfin CPLB initialization 2 * Blackfin CPLB initialization
3 * 3 *
4 * Copyright 2004-2007 Analog Devices Inc. 4 * Copyright 2007-2009 Analog Devices Inc.
5 * 5 *
6 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 6 * Licensed under the GPL-2 or later.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, see the file COPYING, or write
20 * to the Free Software Foundation, Inc.,
21 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 */ 7 */
23 8
24#include <linux/module.h> 9#include <linux/module.h>
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbmgr.c b/arch/blackfin/kernel/cplb-nompu/cplbmgr.c
index d9ea46c6e41a..5b88861d6183 100644
--- a/arch/blackfin/kernel/cplb-nompu/cplbmgr.c
+++ b/arch/blackfin/kernel/cplb-nompu/cplbmgr.c
@@ -1,26 +1,14 @@
1/* 1/*
2 * File: arch/blackfin/kernel/cplb-nompu-c/cplbmgr.c
3 * Based on: arch/blackfin/kernel/cplb-mpu/cplbmgr.c 2 * Based on: arch/blackfin/kernel/cplb-mpu/cplbmgr.c
4 * Author: Michael McTernan <mmcternan@airvana.com> 3 * Author: Michael McTernan <mmcternan@airvana.com>
5 * 4 *
6 * Created: 01Nov2008
7 * Description: CPLB miss handler. 5 * Description: CPLB miss handler.
8 * 6 *
9 * Modified: 7 * Modified:
10 * Copyright 2008 Airvana Inc. 8 * Copyright 2008 Airvana Inc.
11 * Copyright 2004-2007 Analog Devices Inc. 9 * Copyright 2008-2009 Analog Devices Inc.
12 * 10 *
13 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 11 * Licensed under the GPL-2 or later
14 *
15 * This program is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation; either version 2 of the License, or
18 * (at your option) any later version.
19 *
20 * This program is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 */ 12 */
25 13
26#include <linux/kernel.h> 14#include <linux/kernel.h>
diff --git a/arch/blackfin/kernel/cplbinfo.c b/arch/blackfin/kernel/cplbinfo.c
index 64d78300dd08..0bdaa517a501 100644
--- a/arch/blackfin/kernel/cplbinfo.c
+++ b/arch/blackfin/kernel/cplbinfo.c
@@ -2,6 +2,7 @@
2 * arch/blackfin/kernel/cplbinfo.c - display CPLB status 2 * arch/blackfin/kernel/cplbinfo.c - display CPLB status
3 * 3 *
4 * Copyright 2004-2008 Analog Devices Inc. 4 * Copyright 2004-2008 Analog Devices Inc.
5 *
5 * Licensed under the GPL-2 or later. 6 * Licensed under the GPL-2 or later.
6 */ 7 */
7 8
@@ -111,24 +112,21 @@ static const struct seq_operations cplbinfo_sops = {
111 .show = cplbinfo_show, 112 .show = cplbinfo_show,
112}; 113};
113 114
115#define CPLBINFO_DCPLB_FLAG 0x80000000
116
114static int cplbinfo_open(struct inode *inode, struct file *file) 117static int cplbinfo_open(struct inode *inode, struct file *file)
115{ 118{
116 char buf[256], *path, *p; 119 struct proc_dir_entry *pde = PDE(file->f_path.dentry->d_inode);
120 char cplb_type;
117 unsigned int cpu; 121 unsigned int cpu;
118 char *s_cpu, *s_cplb;
119 int ret; 122 int ret;
120 struct seq_file *m; 123 struct seq_file *m;
121 struct cplbinfo_data *cdata; 124 struct cplbinfo_data *cdata;
122 125
123 path = d_path(&file->f_path, buf, sizeof(buf)); 126 cpu = (unsigned int)pde->data;
124 if (IS_ERR(path)) 127 cplb_type = cpu & CPLBINFO_DCPLB_FLAG ? 'D' : 'I';
125 return PTR_ERR(path); 128 cpu &= ~CPLBINFO_DCPLB_FLAG;
126 s_cpu = strstr(path, "/cpu");
127 s_cplb = strrchr(path, '/');
128 if (!s_cpu || !s_cplb)
129 return -EINVAL;
130 129
131 cpu = simple_strtoul(s_cpu + 4, &p, 10);
132 if (!cpu_online(cpu)) 130 if (!cpu_online(cpu))
133 return -ENODEV; 131 return -ENODEV;
134 132
@@ -139,7 +137,7 @@ static int cplbinfo_open(struct inode *inode, struct file *file)
139 cdata = m->private; 137 cdata = m->private;
140 138
141 cdata->pos = 0; 139 cdata->pos = 0;
142 cdata->cplb_type = toupper(s_cplb[1]); 140 cdata->cplb_type = cplb_type;
143 cplbinfo_seq_init(cdata, cpu); 141 cplbinfo_seq_init(cdata, cpu);
144 142
145 return 0; 143 return 0;
@@ -168,8 +166,10 @@ static int __init cplbinfo_init(void)
168 if (!cpu_dir) 166 if (!cpu_dir)
169 return -ENOMEM; 167 return -ENOMEM;
170 168
171 proc_create("icplb", S_IRUGO, cpu_dir, &cplbinfo_fops); 169 proc_create_data("icplb", S_IRUGO, cpu_dir, &cplbinfo_fops,
172 proc_create("dcplb", S_IRUGO, cpu_dir, &cplbinfo_fops); 170 (void *)cpu);
171 proc_create_data("dcplb", S_IRUGO, cpu_dir, &cplbinfo_fops,
172 (void *)(cpu | CPLBINFO_DCPLB_FLAG));
173 } 173 }
174 174
175 return 0; 175 return 0;
diff --git a/arch/blackfin/kernel/dma-mapping.c b/arch/blackfin/kernel/dma-mapping.c
index 2f62a9f4058a..e74e74d7733f 100644
--- a/arch/blackfin/kernel/dma-mapping.c
+++ b/arch/blackfin/kernel/dma-mapping.c
@@ -1,30 +1,9 @@
1/* 1/*
2 * File: arch/blackfin/kernel/dma-mapping.c 2 * Dynamic DMA mapping support
3 * Based on:
4 * Author:
5 * 3 *
6 * Created: 4 * Copyright 2005-2009 Analog Devices Inc.
7 * Description: Dynamic DMA mapping support.
8 * 5 *
9 * Modified: 6 * Licensed under the GPL-2 or later
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 7 */
29 8
30#include <linux/types.h> 9#include <linux/types.h>
diff --git a/arch/blackfin/kernel/early_printk.c b/arch/blackfin/kernel/early_printk.c
index 931c78b5ea1f..84ed8375113c 100644
--- a/arch/blackfin/kernel/early_printk.c
+++ b/arch/blackfin/kernel/early_printk.c
@@ -1,25 +1,10 @@
1/* 1/*
2 * File: arch/blackfin/kernel/early_printk.c 2 * allow a console to be used for early printk
3 * Based on: arch/x86_64/kernel/early_printk.c 3 * derived from arch/x86/kernel/early_printk.c
4 * Author: Robin Getz <rgetz@blackfin.uclinux.org
5 * 4 *
6 * Created: 14Aug2007 5 * Copyright 2007-2009 Analog Devices Inc.
7 * Description: allow a console to be used for early printk
8 * 6 *
9 * Modified: 7 * Licensed under the GPL-2
10 * Copyright 2004-2007 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 */ 8 */
24 9
25#include <linux/kernel.h> 10#include <linux/kernel.h>
diff --git a/arch/blackfin/kernel/entry.S b/arch/blackfin/kernel/entry.S
index 3f8769b7db54..f27dc2292e1b 100644
--- a/arch/blackfin/kernel/entry.S
+++ b/arch/blackfin/kernel/entry.S
@@ -1,30 +1,7 @@
1/* 1/*
2 * File: arch/blackfin/kernel/entry.S 2 * Copyright 2004-2009 Analog Devices Inc.
3 * Based on:
4 * Author:
5 * 3 *
6 * Created: 4 * Licensed under the GPL-2 or later
7 * Description:
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 5 */
29 6
30#include <linux/linkage.h> 7#include <linux/linkage.h>
diff --git a/arch/blackfin/kernel/fixed_code.S b/arch/blackfin/kernel/fixed_code.S
index 0d2d9e0968c8..0565917f23ba 100644
--- a/arch/blackfin/kernel/fixed_code.S
+++ b/arch/blackfin/kernel/fixed_code.S
@@ -6,7 +6,12 @@
6 * These are aligned to 16 bytes, so that we have some space to replace 6 * These are aligned to 16 bytes, so that we have some space to replace
7 * these sequences with something else (e.g. kernel traps if we ever do 7 * these sequences with something else (e.g. kernel traps if we ever do
8 * BF561 SMP). 8 * BF561 SMP).
9 *
10 * Copyright 2007-2008 Analog Devices Inc.
11 *
12 * Licensed under the GPL-2 or later.
9 */ 13 */
14
10#include <linux/linkage.h> 15#include <linux/linkage.h>
11#include <linux/init.h> 16#include <linux/init.h>
12#include <linux/unistd.h> 17#include <linux/unistd.h>
diff --git a/arch/blackfin/kernel/flat.c b/arch/blackfin/kernel/flat.c
index d188b2430536..a88daddbf074 100644
--- a/arch/blackfin/kernel/flat.c
+++ b/arch/blackfin/kernel/flat.c
@@ -1,21 +1,7 @@
1/* 1/*
2 * arch/blackfin/kernel/flat.c 2 * Copyright 2007 Analog Devices Inc.
3 * 3 *
4 * Copyright (C) 2007 Analog Devices, Inc. 4 * Licensed under the GPL-2.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */ 5 */
20 6
21#include <linux/module.h> 7#include <linux/module.h>
diff --git a/arch/blackfin/kernel/init_task.c b/arch/blackfin/kernel/init_task.c
index c26c34de9f3c..118c5b9dedac 100644
--- a/arch/blackfin/kernel/init_task.c
+++ b/arch/blackfin/kernel/init_task.c
@@ -1,30 +1,7 @@
1/* 1/*
2 * File: arch/blackfin/kernel/init_task.c 2 * Copyright 2004-2009 Analog Devices Inc.
3 * Based on:
4 * Author:
5 * 3 *
6 * Created: 4 * Licensed under the GPL-2 or later
7 * Description: This file contains the simple DMA Implementation for Blackfin
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 5 */
29 6
30#include <linux/mm.h> 7#include <linux/mm.h>
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c
index 4b5fd36187d9..db9f9c91f11f 100644
--- a/arch/blackfin/kernel/irqchip.c
+++ b/arch/blackfin/kernel/irqchip.c
@@ -1,30 +1,7 @@
1/* 1/*
2 * File: arch/blackfin/kernel/irqchip.c 2 * Copyright 2005-2009 Analog Devices Inc.
3 * Based on:
4 * Author:
5 * 3 *
6 * Created: 4 * Licensed under the GPL-2 or later
7 * Description: This file contains the simple DMA Implementation for Blackfin
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 5 */
29 6
30#include <linux/kernel_stat.h> 7#include <linux/kernel_stat.h>
diff --git a/arch/blackfin/kernel/module.c b/arch/blackfin/kernel/module.c
index 67fc7a56c865..a6dfa6b71e63 100644
--- a/arch/blackfin/kernel/module.c
+++ b/arch/blackfin/kernel/module.c
@@ -1,30 +1,7 @@
1/* 1/*
2 * File: arch/blackfin/kernel/module.c 2 * Copyright 2004-2009 Analog Devices Inc.
3 * Based on:
4 * Author:
5 * 3 *
6 * Created: 4 * Licensed under the GPL-2 or later
7 * Description:
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 5 */
29 6
30#define pr_fmt(fmt) "module %s: " fmt 7#define pr_fmt(fmt) "module %s: " fmt
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
index f5b286189647..5cc7e2e9e415 100644
--- a/arch/blackfin/kernel/process.c
+++ b/arch/blackfin/kernel/process.c
@@ -1,30 +1,9 @@
1/* 1/*
2 * File: arch/blackfin/kernel/process.c 2 * Blackfin architecture-dependent process handling
3 * Based on:
4 * Author:
5 * 3 *
6 * Created: 4 * Copyright 2004-2009 Analog Devices Inc.
7 * Description: Blackfin architecture-dependent process handling.
8 * 5 *
9 * Modified: 6 * Licensed under the GPL-2 or later
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 7 */
29 8
30#include <linux/module.h> 9#include <linux/module.h>
@@ -172,7 +151,7 @@ void start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_
172 regs->pc = new_ip; 151 regs->pc = new_ip;
173 if (current->mm) 152 if (current->mm)
174 regs->p5 = current->mm->start_data; 153 regs->p5 = current->mm->start_data;
175#ifdef CONFIG_SMP 154#ifndef CONFIG_SMP
176 task_thread_info(current)->l1_task_info.stack_start = 155 task_thread_info(current)->l1_task_info.stack_start =
177 (void *)current->mm->context.stack_start; 156 (void *)current->mm->context.stack_start;
178 task_thread_info(current)->l1_task_info.lowest_sp = (void *)new_sp; 157 task_thread_info(current)->l1_task_info.lowest_sp = (void *)new_sp;
diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c
index 30f4828277ad..56b0ba12175f 100644
--- a/arch/blackfin/kernel/ptrace.c
+++ b/arch/blackfin/kernel/ptrace.c
@@ -1,30 +1,8 @@
1/* 1/*
2 * File: arch/blackfin/kernel/ptrace.c 2 * linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds
3 * Based on: Taken from linux/kernel/ptrace.c 3 * these modifications are Copyright 2004-2009 Analog Devices Inc.
4 * Author: linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds
5 * 4 *
6 * Created: 1/23/92 5 * Licensed under the GPL-2
7 * Description:
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 6 */
29 7
30#include <linux/kernel.h> 8#include <linux/kernel.h>
@@ -337,7 +315,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
337 case BFIN_MEM_ACCESS_CORE: 315 case BFIN_MEM_ACCESS_CORE:
338 case BFIN_MEM_ACCESS_CORE_ONLY: 316 case BFIN_MEM_ACCESS_CORE_ONLY:
339 copied = access_process_vm(child, addr, &data, 317 copied = access_process_vm(child, addr, &data,
340 to_copy, 0); 318 to_copy, 1);
341 if (copied) 319 if (copied)
342 break; 320 break;
343 321
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index 369535b61ed1..c202a44d1416 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -1,9 +1,5 @@
1/* 1/*
2 * arch/blackfin/kernel/setup.c 2 * Copyright 2004-2009 Analog Devices Inc.
3 *
4 * Copyright 2004-2006 Analog Devices Inc.
5 *
6 * Enter bugs at http://blackfin.uclinux.org/
7 * 3 *
8 * Licensed under the GPL-2 or later. 4 * Licensed under the GPL-2 or later.
9 */ 5 */
diff --git a/arch/blackfin/kernel/shadow_console.c b/arch/blackfin/kernel/shadow_console.c
index 8b8c7107a162..557e9fef406a 100644
--- a/arch/blackfin/kernel/shadow_console.c
+++ b/arch/blackfin/kernel/shadow_console.c
@@ -4,8 +4,6 @@
4 * 4 *
5 * Copyright 2009 Analog Devices Inc. 5 * Copyright 2009 Analog Devices Inc.
6 * 6 *
7 * Enter bugs at http://blackfin.uclinux.org/
8 *
9 * Licensed under the GPL-2 or later. 7 * Licensed under the GPL-2 or later.
10 */ 8 */
11 9
diff --git a/arch/blackfin/kernel/signal.c b/arch/blackfin/kernel/signal.c
index dbc3bbf846be..9d90c18fab23 100644
--- a/arch/blackfin/kernel/signal.c
+++ b/arch/blackfin/kernel/signal.c
@@ -1,30 +1,7 @@
1/* 1/*
2 * File: arch/blackfin/kernel/signal.c 2 * Copyright 2004-2009 Analog Devices Inc.
3 * Based on:
4 * Author:
5 * 3 *
6 * Created: 4 * Licensed under the GPL-2 or later
7 * Description:
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 5 */
29 6
30#include <linux/signal.h> 7#include <linux/signal.h>
diff --git a/arch/blackfin/kernel/sys_bfin.c b/arch/blackfin/kernel/sys_bfin.c
index 3da60fb13ce4..afcef129d4e8 100644
--- a/arch/blackfin/kernel/sys_bfin.c
+++ b/arch/blackfin/kernel/sys_bfin.c
@@ -1,32 +1,10 @@
1/* 1/*
2 * File: arch/blackfin/kernel/sys_bfin.c 2 * contains various random system calls that have a non-standard
3 * Based on: 3 * calling sequence on the Linux/Blackfin platform.
4 * Author:
5 * 4 *
6 * Created: 5 * Copyright 2004-2009 Analog Devices Inc.
7 * Description: This file contains various random system calls that
8 * have a non-standard calling sequence on the Linux/bfin
9 * platform.
10 * 6 *
11 * Modified: 7 * Licensed under the GPL-2 or later
12 * Copyright 2004-2006 Analog Devices Inc.
13 *
14 * Bugs: Enter bugs at http://blackfin.uclinux.org/
15 *
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
20 *
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, see the file COPYING, or write
28 * to the Free Software Foundation, Inc.,
29 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
30 */ 8 */
31 9
32#include <linux/spinlock.h> 10#include <linux/spinlock.h>
@@ -91,3 +69,14 @@ asmlinkage void *sys_dma_memcpy(void *dest, const void *src, size_t len)
91{ 69{
92 return safe_dma_memcpy(dest, src, len); 70 return safe_dma_memcpy(dest, src, len);
93} 71}
72
73#if defined(CONFIG_FB) || defined(CONFIG_FB_MODULE)
74#include <linux/fb.h>
75unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr,
76 unsigned long len, unsigned long pgoff, unsigned long flags)
77{
78 struct fb_info *info = filp->private_data;
79 return (unsigned long)info->screen_base;
80}
81EXPORT_SYMBOL(get_fb_unmapped_area);
82#endif
diff --git a/arch/blackfin/kernel/time-ts.c b/arch/blackfin/kernel/time-ts.c
index f9715764383e..359cfb1815ca 100644
--- a/arch/blackfin/kernel/time-ts.c
+++ b/arch/blackfin/kernel/time-ts.c
@@ -1,13 +1,13 @@
1/* 1/*
2 * linux/arch/kernel/time-ts.c
3 *
4 * Based on arm clockevents implementation and old bfin time tick. 2 * Based on arm clockevents implementation and old bfin time tick.
5 * 3 *
6 * Copyright(C) 2008, GeoTechnologies, Vitja Makarov 4 * Copyright 2008-2009 Analog Devics Inc.
5 * 2008 GeoTechnologies
6 * Vitja Makarov
7 * 7 *
8 * This code is licenced under the GPL version 2. For details see 8 * Licensed under the GPL-2
9 * kernel-base/COPYING.
10 */ 9 */
10
11#include <linux/module.h> 11#include <linux/module.h>
12#include <linux/profile.h> 12#include <linux/profile.h>
13#include <linux/interrupt.h> 13#include <linux/interrupt.h>
diff --git a/arch/blackfin/kernel/time.c b/arch/blackfin/kernel/time.c
index adb54aa7d7c8..bd3b53da295e 100644
--- a/arch/blackfin/kernel/time.c
+++ b/arch/blackfin/kernel/time.c
@@ -14,6 +14,7 @@
14#include <linux/time.h> 14#include <linux/time.h>
15#include <linux/irq.h> 15#include <linux/irq.h>
16#include <linux/delay.h> 16#include <linux/delay.h>
17#include <linux/sched.h>
17 18
18#include <asm/blackfin.h> 19#include <asm/blackfin.h>
19#include <asm/time.h> 20#include <asm/time.h>
@@ -81,11 +82,11 @@ time_sched_init(irqreturn_t(*timer_routine) (int, void *))
81#endif 82#endif
82} 83}
83 84
85#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
84/* 86/*
85 * Should return useconds since last timer tick 87 * Should return useconds since last timer tick
86 */ 88 */
87#ifndef CONFIG_GENERIC_TIME 89u32 arch_gettimeoffset(void)
88static unsigned long gettimeoffset(void)
89{ 90{
90 unsigned long offset; 91 unsigned long offset;
91 unsigned long clocks_per_jiffy; 92 unsigned long clocks_per_jiffy;
@@ -184,65 +185,6 @@ void __init time_init(void)
184 time_sched_init(timer_interrupt); 185 time_sched_init(timer_interrupt);
185} 186}
186 187
187#ifndef CONFIG_GENERIC_TIME
188void do_gettimeofday(struct timeval *tv)
189{
190 unsigned long flags;
191 unsigned long seq;
192 unsigned long usec, sec;
193
194 do {
195 seq = read_seqbegin_irqsave(&xtime_lock, flags);
196 usec = gettimeoffset();
197 sec = xtime.tv_sec;
198 usec += (xtime.tv_nsec / NSEC_PER_USEC);
199 }
200 while (read_seqretry_irqrestore(&xtime_lock, seq, flags));
201
202 while (usec >= USEC_PER_SEC) {
203 usec -= USEC_PER_SEC;
204 sec++;
205 }
206
207 tv->tv_sec = sec;
208 tv->tv_usec = usec;
209}
210EXPORT_SYMBOL(do_gettimeofday);
211
212int do_settimeofday(struct timespec *tv)
213{
214 time_t wtm_sec, sec = tv->tv_sec;
215 long wtm_nsec, nsec = tv->tv_nsec;
216
217 if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
218 return -EINVAL;
219
220 write_seqlock_irq(&xtime_lock);
221 /*
222 * This is revolting. We need to set the xtime.tv_usec
223 * correctly. However, the value in this location is
224 * is value at the last tick.
225 * Discover what correction gettimeofday
226 * would have done, and then undo it!
227 */
228 nsec -= (gettimeoffset() * NSEC_PER_USEC);
229
230 wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec);
231 wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec);
232
233 set_normalized_timespec(&xtime, sec, nsec);
234 set_normalized_timespec(&wall_to_monotonic, wtm_sec, wtm_nsec);
235
236 ntp_clear();
237
238 write_sequnlock_irq(&xtime_lock);
239 clock_was_set();
240
241 return 0;
242}
243EXPORT_SYMBOL(do_settimeofday);
244#endif /* !CONFIG_GENERIC_TIME */
245
246/* 188/*
247 * Scheduler clock - returns current time in nanosec units. 189 * Scheduler clock - returns current time in nanosec units.
248 */ 190 */
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index 56464cb8edf3..6b7325d634af 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -1,30 +1,7 @@
1/* 1/*
2 * File: arch/blackfin/kernel/traps.c 2 * Copyright 2004-2009 Analog Devices Inc.
3 * Based on:
4 * Author: Hamish Macdonald
5 * 3 *
6 * Created: 4 * Licensed under the GPL-2 or later
7 * Description: uses S/W interrupt 15 for the system calls
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 5 */
29 6
30#include <linux/bug.h> 7#include <linux/bug.h>
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S
index ffd90fbbc8f9..10e12539000e 100644
--- a/arch/blackfin/kernel/vmlinux.lds.S
+++ b/arch/blackfin/kernel/vmlinux.lds.S
@@ -1,30 +1,7 @@
1/* 1/*
2 * File: arch/blackfin/kernel/vmlinux.lds.S 2 * Copyright 2004-2009 Analog Devices Inc.
3 * Based on: none - original work
4 * Author:
5 * 3 *
6 * Created: Tue Sep 21 2004 4 * Licensed under the GPL-2 or later
7 * Description: Master linker script for blackfin architecture
8 *
9 * Modified:
10 * Copyright 2004-2007 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 5 */
29 6
30#define VMLINUX_SYMBOL(_sym_) _##_sym_ 7#define VMLINUX_SYMBOL(_sym_) _##_sym_