summaryrefslogtreecommitdiffstats
path: root/arch/alpha
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-09-05 12:41:38 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-05 12:41:38 -0400
commit6caffe21ddeaae4a9d18d46eed2445a8d269a1fe (patch)
treea92a9584e2a19e1ae8da316e0a9d6f3a7ceed530 /arch/alpha
parentf32c9e059eb6c12a4296003489b167f8eef9d201 (diff)
parentd9e3cb2f9ed91020b780ee662bdec692a3f276c9 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha
Pull alpha updates from Matt Turner: "This contains some small clean up patches I've neglected, and some build improvements from Ben Hutchings" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha: alpha: math-emu: Fix modular build alpha: Restore symbol versions for symbols exported from assembly alpha: defconfig: Cleanup from old Kconfig options alpha: use kobj_to_dev() alpha: squash lines for immediate return alpha: kernel: Use vma_pages() alpha: silence a buffer overflow warning alpha: marvel: make use of raw_spinlock variants alpha: cleanup: remove __NR_sys_epoll_*, leave __NR_epoll_* alpha: use generic fb.h
Diffstat (limited to 'arch/alpha')
-rw-r--r--arch/alpha/defconfig2
-rw-r--r--arch/alpha/include/asm/Kbuild1
-rw-r--r--arch/alpha/include/asm/asm-prototypes.h18
-rw-r--r--arch/alpha/include/asm/core_marvel.h2
-rw-r--r--arch/alpha/include/asm/fb.h13
-rw-r--r--arch/alpha/include/uapi/asm/unistd.h5
-rw-r--r--arch/alpha/kernel/core_marvel.c2
-rw-r--r--arch/alpha/kernel/pci-noop.c6
-rw-r--r--arch/alpha/kernel/pci-sysfs.c7
-rw-r--r--arch/alpha/kernel/pci.c6
-rw-r--r--arch/alpha/kernel/setup.c5
-rw-r--r--arch/alpha/kernel/smc37c669.c7
-rw-r--r--arch/alpha/kernel/sys_marvel.c12
-rw-r--r--arch/alpha/kernel/traps.c2
-rw-r--r--arch/alpha/math-emu/math.c1
15 files changed, 40 insertions, 49 deletions
diff --git a/arch/alpha/defconfig b/arch/alpha/defconfig
index 539e8b5a6cbd..f4ec420d7f2d 100644
--- a/arch/alpha/defconfig
+++ b/arch/alpha/defconfig
@@ -19,7 +19,6 @@ CONFIG_INET_AH=m
19CONFIG_INET_ESP=m 19CONFIG_INET_ESP=m
20# CONFIG_IPV6 is not set 20# CONFIG_IPV6 is not set
21CONFIG_NETFILTER=y 21CONFIG_NETFILTER=y
22CONFIG_IP_NF_QUEUE=m
23CONFIG_IP_NF_IPTABLES=m 22CONFIG_IP_NF_IPTABLES=m
24CONFIG_IP_NF_FILTER=m 23CONFIG_IP_NF_FILTER=m
25CONFIG_VLAN_8021Q=m 24CONFIG_VLAN_8021Q=m
@@ -57,7 +56,6 @@ CONFIG_SERIAL_8250_CONSOLE=y
57CONFIG_RTC=y 56CONFIG_RTC=y
58CONFIG_EXT2_FS=y 57CONFIG_EXT2_FS=y
59CONFIG_REISERFS_FS=m 58CONFIG_REISERFS_FS=m
60CONFIG_AUTOFS_FS=m
61CONFIG_ISO9660_FS=y 59CONFIG_ISO9660_FS=y
62CONFIG_MSDOS_FS=y 60CONFIG_MSDOS_FS=y
63CONFIG_VFAT_FS=y 61CONFIG_VFAT_FS=y
diff --git a/arch/alpha/include/asm/Kbuild b/arch/alpha/include/asm/Kbuild
index d103db5af5ff..5b974ab8425c 100644
--- a/arch/alpha/include/asm/Kbuild
+++ b/arch/alpha/include/asm/Kbuild
@@ -3,6 +3,7 @@
3generic-y += clkdev.h 3generic-y += clkdev.h
4generic-y += exec.h 4generic-y += exec.h
5generic-y += export.h 5generic-y += export.h
6generic-y += fb.h
6generic-y += irq_work.h 7generic-y += irq_work.h
7generic-y += mcs_spinlock.h 8generic-y += mcs_spinlock.h
8generic-y += mm-arch-hooks.h 9generic-y += mm-arch-hooks.h
diff --git a/arch/alpha/include/asm/asm-prototypes.h b/arch/alpha/include/asm/asm-prototypes.h
new file mode 100644
index 000000000000..d12c68ea340b
--- /dev/null
+++ b/arch/alpha/include/asm/asm-prototypes.h
@@ -0,0 +1,18 @@
1#include <linux/spinlock.h>
2
3#include <asm/checksum.h>
4#include <asm/console.h>
5#include <asm/page.h>
6#include <asm/string.h>
7#include <asm/uaccess.h>
8
9#include <asm-generic/asm-prototypes.h>
10
11extern void __divl(void);
12extern void __reml(void);
13extern void __divq(void);
14extern void __remq(void);
15extern void __divlu(void);
16extern void __remlu(void);
17extern void __divqu(void);
18extern void __remqu(void);
diff --git a/arch/alpha/include/asm/core_marvel.h b/arch/alpha/include/asm/core_marvel.h
index dad300fa14ce..8dcf9dbda618 100644
--- a/arch/alpha/include/asm/core_marvel.h
+++ b/arch/alpha/include/asm/core_marvel.h
@@ -312,7 +312,7 @@ struct io7 {
312 io7_port7_csrs *csrs; 312 io7_port7_csrs *csrs;
313 struct io7_port ports[IO7_NUM_PORTS]; 313 struct io7_port ports[IO7_NUM_PORTS];
314 314
315 spinlock_t irq_lock; 315 raw_spinlock_t irq_lock;
316}; 316};
317 317
318#ifndef __EXTERN_INLINE 318#ifndef __EXTERN_INLINE
diff --git a/arch/alpha/include/asm/fb.h b/arch/alpha/include/asm/fb.h
deleted file mode 100644
index fa9bbb96b2b3..000000000000
--- a/arch/alpha/include/asm/fb.h
+++ /dev/null
@@ -1,13 +0,0 @@
1#ifndef _ASM_FB_H_
2#define _ASM_FB_H_
3#include <linux/device.h>
4
5/* Caching is off in the I/O space quadrant by design. */
6#define fb_pgprotect(...) do {} while (0)
7
8static inline int fb_is_primary_device(struct fb_info *info)
9{
10 return 0;
11}
12
13#endif /* _ASM_FB_H_ */
diff --git a/arch/alpha/include/uapi/asm/unistd.h b/arch/alpha/include/uapi/asm/unistd.h
index a2945fea6c86..53de540e39a7 100644
--- a/arch/alpha/include/uapi/asm/unistd.h
+++ b/arch/alpha/include/uapi/asm/unistd.h
@@ -366,11 +366,6 @@
366#define __NR_epoll_create 407 366#define __NR_epoll_create 407
367#define __NR_epoll_ctl 408 367#define __NR_epoll_ctl 408
368#define __NR_epoll_wait 409 368#define __NR_epoll_wait 409
369/* Feb 2007: These three sys_epoll defines shouldn't be here but culling
370 * them would break userspace apps ... we'll kill them off in 2010 :) */
371#define __NR_sys_epoll_create __NR_epoll_create
372#define __NR_sys_epoll_ctl __NR_epoll_ctl
373#define __NR_sys_epoll_wait __NR_epoll_wait
374#define __NR_remap_file_pages 410 369#define __NR_remap_file_pages 410
375#define __NR_set_tid_address 411 370#define __NR_set_tid_address 411
376#define __NR_restart_syscall 412 371#define __NR_restart_syscall 412
diff --git a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c
index 03ff832b1cb4..b10c316475dd 100644
--- a/arch/alpha/kernel/core_marvel.c
+++ b/arch/alpha/kernel/core_marvel.c
@@ -118,7 +118,7 @@ alloc_io7(unsigned int pe)
118 118
119 io7 = alloc_bootmem(sizeof(*io7)); 119 io7 = alloc_bootmem(sizeof(*io7));
120 io7->pe = pe; 120 io7->pe = pe;
121 spin_lock_init(&io7->irq_lock); 121 raw_spin_lock_init(&io7->irq_lock);
122 122
123 for (h = 0; h < 4; h++) { 123 for (h = 0; h < 4; h++) {
124 io7->ports[h].io7 = io7; 124 io7->ports[h].io7 = io7;
diff --git a/arch/alpha/kernel/pci-noop.c b/arch/alpha/kernel/pci-noop.c
index ffbdb3fb672f..676bab6e3123 100644
--- a/arch/alpha/kernel/pci-noop.c
+++ b/arch/alpha/kernel/pci-noop.c
@@ -42,11 +42,7 @@ alloc_pci_controller(void)
42struct resource * __init 42struct resource * __init
43alloc_resource(void) 43alloc_resource(void)
44{ 44{
45 struct resource *res; 45 return alloc_bootmem(sizeof(struct resource));
46
47 res = alloc_bootmem(sizeof(*res));
48
49 return res;
50} 46}
51 47
52asmlinkage long 48asmlinkage long
diff --git a/arch/alpha/kernel/pci-sysfs.c b/arch/alpha/kernel/pci-sysfs.c
index 92c0d460815b..cbecd527c696 100644
--- a/arch/alpha/kernel/pci-sysfs.c
+++ b/arch/alpha/kernel/pci-sysfs.c
@@ -38,7 +38,7 @@ static int __pci_mmap_fits(struct pci_dev *pdev, int num,
38 unsigned long nr, start, size; 38 unsigned long nr, start, size;
39 int shift = sparse ? 5 : 0; 39 int shift = sparse ? 5 : 0;
40 40
41 nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; 41 nr = vma_pages(vma);
42 start = vma->vm_pgoff; 42 start = vma->vm_pgoff;
43 size = ((pci_resource_len(pdev, num) - 1) >> (PAGE_SHIFT - shift)) + 1; 43 size = ((pci_resource_len(pdev, num) - 1) >> (PAGE_SHIFT - shift)) + 1;
44 44
@@ -64,8 +64,7 @@ static int pci_mmap_resource(struct kobject *kobj,
64 struct bin_attribute *attr, 64 struct bin_attribute *attr,
65 struct vm_area_struct *vma, int sparse) 65 struct vm_area_struct *vma, int sparse)
66{ 66{
67 struct pci_dev *pdev = to_pci_dev(container_of(kobj, 67 struct pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj));
68 struct device, kobj));
69 struct resource *res = attr->private; 68 struct resource *res = attr->private;
70 enum pci_mmap_state mmap_type; 69 enum pci_mmap_state mmap_type;
71 struct pci_bus_region bar; 70 struct pci_bus_region bar;
@@ -255,7 +254,7 @@ static int __legacy_mmap_fits(struct pci_controller *hose,
255{ 254{
256 unsigned long nr, start, size; 255 unsigned long nr, start, size;
257 256
258 nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; 257 nr = vma_pages(vma);
259 start = vma->vm_pgoff; 258 start = vma->vm_pgoff;
260 size = ((res_size - 1) >> PAGE_SHIFT) + 1; 259 size = ((res_size - 1) >> PAGE_SHIFT) + 1;
261 260
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 5f387ee5b5c5..8322df174bbf 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -379,11 +379,7 @@ alloc_pci_controller(void)
379struct resource * __init 379struct resource * __init
380alloc_resource(void) 380alloc_resource(void)
381{ 381{
382 struct resource *res; 382 return alloc_bootmem(sizeof(struct resource));
383
384 res = alloc_bootmem(sizeof(*res));
385
386 return res;
387} 383}
388 384
389 385
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
index 491e6a604e82..249229ab4942 100644
--- a/arch/alpha/kernel/setup.c
+++ b/arch/alpha/kernel/setup.c
@@ -1094,8 +1094,9 @@ get_sysnames(unsigned long type, unsigned long variation, unsigned long cpu,
1094 default: /* default to variation "0" for now */ 1094 default: /* default to variation "0" for now */
1095 break; 1095 break;
1096 case ST_DEC_EB164: 1096 case ST_DEC_EB164:
1097 if (member < ARRAY_SIZE(eb164_indices)) 1097 if (member >= ARRAY_SIZE(eb164_indices))
1098 *variation_name = eb164_names[eb164_indices[member]]; 1098 break;
1099 *variation_name = eb164_names[eb164_indices[member]];
1099 /* PC164 may show as EB164 variation, but with EV56 CPU, 1100 /* PC164 may show as EB164 variation, but with EV56 CPU,
1100 so, since no true EB164 had anything but EV5... */ 1101 so, since no true EB164 had anything but EV5... */
1101 if (eb164_indices[member] == 0 && cpu == EV56_CPU) 1102 if (eb164_indices[member] == 0 && cpu == EV56_CPU)
diff --git a/arch/alpha/kernel/smc37c669.c b/arch/alpha/kernel/smc37c669.c
index c803fc76ae4f..4dbd4e415041 100644
--- a/arch/alpha/kernel/smc37c669.c
+++ b/arch/alpha/kernel/smc37c669.c
@@ -2007,11 +2007,8 @@ static void __init SMC37c669_config_mode(
2007static unsigned char __init SMC37c669_read_config( 2007static unsigned char __init SMC37c669_read_config(
2008 unsigned char index ) 2008 unsigned char index )
2009{ 2009{
2010 unsigned char data; 2010 wb(&SMC37c669->index_port, index);
2011 2011 return rb(&SMC37c669->data_port);
2012 wb( &SMC37c669->index_port, index );
2013 data = rb( &SMC37c669->data_port );
2014 return data;
2015} 2012}
2016 2013
2017/* 2014/*
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c
index 24e41bd7d3c9..3e533920371f 100644
--- a/arch/alpha/kernel/sys_marvel.c
+++ b/arch/alpha/kernel/sys_marvel.c
@@ -115,11 +115,11 @@ io7_enable_irq(struct irq_data *d)
115 return; 115 return;
116 } 116 }
117 117
118 spin_lock(&io7->irq_lock); 118 raw_spin_lock(&io7->irq_lock);
119 *ctl |= 1UL << 24; 119 *ctl |= 1UL << 24;
120 mb(); 120 mb();
121 *ctl; 121 *ctl;
122 spin_unlock(&io7->irq_lock); 122 raw_spin_unlock(&io7->irq_lock);
123} 123}
124 124
125static void 125static void
@@ -136,11 +136,11 @@ io7_disable_irq(struct irq_data *d)
136 return; 136 return;
137 } 137 }
138 138
139 spin_lock(&io7->irq_lock); 139 raw_spin_lock(&io7->irq_lock);
140 *ctl &= ~(1UL << 24); 140 *ctl &= ~(1UL << 24);
141 mb(); 141 mb();
142 *ctl; 142 *ctl;
143 spin_unlock(&io7->irq_lock); 143 raw_spin_unlock(&io7->irq_lock);
144} 144}
145 145
146static void 146static void
@@ -263,7 +263,7 @@ init_io7_irqs(struct io7 *io7,
263 */ 263 */
264 printk(" Interrupts reported to CPU at PE %u\n", boot_cpuid); 264 printk(" Interrupts reported to CPU at PE %u\n", boot_cpuid);
265 265
266 spin_lock(&io7->irq_lock); 266 raw_spin_lock(&io7->irq_lock);
267 267
268 /* set up the error irqs */ 268 /* set up the error irqs */
269 io7_redirect_irq(io7, &io7->csrs->HLT_CTL.csr, boot_cpuid); 269 io7_redirect_irq(io7, &io7->csrs->HLT_CTL.csr, boot_cpuid);
@@ -295,7 +295,7 @@ init_io7_irqs(struct io7 *io7,
295 for (i = 0; i < 16; ++i) 295 for (i = 0; i < 16; ++i)
296 init_one_io7_msi(io7, i, boot_cpuid); 296 init_one_io7_msi(io7, i, boot_cpuid);
297 297
298 spin_unlock(&io7->irq_lock); 298 raw_spin_unlock(&io7->irq_lock);
299} 299}
300 300
301static void __init 301static void __init
diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c
index 65bb102d985b..ddb89a18cf26 100644
--- a/arch/alpha/kernel/traps.c
+++ b/arch/alpha/kernel/traps.c
@@ -193,8 +193,10 @@ die_if_kernel(char * str, struct pt_regs *regs, long err, unsigned long *r9_15)
193static long dummy_emul(void) { return 0; } 193static long dummy_emul(void) { return 0; }
194long (*alpha_fp_emul_imprecise)(struct pt_regs *regs, unsigned long writemask) 194long (*alpha_fp_emul_imprecise)(struct pt_regs *regs, unsigned long writemask)
195 = (void *)dummy_emul; 195 = (void *)dummy_emul;
196EXPORT_SYMBOL_GPL(alpha_fp_emul_imprecise);
196long (*alpha_fp_emul) (unsigned long pc) 197long (*alpha_fp_emul) (unsigned long pc)
197 = (void *)dummy_emul; 198 = (void *)dummy_emul;
199EXPORT_SYMBOL_GPL(alpha_fp_emul);
198#else 200#else
199long alpha_fp_emul_imprecise(struct pt_regs *regs, unsigned long writemask); 201long alpha_fp_emul_imprecise(struct pt_regs *regs, unsigned long writemask);
200long alpha_fp_emul (unsigned long pc); 202long alpha_fp_emul (unsigned long pc);
diff --git a/arch/alpha/math-emu/math.c b/arch/alpha/math-emu/math.c
index d17d705f6545..1c2d456da7f2 100644
--- a/arch/alpha/math-emu/math.c
+++ b/arch/alpha/math-emu/math.c
@@ -53,6 +53,7 @@ extern void alpha_write_fp_reg_s (unsigned long reg, unsigned long val);
53#ifdef MODULE 53#ifdef MODULE
54 54
55MODULE_DESCRIPTION("FP Software completion module"); 55MODULE_DESCRIPTION("FP Software completion module");
56MODULE_LICENSE("GPL v2");
56 57
57extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long); 58extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long);
58extern long (*alpha_fp_emul) (unsigned long pc); 59extern long (*alpha_fp_emul) (unsigned long pc);