Browse Source

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
Linus Torvalds 8 years ago
parent
commit
6caffe21dd

+ 0 - 2
arch/alpha/defconfig

@@ -19,7 +19,6 @@ CONFIG_INET_AH=m
 CONFIG_INET_ESP=m
 CONFIG_INET_ESP=m
 # CONFIG_IPV6 is not set
 # CONFIG_IPV6 is not set
 CONFIG_NETFILTER=y
 CONFIG_NETFILTER=y
-CONFIG_IP_NF_QUEUE=m
 CONFIG_IP_NF_IPTABLES=m
 CONFIG_IP_NF_IPTABLES=m
 CONFIG_IP_NF_FILTER=m
 CONFIG_IP_NF_FILTER=m
 CONFIG_VLAN_8021Q=m
 CONFIG_VLAN_8021Q=m
@@ -57,7 +56,6 @@ CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_RTC=y
 CONFIG_RTC=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT2_FS=y
 CONFIG_REISERFS_FS=m
 CONFIG_REISERFS_FS=m
-CONFIG_AUTOFS_FS=m
 CONFIG_ISO9660_FS=y
 CONFIG_ISO9660_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
 CONFIG_VFAT_FS=y

+ 1 - 0
arch/alpha/include/asm/Kbuild

@@ -3,6 +3,7 @@
 generic-y += clkdev.h
 generic-y += clkdev.h
 generic-y += exec.h
 generic-y += exec.h
 generic-y += export.h
 generic-y += export.h
+generic-y += fb.h
 generic-y += irq_work.h
 generic-y += irq_work.h
 generic-y += mcs_spinlock.h
 generic-y += mcs_spinlock.h
 generic-y += mm-arch-hooks.h
 generic-y += mm-arch-hooks.h

+ 18 - 0
arch/alpha/include/asm/asm-prototypes.h

@@ -0,0 +1,18 @@
+#include <linux/spinlock.h>
+
+#include <asm/checksum.h>
+#include <asm/console.h>
+#include <asm/page.h>
+#include <asm/string.h>
+#include <asm/uaccess.h>
+
+#include <asm-generic/asm-prototypes.h>
+
+extern void __divl(void);
+extern void __reml(void);
+extern void __divq(void);
+extern void __remq(void);
+extern void __divlu(void);
+extern void __remlu(void);
+extern void __divqu(void);
+extern void __remqu(void);

+ 1 - 1
arch/alpha/include/asm/core_marvel.h

@@ -312,7 +312,7 @@ struct io7 {
 	io7_port7_csrs *csrs;
 	io7_port7_csrs *csrs;
 	struct io7_port ports[IO7_NUM_PORTS];
 	struct io7_port ports[IO7_NUM_PORTS];
 
 
-	spinlock_t irq_lock;
+	raw_spinlock_t irq_lock;
 };
 };
 
 
 #ifndef __EXTERN_INLINE
 #ifndef __EXTERN_INLINE

+ 0 - 13
arch/alpha/include/asm/fb.h

@@ -1,13 +0,0 @@
-#ifndef _ASM_FB_H_
-#define _ASM_FB_H_
-#include <linux/device.h>
-
-/* Caching is off in the I/O space quadrant by design.  */
-#define fb_pgprotect(...) do {} while (0)
-
-static inline int fb_is_primary_device(struct fb_info *info)
-{
-	return 0;
-}
-
-#endif /* _ASM_FB_H_ */

+ 0 - 5
arch/alpha/include/uapi/asm/unistd.h

@@ -366,11 +366,6 @@
 #define __NR_epoll_create		407
 #define __NR_epoll_create		407
 #define __NR_epoll_ctl			408
 #define __NR_epoll_ctl			408
 #define __NR_epoll_wait			409
 #define __NR_epoll_wait			409
-/* Feb 2007: These three sys_epoll defines shouldn't be here but culling
- * them would break userspace apps ... we'll kill them off in 2010 :) */
-#define __NR_sys_epoll_create		__NR_epoll_create
-#define __NR_sys_epoll_ctl		__NR_epoll_ctl
-#define __NR_sys_epoll_wait		__NR_epoll_wait
 #define __NR_remap_file_pages		410
 #define __NR_remap_file_pages		410
 #define __NR_set_tid_address		411
 #define __NR_set_tid_address		411
 #define __NR_restart_syscall		412
 #define __NR_restart_syscall		412

+ 1 - 1
arch/alpha/kernel/core_marvel.c

@@ -118,7 +118,7 @@ alloc_io7(unsigned int pe)
 
 
 	io7 = alloc_bootmem(sizeof(*io7));
 	io7 = alloc_bootmem(sizeof(*io7));
 	io7->pe = pe;
 	io7->pe = pe;
-	spin_lock_init(&io7->irq_lock);
+	raw_spin_lock_init(&io7->irq_lock);
 
 
 	for (h = 0; h < 4; h++) {
 	for (h = 0; h < 4; h++) {
 		io7->ports[h].io7 = io7;
 		io7->ports[h].io7 = io7;

+ 1 - 5
arch/alpha/kernel/pci-noop.c

@@ -42,11 +42,7 @@ alloc_pci_controller(void)
 struct resource * __init
 struct resource * __init
 alloc_resource(void)
 alloc_resource(void)
 {
 {
-	struct resource *res;
-
-	res = alloc_bootmem(sizeof(*res));
-
-	return res;
+	return alloc_bootmem(sizeof(struct resource));
 }
 }
 
 
 asmlinkage long
 asmlinkage long

+ 3 - 4
arch/alpha/kernel/pci-sysfs.c

@@ -38,7 +38,7 @@ static int __pci_mmap_fits(struct pci_dev *pdev, int num,
 	unsigned long nr, start, size;
 	unsigned long nr, start, size;
 	int shift = sparse ? 5 : 0;
 	int shift = sparse ? 5 : 0;
 
 
-	nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+	nr = vma_pages(vma);
 	start = vma->vm_pgoff;
 	start = vma->vm_pgoff;
 	size = ((pci_resource_len(pdev, num) - 1) >> (PAGE_SHIFT - shift)) + 1;
 	size = ((pci_resource_len(pdev, num) - 1) >> (PAGE_SHIFT - shift)) + 1;
 
 
@@ -64,8 +64,7 @@ static int pci_mmap_resource(struct kobject *kobj,
 			     struct bin_attribute *attr,
 			     struct bin_attribute *attr,
 			     struct vm_area_struct *vma, int sparse)
 			     struct vm_area_struct *vma, int sparse)
 {
 {
-	struct pci_dev *pdev = to_pci_dev(container_of(kobj,
-						       struct device, kobj));
+	struct pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj));
 	struct resource *res = attr->private;
 	struct resource *res = attr->private;
 	enum pci_mmap_state mmap_type;
 	enum pci_mmap_state mmap_type;
 	struct pci_bus_region bar;
 	struct pci_bus_region bar;
@@ -255,7 +254,7 @@ static int __legacy_mmap_fits(struct pci_controller *hose,
 {
 {
 	unsigned long nr, start, size;
 	unsigned long nr, start, size;
 
 
-	nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+	nr = vma_pages(vma);
 	start = vma->vm_pgoff;
 	start = vma->vm_pgoff;
 	size = ((res_size - 1) >> PAGE_SHIFT) + 1;
 	size = ((res_size - 1) >> PAGE_SHIFT) + 1;
 
 

+ 1 - 5
arch/alpha/kernel/pci.c

@@ -379,11 +379,7 @@ alloc_pci_controller(void)
 struct resource * __init
 struct resource * __init
 alloc_resource(void)
 alloc_resource(void)
 {
 {
-	struct resource *res;
-
-	res = alloc_bootmem(sizeof(*res));
-
-	return res;
+	return alloc_bootmem(sizeof(struct resource));
 }
 }
 
 
 
 

+ 3 - 2
arch/alpha/kernel/setup.c

@@ -1094,8 +1094,9 @@ get_sysnames(unsigned long type, unsigned long variation, unsigned long cpu,
 	default: /* default to variation "0" for now */
 	default: /* default to variation "0" for now */
 		break;
 		break;
 	case ST_DEC_EB164:
 	case ST_DEC_EB164:
-		if (member < ARRAY_SIZE(eb164_indices))
-			*variation_name = eb164_names[eb164_indices[member]];
+		if (member >= ARRAY_SIZE(eb164_indices))
+			break;
+		*variation_name = eb164_names[eb164_indices[member]];
 		/* PC164 may show as EB164 variation, but with EV56 CPU,
 		/* PC164 may show as EB164 variation, but with EV56 CPU,
 		   so, since no true EB164 had anything but EV5... */
 		   so, since no true EB164 had anything but EV5... */
 		if (eb164_indices[member] == 0 && cpu == EV56_CPU)
 		if (eb164_indices[member] == 0 && cpu == EV56_CPU)

+ 2 - 5
arch/alpha/kernel/smc37c669.c

@@ -2007,11 +2007,8 @@ static void __init SMC37c669_config_mode(
 static unsigned char __init SMC37c669_read_config( 
 static unsigned char __init SMC37c669_read_config( 
     unsigned char index )
     unsigned char index )
 {
 {
-    unsigned char data;
-
-    wb( &SMC37c669->index_port, index );
-    data = rb( &SMC37c669->data_port );
-    return data;
+	wb(&SMC37c669->index_port, index);
+	return rb(&SMC37c669->data_port);
 }
 }
 
 
 /*
 /*

+ 6 - 6
arch/alpha/kernel/sys_marvel.c

@@ -115,11 +115,11 @@ io7_enable_irq(struct irq_data *d)
 		return;
 		return;
 	}
 	}
 
 
-	spin_lock(&io7->irq_lock);
+	raw_spin_lock(&io7->irq_lock);
 	*ctl |= 1UL << 24;
 	*ctl |= 1UL << 24;
 	mb();
 	mb();
 	*ctl;
 	*ctl;
-	spin_unlock(&io7->irq_lock);
+	raw_spin_unlock(&io7->irq_lock);
 }
 }
 
 
 static void
 static void
@@ -136,11 +136,11 @@ io7_disable_irq(struct irq_data *d)
 		return;
 		return;
 	}
 	}
 
 
-	spin_lock(&io7->irq_lock);
+	raw_spin_lock(&io7->irq_lock);
 	*ctl &= ~(1UL << 24);
 	*ctl &= ~(1UL << 24);
 	mb();
 	mb();
 	*ctl;
 	*ctl;
-	spin_unlock(&io7->irq_lock);
+	raw_spin_unlock(&io7->irq_lock);
 }
 }
 
 
 static void
 static void
@@ -263,7 +263,7 @@ init_io7_irqs(struct io7 *io7,
 	 */
 	 */
 	printk("  Interrupts reported to CPU at PE %u\n", boot_cpuid);
 	printk("  Interrupts reported to CPU at PE %u\n", boot_cpuid);
 
 
-	spin_lock(&io7->irq_lock);
+	raw_spin_lock(&io7->irq_lock);
 
 
 	/* set up the error irqs */
 	/* set up the error irqs */
 	io7_redirect_irq(io7, &io7->csrs->HLT_CTL.csr, boot_cpuid);
 	io7_redirect_irq(io7, &io7->csrs->HLT_CTL.csr, boot_cpuid);
@@ -295,7 +295,7 @@ init_io7_irqs(struct io7 *io7,
 	for (i = 0; i < 16; ++i)
 	for (i = 0; i < 16; ++i)
 		init_one_io7_msi(io7, i, boot_cpuid);
 		init_one_io7_msi(io7, i, boot_cpuid);
 
 
-	spin_unlock(&io7->irq_lock);
+	raw_spin_unlock(&io7->irq_lock);
 }
 }
 
 
 static void __init
 static void __init

+ 2 - 0
arch/alpha/kernel/traps.c

@@ -193,8 +193,10 @@ die_if_kernel(char * str, struct pt_regs *regs, long err, unsigned long *r9_15)
 static long dummy_emul(void) { return 0; }
 static long dummy_emul(void) { return 0; }
 long (*alpha_fp_emul_imprecise)(struct pt_regs *regs, unsigned long writemask)
 long (*alpha_fp_emul_imprecise)(struct pt_regs *regs, unsigned long writemask)
   = (void *)dummy_emul;
   = (void *)dummy_emul;
+EXPORT_SYMBOL_GPL(alpha_fp_emul_imprecise);
 long (*alpha_fp_emul) (unsigned long pc)
 long (*alpha_fp_emul) (unsigned long pc)
   = (void *)dummy_emul;
   = (void *)dummy_emul;
+EXPORT_SYMBOL_GPL(alpha_fp_emul);
 #else
 #else
 long alpha_fp_emul_imprecise(struct pt_regs *regs, unsigned long writemask);
 long alpha_fp_emul_imprecise(struct pt_regs *regs, unsigned long writemask);
 long alpha_fp_emul (unsigned long pc);
 long alpha_fp_emul (unsigned long pc);

+ 1 - 0
arch/alpha/math-emu/math.c

@@ -53,6 +53,7 @@ extern void alpha_write_fp_reg_s (unsigned long reg, unsigned long val);
 #ifdef MODULE
 #ifdef MODULE
 
 
 MODULE_DESCRIPTION("FP Software completion module");
 MODULE_DESCRIPTION("FP Software completion module");
+MODULE_LICENSE("GPL v2");
 
 
 extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long);
 extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long);
 extern long (*alpha_fp_emul) (unsigned long pc);
 extern long (*alpha_fp_emul) (unsigned long pc);