mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-04 16:15:11 +00:00
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
This commit is contained in:
commit
6caffe21dd
15 changed files with 40 additions and 49 deletions
|
@ -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
|
||||||
|
|
|
@ -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
arch/alpha/include/asm/asm-prototypes.h
Normal file
18
arch/alpha/include/asm/asm-prototypes.h
Normal file
|
@ -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);
|
|
@ -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
|
||||||
|
|
|
@ -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_ */
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -42,11 +42,7 @@ alloc_pci_controller(void)
|
||||||
struct resource * __init
|
struct resource * __init
|
||||||
alloc_resource(void)
|
alloc_resource(void)
|
||||||
{
|
{
|
||||||
struct resource *res;
|
return alloc_bootmem(sizeof(struct resource));
|
||||||
|
|
||||||
res = alloc_bootmem(sizeof(*res));
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage long
|
asmlinkage long
|
||||||
|
|
|
@ -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 pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj));
|
||||||
struct device, 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;
|
||||||
|
|
||||||
|
|
|
@ -379,11 +379,7 @@ alloc_pci_controller(void)
|
||||||
struct resource * __init
|
struct resource * __init
|
||||||
alloc_resource(void)
|
alloc_resource(void)
|
||||||
{
|
{
|
||||||
struct resource *res;
|
return alloc_bootmem(sizeof(struct resource));
|
||||||
|
|
||||||
res = alloc_bootmem(sizeof(*res));
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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))
|
if (member >= ARRAY_SIZE(eb164_indices))
|
||||||
*variation_name = eb164_names[eb164_indices[member]];
|
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)
|
||||||
|
|
|
@ -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);
|
||||||
|
return rb(&SMC37c669->data_port);
|
||||||
wb( &SMC37c669->index_port, index );
|
|
||||||
data = rb( &SMC37c669->data_port );
|
|
||||||
return data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue